cmat 0.0.13 → 0.0.15

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 (291) hide show
  1. package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.d.ts +0 -1
  2. package/components/cascade/cascade-list/cascade-list.component.d.ts +3 -3
  3. package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
  4. package/components/cascade/options.interface.d.ts +1 -1
  5. package/components/chip-input/chip-input.component.d.ts +0 -1
  6. package/components/custom-formly/public-api.d.ts +1 -0
  7. package/components/custom-formly/types/multicheckbox/multicheckbox.component.d.ts +0 -1
  8. package/components/custom-formly/types/quill/quill.component.d.ts +42 -0
  9. package/components/custom-formly/types/radio/radio.component.d.ts +0 -1
  10. package/components/custom-formly/types/repeat/repeat.component.d.ts +0 -1
  11. package/components/custom-formly/types/select/select.component.d.ts +0 -1
  12. package/components/custom-formly/types/stepper/horizontal/stepper.component.d.ts +0 -1
  13. package/components/custom-formly/types/stepper/vertical/stepper.component.d.ts +0 -1
  14. package/components/custom-formly/types/table/table.component.d.ts +2 -3
  15. package/components/custom-formly/types/tabs/tab.component.d.ts +0 -1
  16. package/components/custom-formly/types/tags/tags.component.d.ts +0 -1
  17. package/components/material-color-picker/material-color-picker.component.d.ts +0 -1
  18. package/components/material-datetimepicker/calendar-body.d.ts +0 -1
  19. package/components/material-datetimepicker/calendar.d.ts +3 -4
  20. package/components/material-datetimepicker/clock.d.ts +2 -3
  21. package/components/material-datetimepicker/datetimepicker.d.ts +3 -4
  22. package/components/material-datetimepicker/month-view.d.ts +0 -1
  23. package/components/navigation/navigation.types.d.ts +1 -1
  24. package/components/pagination/pagination.component.d.ts +0 -1
  25. package/components/password-strength/mat-password-strength-validator.d.ts +1 -1
  26. package/components/popover/popover.component.d.ts +4 -7
  27. package/components/popover/popover.interfaces.d.ts +1 -2
  28. package/components/select-tree/select-tree.component.d.ts +0 -1
  29. package/components/timeline/timeline.component.d.ts +4 -6
  30. package/components/transfer-picker/filter/filter.component.d.ts +1 -2
  31. package/components/transfer-picker/interface.d.ts +4 -4
  32. package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +2 -2
  33. package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.d.ts +1 -2
  34. package/components/transfer-picker/transfer-picker.component.d.ts +5 -5
  35. package/components/transfer-picker/transfer-picker.service.d.ts +6 -6
  36. package/components/upload/upload-queue/upload-queue.component.d.ts +1 -1
  37. package/directives/digit-only/mask.directive.d.ts +2 -0
  38. package/directives/equal-validator/equal-validator.directive.d.ts +1 -3
  39. package/esm2022/components/adapter/datetime-adapter.mjs +1 -1
  40. package/esm2022/components/adapter/dayjs-date-adapter.mjs +5 -5
  41. package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +4 -4
  42. package/esm2022/components/adapter/native-datetime-adapter.mjs +4 -4
  43. package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
  44. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +6 -6
  45. package/esm2022/components/breadcrumb/breadcrumb.service.mjs +9 -12
  46. package/esm2022/components/card/card.component.mjs +4 -4
  47. package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -8
  48. package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +12 -10
  49. package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -8
  50. package/esm2022/components/cascade/options.interface.mjs +1 -1
  51. package/esm2022/components/chip-input/chip-input.component.mjs +10 -11
  52. package/esm2022/components/custom-formly/extension/addons.extension.mjs +2 -2
  53. package/esm2022/components/custom-formly/public-api.mjs +2 -1
  54. package/esm2022/components/custom-formly/types/button/button.component.mjs +4 -4
  55. package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +4 -4
  56. package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +5 -5
  57. package/esm2022/components/custom-formly/types/chips/chips.component.mjs +5 -5
  58. package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +3 -3
  59. package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +3 -3
  60. package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +5 -5
  61. package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +4 -5
  62. package/esm2022/components/custom-formly/types/number/number.component.mjs +5 -5
  63. package/esm2022/components/custom-formly/types/quill/quill.component.mjs +171 -0
  64. package/esm2022/components/custom-formly/types/radio/radio.component.mjs +5 -6
  65. package/esm2022/components/custom-formly/types/rating/rating.component.mjs +3 -3
  66. package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +5 -8
  67. package/esm2022/components/custom-formly/types/select/select.component.mjs +5 -8
  68. package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +4 -4
  69. package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +5 -8
  70. package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +5 -8
  71. package/esm2022/components/custom-formly/types/table/table.component.mjs +5 -8
  72. package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +5 -8
  73. package/esm2022/components/custom-formly/types/tags/tags.component.mjs +7 -10
  74. package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +3 -3
  75. package/esm2022/components/custom-formly/types/upload/upload.component.mjs +4 -4
  76. package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +4 -4
  77. package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +3 -3
  78. package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +5 -5
  79. package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +3 -3
  80. package/esm2022/components/date-range/date-range.component.mjs +20 -15
  81. package/esm2022/components/drawer/drawer.component.mjs +4 -4
  82. package/esm2022/components/drawer/drawer.service.mjs +3 -3
  83. package/esm2022/components/fullscreen/fullscreen.component.mjs +5 -5
  84. package/esm2022/components/highlight/highlight.component.mjs +4 -4
  85. package/esm2022/components/highlight/highlight.service.mjs +4 -4
  86. package/esm2022/components/json-editor/json-editor.component.mjs +10 -10
  87. package/esm2022/components/masonry/masonry.component.mjs +4 -4
  88. package/esm2022/components/material-color-picker/material-color-picker.component.mjs +7 -8
  89. package/esm2022/components/material-datetimepicker/calendar-body.mjs +6 -9
  90. package/esm2022/components/material-datetimepicker/calendar.mjs +9 -15
  91. package/esm2022/components/material-datetimepicker/clock.mjs +5 -8
  92. package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +7 -5
  93. package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
  94. package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +9 -9
  95. package/esm2022/components/material-datetimepicker/datetimepicker.mjs +14 -15
  96. package/esm2022/components/material-datetimepicker/month-view.mjs +5 -8
  97. package/esm2022/components/material-datetimepicker/multi-year-view.mjs +5 -5
  98. package/esm2022/components/material-datetimepicker/time.mjs +10 -10
  99. package/esm2022/components/material-datetimepicker/year-view.mjs +5 -5
  100. package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +5 -5
  101. package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +5 -5
  102. package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
  103. package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
  104. package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -5
  105. package/esm2022/components/navigation/navigation.service.mjs +4 -4
  106. package/esm2022/components/navigation/navigation.types.mjs +1 -1
  107. package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +5 -5
  108. package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +3 -3
  109. package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +5 -5
  110. package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +3 -3
  111. package/esm2022/components/navigation/vertical/components/group/group.component.mjs +5 -5
  112. package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +5 -5
  113. package/esm2022/components/navigation/vertical/vertical.component.mjs +5 -5
  114. package/esm2022/components/pagination/pagination.component.mjs +5 -8
  115. package/esm2022/components/pagination/pagination.directive.mjs +4 -4
  116. package/esm2022/components/pagination/pagination.pipe.mjs +5 -5
  117. package/esm2022/components/pagination/pagination.service.mjs +4 -4
  118. package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +5 -5
  119. package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +6 -6
  120. package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +5 -5
  121. package/esm2022/components/password-strength/mat-password-strength-validator.mjs +2 -2
  122. package/esm2022/components/popover/popover-trigger.mjs +6 -8
  123. package/esm2022/components/popover/popover.component.mjs +8 -9
  124. package/esm2022/components/popover/popover.interfaces.mjs +1 -1
  125. package/esm2022/components/popover/popover.target.mjs +3 -3
  126. package/esm2022/components/progress-bar/progress-bar.component.mjs +4 -4
  127. package/esm2022/components/rating/rating.component.mjs +11 -7
  128. package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
  129. package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
  130. package/esm2022/components/select-search/select-search.component.mjs +9 -9
  131. package/esm2022/components/select-tree/select-tree.component.mjs +10 -11
  132. package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +11 -11
  133. package/esm2022/components/timeline/timeline.component.mjs +8 -15
  134. package/esm2022/components/toast/toast-modal.component.mjs +5 -5
  135. package/esm2022/components/toast/toast.component.mjs +6 -6
  136. package/esm2022/components/toast/toast.service.mjs +10 -10
  137. package/esm2022/components/transfer-picker/filter/filter.component.mjs +6 -9
  138. package/esm2022/components/transfer-picker/interface.mjs +1 -1
  139. package/esm2022/components/transfer-picker/search/search.component.mjs +3 -3
  140. package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +4 -4
  141. package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +5 -8
  142. package/esm2022/components/transfer-picker/transfer-picker.component.mjs +4 -4
  143. package/esm2022/components/transfer-picker/transfer-picker.service.mjs +8 -8
  144. package/esm2022/components/upload/files.util.service.mjs +4 -4
  145. package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +8 -8
  146. package/esm2022/components/upload/upload.component.mjs +5 -5
  147. package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +4 -4
  148. package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
  149. package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
  150. package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
  151. package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
  152. package/esm2022/directives/debounce/debounce-keyup.directive.mjs +3 -3
  153. package/esm2022/directives/digit-only/digit-only.directive.mjs +6 -6
  154. package/esm2022/directives/digit-only/mask.directive.mjs +20 -5
  155. package/esm2022/directives/equal-validator/equal-validator.directive.mjs +4 -4
  156. package/esm2022/lib/mock-api/mock-api.interceptor.mjs +4 -4
  157. package/esm2022/lib/mock-api/mock-api.request-handler.mjs +1 -1
  158. package/esm2022/lib/mock-api/mock-api.service.mjs +4 -4
  159. package/esm2022/lib/mock-api/mock-api.types.mjs +1 -1
  160. package/esm2022/lib/mock-api/mock-api.utils.mjs +1 -2
  161. package/esm2022/pipes/bytes/bytes.pipe.mjs +4 -4
  162. package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
  163. package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +4 -4
  164. package/esm2022/pipes/group-by/group-by.pipe.mjs +4 -4
  165. package/esm2022/pipes/keys/keys.pipe.mjs +4 -4
  166. package/esm2022/pipes/secure/secure-pipe.mjs +3 -3
  167. package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
  168. package/esm2022/public-api.mjs +1 -1
  169. package/esm2022/services/alert/alert.service.mjs +11 -10
  170. package/esm2022/services/config/config.service.mjs +3 -3
  171. package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
  172. package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
  173. package/esm2022/services/confirmation/dialog/dialog.component.mjs +3 -3
  174. package/esm2022/services/data/data.service.mjs +4 -4
  175. package/esm2022/services/loading/loading.interceptor.mjs +4 -4
  176. package/esm2022/services/loading/loading.service.mjs +4 -4
  177. package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
  178. package/esm2022/services/media-watcher/media-watcher.service.mjs +4 -4
  179. package/esm2022/services/platform/platform.service.mjs +4 -4
  180. package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
  181. package/esm2022/services/title/title.service.mjs +4 -4
  182. package/esm2022/services/translation/translation.service.mjs +4 -4
  183. package/esm2022/services/utils/utils.service.mjs +9 -11
  184. package/esm2022/validators/validators.mjs +1 -1
  185. package/fesm2022/cmat-animations.mjs +1 -1
  186. package/fesm2022/cmat-components-adapter.mjs +10 -10
  187. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  188. package/fesm2022/cmat-components-breadcrumb.mjs +16 -19
  189. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  190. package/fesm2022/cmat-components-card.mjs +3 -3
  191. package/fesm2022/cmat-components-card.mjs.map +1 -1
  192. package/fesm2022/cmat-components-cascade.mjs +19 -23
  193. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  194. package/fesm2022/cmat-components-chip-input.mjs +9 -10
  195. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  196. package/fesm2022/cmat-components-custom-formly.mjs +257 -115
  197. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  198. package/fesm2022/cmat-components-date-range.mjs +20 -15
  199. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  200. package/fesm2022/cmat-components-drawer.mjs +7 -7
  201. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  202. package/fesm2022/cmat-components-fullscreen.mjs +4 -4
  203. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  204. package/fesm2022/cmat-components-highlight.mjs +6 -6
  205. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  206. package/fesm2022/cmat-components-json-editor.mjs +9 -9
  207. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  208. package/fesm2022/cmat-components-masonry.mjs +3 -3
  209. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  210. package/fesm2022/cmat-components-material-color-picker.mjs +6 -7
  211. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  212. package/fesm2022/cmat-components-material-datetimepicker.mjs +70 -83
  213. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  214. package/fesm2022/cmat-components-navigation.mjs +48 -48
  215. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  216. package/fesm2022/cmat-components-pagination.mjs +14 -17
  217. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  218. package/fesm2022/cmat-components-password-strength.mjs +15 -15
  219. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  220. package/fesm2022/cmat-components-popover.mjs +15 -18
  221. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  222. package/fesm2022/cmat-components-progress-bar.mjs +3 -3
  223. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  224. package/fesm2022/cmat-components-rating.mjs +9 -5
  225. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  226. package/fesm2022/cmat-components-select-search.mjs +15 -15
  227. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  228. package/fesm2022/cmat-components-select-tree.mjs +9 -10
  229. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  230. package/fesm2022/cmat-components-timeline.mjs +17 -24
  231. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  232. package/fesm2022/cmat-components-toast.mjs +18 -18
  233. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  234. package/fesm2022/cmat-components-transfer-picker.mjs +25 -31
  235. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  236. package/fesm2022/cmat-components-upload.mjs +14 -14
  237. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  238. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
  239. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  240. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  241. package/fesm2022/cmat-directives-debounce.mjs +9 -9
  242. package/fesm2022/cmat-directives-digit-only.mjs +24 -9
  243. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  244. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  245. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  246. package/fesm2022/cmat-lib-mock-api.mjs +7 -8
  247. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  248. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  249. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  250. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  251. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  252. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  253. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  254. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  255. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  256. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  257. package/fesm2022/cmat-pipes-secure.mjs +3 -3
  258. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  259. package/fesm2022/cmat-services-alert.mjs +10 -9
  260. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  261. package/fesm2022/cmat-services-config.mjs +7 -7
  262. package/fesm2022/cmat-services-config.mjs.map +1 -1
  263. package/fesm2022/cmat-services-confirmation.mjs +6 -6
  264. package/fesm2022/cmat-services-data.mjs +3 -3
  265. package/fesm2022/cmat-services-data.mjs.map +1 -1
  266. package/fesm2022/cmat-services-loading.mjs +6 -6
  267. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  268. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  269. package/fesm2022/cmat-services-media-watcher.mjs +3 -3
  270. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  271. package/fesm2022/cmat-services-platform.mjs +3 -3
  272. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  273. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  274. package/fesm2022/cmat-services-title.mjs +3 -3
  275. package/fesm2022/cmat-services-title.mjs.map +1 -1
  276. package/fesm2022/cmat-services-translation.mjs +3 -3
  277. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  278. package/fesm2022/cmat-services-utils.mjs +8 -10
  279. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  280. package/fesm2022/cmat-validators.mjs.map +1 -1
  281. package/lib/mock-api/mock-api.request-handler.d.ts +1 -3
  282. package/lib/mock-api/mock-api.service.d.ts +1 -3
  283. package/lib/mock-api/mock-api.types.d.ts +2 -4
  284. package/package.json +76 -67
  285. package/pipes/group-by/group-by.pipe.d.ts +1 -1
  286. package/services/config/urlStateConfig.service.d.ts +0 -1
  287. package/services/translation/translation.service.d.ts +2 -2
  288. package/services/utils/utils.service.d.ts +5 -7
  289. package/styles/overrides/angular-material.scss +0 -1
  290. package/styles/overrides/quill.scss +102 -0
  291. package/styles/themes.scss +19 -19
@@ -41,15 +41,12 @@ export class CmatPaginationComponent {
41
41
  this._changeDetectorRef.markForCheck();
42
42
  });
43
43
  }
44
- trackByIndex(index) {
45
- return index;
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationComponent, deps: [{ token: i1.CmatMediaWatcherService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.9", type: CmatPaginationComponent, isStandalone: true, selector: "cmat-pagination", inputs: { id: "id", maxSize: "maxSize", itemsPerPages: "itemsPerPages", initPerPage: "initPerPage", autoHide: "autoHide" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection", perPageCountChange: "perPageCountChange" }, exportAs: ["cmatPagination"], ngImport: i0, template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"isScreenSmall&&maxSize>5?5:maxSize\"\n (pageChange)=\"pageChange.emit($event)\" class=\"w-full px-4 py-2 flex\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\" (perPageCountChange)=\"perPageCountChange.emit($event)\">\n <div class=\"hidden md:flex flex-auto items-center\">\n <span>\u603B\u8BA1:{{p.getTotalItems()}}</span>\n </div>\n <nav role=\"navigation\" class=\"flex min-h-12 w-full md:w-0\">\n @if (!(autoHide && p.pages.length <= 1)) {\n <ul\n class=\"flex flex-row space-x-6 items-center justify-center md:justify-end w-full\">\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.goFirstPage()\"\n [disabled]=\"p.getCurrent()===1\">\n <mat-icon svgIcon=\"mat_outline:first_page\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.previous()\"\n [disabled]=\"p.getCurrent()===1\">\n <mat-icon svgIcon=\"mat_outline:navigate_before\"></mat-icon>\n </button>\n </li>\n @for (page of p.pages; track trackByIndex($index)) {\n <li class=\"flex text-xl lg:text-2xl\">\n @if (p.getCurrent() !== page.value) {\n <a tabindex=\"0\" (click)=\"p.setCurrent(page.value)\"\n role=\"presentation\" class=\"cursor-pointer text-gray-400 hover:text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n }\n @if (p.getCurrent() === page.value) {\n <span class=\"text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </span>\n }\n </li>\n }\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.next()\"\n [disabled]=\"p.getCurrent()===p.getLastPage()\">\n <mat-icon svgIcon=\"mat_outline:navigate_next\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.goLastPage()\"\n [disabled]=\"p.getCurrent()===p.getLastPage()\">\n <mat-icon svgIcon=\"mat_outline:last_page\"></mat-icon>\n </button>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field [ngStyle]=\"{'width':((p.getLastPage()?.toString()?.length||0)*8+64)+'px'}\">\n <input matInput #current [value]=\"p.getCurrent()\" [autocomplete]=\"'off'\" [min]=\"0\"\n [max]=\"p.getLastPage()||0\" type=\"text\" cmatDigitOnly class=\"text-end\"\n (keyup.enter)=\"p.setCurrent(current.value)\">\n <span matSuffix>/<div class=\"pl-1\">{{p.getLastPage()}}</div></span>\n </mat-form-field>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field class=\"w-24\">\n <mat-select name=\"pageCount\" #pageCount [value]=\"initPerPage\"\n (selectionChange)=\"p.setItemsPerPage(pageCount.value)\">\n @for (perPage of itemsPerPages; track perPage) {\n <mat-option [value]=\"perPage\">\n {{perPage}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </li>\n </ul>\n }\n </nav>\n </pagination-template>", dependencies: [{ kind: "directive", type: CmatPaginationDirective, selector: "pagination-template,[pagination-template]", inputs: ["id", "maxSize"], outputs: ["pageChange", "pageBoundsCorrection", "perPageCountChange"], exportAs: ["paginationApi"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CmatDigitOnlyDirective, selector: "[cmatDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationComponent, deps: [{ token: i1.CmatMediaWatcherService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
45
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CmatPaginationComponent, isStandalone: true, selector: "cmat-pagination", inputs: { id: "id", maxSize: "maxSize", itemsPerPages: "itemsPerPages", initPerPage: "initPerPage", autoHide: "autoHide" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection", perPageCountChange: "perPageCountChange" }, exportAs: ["cmatPagination"], ngImport: i0, template: "<pagination-template #p=\"paginationApi\" class=\"w-full px-4 py-2 flex\" [id]=\"id\"\n [maxSize]=\"isScreenSmall&&maxSize>5?5:maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\" (perPageCountChange)=\"perPageCountChange.emit($event)\">\n <div class=\"hidden md:flex flex-auto items-center\">\n <span>\u603B\u8BA1:{{p.getTotalItems()}}</span>\n </div>\n <nav role=\"navigation\" class=\"flex min-h-12 w-full md:w-0\">\n @if (!(autoHide && p.pages.length <= 1)) {\n <ul\n class=\"flex flex-row space-x-6 items-center justify-center md:justify-end w-full\">\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===1\"\n (click)=\"p.goFirstPage()\">\n <mat-icon svgIcon=\"mat_outline:first_page\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===1\"\n (click)=\"p.previous()\">\n <mat-icon svgIcon=\"mat_outline:navigate_before\"></mat-icon>\n </button>\n </li>\n @for (page of p.pages; track $index) {\n <li class=\"flex text-xl lg:text-2xl\">\n @if (p.getCurrent() !== page.value) {\n <a tabindex=\"0\" role=\"presentation\"\n class=\"cursor-pointer text-gray-400 hover:text-black\" (click)=\"p.setCurrent(page.value)\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n }\n @if (p.getCurrent() === page.value) {\n <span class=\"text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </span>\n }\n </li>\n }\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===p.getLastPage()\"\n (click)=\"p.next()\">\n <mat-icon svgIcon=\"mat_outline:navigate_next\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===p.getLastPage()\"\n (click)=\"p.goLastPage()\">\n <mat-icon svgIcon=\"mat_outline:last_page\"></mat-icon>\n </button>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field [ngStyle]=\"{'width':((p.getLastPage()?.toString()?.length||0)*8+64)+'px'}\">\n <input #current matInput type=\"text\" cmatDigitOnly class=\"text-end\"\n [value]=\"p.getCurrent()\" [autocomplete]=\"'off'\" [min]=\"0\" [max]=\"p.getLastPage()||0\"\n (keyup.enter)=\"p.setCurrent(current.value)\">\n <span matSuffix>/<div class=\"pl-1\">{{p.getLastPage()}}</div></span>\n </mat-form-field>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field class=\"w-24\">\n <mat-select #pageCount name=\"pageCount\" [value]=\"initPerPage\"\n (selectionChange)=\"p.setItemsPerPage(pageCount.value)\">\n @for (perPage of itemsPerPages; track perPage) {\n <mat-option [value]=\"perPage\">\n {{perPage}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </li>\n </ul>\n }\n </nav>\n </pagination-template>", dependencies: [{ kind: "directive", type: CmatPaginationDirective, selector: "pagination-template,[pagination-template]", inputs: ["id", "maxSize"], outputs: ["pageChange", "pageBoundsCorrection", "perPageCountChange"], exportAs: ["paginationApi"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CmatDigitOnlyDirective, selector: "[cmatDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
46
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationComponent, decorators: [{
51
48
  type: Component,
52
- args: [{ selector: 'cmat-pagination', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'cmatPagination', standalone: true, imports: [CmatPaginationDirective, MatIconModule, NgStyle, MatFormFieldModule, MatInputModule, CmatDigitOnlyDirective, MatSelectModule, DecimalPipe], template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"isScreenSmall&&maxSize>5?5:maxSize\"\n (pageChange)=\"pageChange.emit($event)\" class=\"w-full px-4 py-2 flex\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\" (perPageCountChange)=\"perPageCountChange.emit($event)\">\n <div class=\"hidden md:flex flex-auto items-center\">\n <span>\u603B\u8BA1:{{p.getTotalItems()}}</span>\n </div>\n <nav role=\"navigation\" class=\"flex min-h-12 w-full md:w-0\">\n @if (!(autoHide && p.pages.length <= 1)) {\n <ul\n class=\"flex flex-row space-x-6 items-center justify-center md:justify-end w-full\">\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.goFirstPage()\"\n [disabled]=\"p.getCurrent()===1\">\n <mat-icon svgIcon=\"mat_outline:first_page\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.previous()\"\n [disabled]=\"p.getCurrent()===1\">\n <mat-icon svgIcon=\"mat_outline:navigate_before\"></mat-icon>\n </button>\n </li>\n @for (page of p.pages; track trackByIndex($index)) {\n <li class=\"flex text-xl lg:text-2xl\">\n @if (p.getCurrent() !== page.value) {\n <a tabindex=\"0\" (click)=\"p.setCurrent(page.value)\"\n role=\"presentation\" class=\"cursor-pointer text-gray-400 hover:text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n }\n @if (p.getCurrent() === page.value) {\n <span class=\"text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </span>\n }\n </li>\n }\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.next()\"\n [disabled]=\"p.getCurrent()===p.getLastPage()\">\n <mat-icon svgIcon=\"mat_outline:navigate_next\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button (click)=\"p.goLastPage()\"\n [disabled]=\"p.getCurrent()===p.getLastPage()\">\n <mat-icon svgIcon=\"mat_outline:last_page\"></mat-icon>\n </button>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field [ngStyle]=\"{'width':((p.getLastPage()?.toString()?.length||0)*8+64)+'px'}\">\n <input matInput #current [value]=\"p.getCurrent()\" [autocomplete]=\"'off'\" [min]=\"0\"\n [max]=\"p.getLastPage()||0\" type=\"text\" cmatDigitOnly class=\"text-end\"\n (keyup.enter)=\"p.setCurrent(current.value)\">\n <span matSuffix>/<div class=\"pl-1\">{{p.getLastPage()}}</div></span>\n </mat-form-field>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field class=\"w-24\">\n <mat-select name=\"pageCount\" #pageCount [value]=\"initPerPage\"\n (selectionChange)=\"p.setItemsPerPage(pageCount.value)\">\n @for (perPage of itemsPerPages; track perPage) {\n <mat-option [value]=\"perPage\">\n {{perPage}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </li>\n </ul>\n }\n </nav>\n </pagination-template>" }]
49
+ args: [{ selector: 'cmat-pagination', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'cmatPagination', standalone: true, imports: [CmatPaginationDirective, MatIconModule, NgStyle, MatFormFieldModule, MatInputModule, CmatDigitOnlyDirective, MatSelectModule, DecimalPipe], template: "<pagination-template #p=\"paginationApi\" class=\"w-full px-4 py-2 flex\" [id]=\"id\"\n [maxSize]=\"isScreenSmall&&maxSize>5?5:maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\" (perPageCountChange)=\"perPageCountChange.emit($event)\">\n <div class=\"hidden md:flex flex-auto items-center\">\n <span>\u603B\u8BA1:{{p.getTotalItems()}}</span>\n </div>\n <nav role=\"navigation\" class=\"flex min-h-12 w-full md:w-0\">\n @if (!(autoHide && p.pages.length <= 1)) {\n <ul\n class=\"flex flex-row space-x-6 items-center justify-center md:justify-end w-full\">\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===1\"\n (click)=\"p.goFirstPage()\">\n <mat-icon svgIcon=\"mat_outline:first_page\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===1\"\n (click)=\"p.previous()\">\n <mat-icon svgIcon=\"mat_outline:navigate_before\"></mat-icon>\n </button>\n </li>\n @for (page of p.pages; track $index) {\n <li class=\"flex text-xl lg:text-2xl\">\n @if (p.getCurrent() !== page.value) {\n <a tabindex=\"0\" role=\"presentation\"\n class=\"cursor-pointer text-gray-400 hover:text-black\" (click)=\"p.setCurrent(page.value)\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n }\n @if (p.getCurrent() === page.value) {\n <span class=\"text-black\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </span>\n }\n </li>\n }\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===p.getLastPage()\"\n (click)=\"p.next()\">\n <mat-icon svgIcon=\"mat_outline:navigate_next\"></mat-icon>\n </button>\n </li>\n <li>\n <button type=\"button\" class=\"flex items-center\" mat-button mat-icon-button [disabled]=\"p.getCurrent()===p.getLastPage()\"\n (click)=\"p.goLastPage()\">\n <mat-icon svgIcon=\"mat_outline:last_page\"></mat-icon>\n </button>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field [ngStyle]=\"{'width':((p.getLastPage()?.toString()?.length||0)*8+64)+'px'}\">\n <input #current matInput type=\"text\" cmatDigitOnly class=\"text-end\"\n [value]=\"p.getCurrent()\" [autocomplete]=\"'off'\" [min]=\"0\" [max]=\"p.getLastPage()||0\"\n (keyup.enter)=\"p.setCurrent(current.value)\">\n <span matSuffix>/<div class=\"pl-1\">{{p.getLastPage()}}</div></span>\n </mat-form-field>\n </li>\n <li class=\"hidden md:block\">\n <mat-form-field class=\"w-24\">\n <mat-select #pageCount name=\"pageCount\" [value]=\"initPerPage\"\n (selectionChange)=\"p.setItemsPerPage(pageCount.value)\">\n @for (perPage of itemsPerPages; track perPage) {\n <mat-option [value]=\"perPage\">\n {{perPage}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n </li>\n </ul>\n }\n </nav>\n </pagination-template>" }]
53
50
  }], ctorParameters: () => [{ type: i1.CmatMediaWatcherService }, { type: i0.ChangeDetectorRef }], propDecorators: { pageChange: [{
54
51
  type: Output
55
52
  }], pageBoundsCorrection: [{
@@ -67,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
67
64
  }], autoHide: [{
68
65
  type: Input
69
66
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFXakUsTUFBTSxPQUFPLHVCQUF1QjtJQWdCaEMsWUFBb0Isd0JBQWlELEVBQVUsa0JBQXFDO1FBQWhHLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBZjFHLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCx5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RSx1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd2RSxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRXBCLGtCQUFhLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBSTFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUk3RCxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjO2FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs4R0F2Q1EsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb1dDcEJwQyxta0hBd0V3Qiw0Q0R0RFYsdUJBQXVCLG9OQUFFLGFBQWEsb0xBQUUsT0FBTywwRUFBRSxrQkFBa0IsMFdBQUUsY0FBYywyV0FBRSxzQkFBc0IsNktBQUUsZUFBZSwrcUJBQUUsV0FBVzs7MkZBRTFJLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxZQUMzQixnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDOzRIQUcxSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRUUsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBWUYsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjaW1hbFBpcGUsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ21hdERpZ2l0T25seURpcmVjdGl2ZSB9IGZyb20gJ2NtYXQvZGlyZWN0aXZlcy9kaWdpdC1vbmx5JztcclxuaW1wb3J0IHsgQ21hdE1lZGlhV2F0Y2hlclNlcnZpY2UgfSBmcm9tICdjbWF0L3NlcnZpY2VzL21lZGlhLXdhdGNoZXInO1xyXG5pbXBvcnQgeyBDbWF0UGFnaW5hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtcGFnaW5hdGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBleHBvcnRBczogJ2NtYXRQYWdpbmF0aW9uJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbQ21hdFBhZ2luYXRpb25EaXJlY3RpdmUsIE1hdEljb25Nb2R1bGUsIE5nU3R5bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIENtYXREaWdpdE9ubHlEaXJlY3RpdmUsIE1hdFNlbGVjdE1vZHVsZSwgRGVjaW1hbFBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0UGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAT3V0cHV0KCkgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAgIEBPdXRwdXQoKSBwZXJQYWdlQ291bnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG1heFNpemU6IG51bWJlciA9IDc7XHJcblxyXG4gICAgQElucHV0KCkgaXRlbXNQZXJQYWdlczogbnVtYmVyW10gPSBbMTAsIDIwLCAzMF07XHJcbiAgICBASW5wdXQoKSBpbml0UGVyUGFnZTogbnVtYmVyID0gMTA7XHJcblxyXG4gICAgaXNTY3JlZW5TbWFsbDogYm9vbGVhbjtcclxuXHJcbiAgICBwcml2YXRlIF9hdXRvSGlkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NtYXRNZWRpYVdhdGNoZXJTZXJ2aWNlOiBDbWF0TWVkaWFXYXRjaGVyU2VydmljZSwgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYXV0b0hpZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9IaWRlO1xyXG4gICAgfVxyXG4gICAgc2V0IGF1dG9IaWRlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fYXV0b0hpZGUgPSAhIXZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2NtYXRNZWRpYVdhdGNoZXJTZXJ2aWNlLm9uTWVkaWFDaGFuZ2UkXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgbWF0Y2hpbmdBbGlhc2VzIH0pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTY3JlZW5TbWFsbCA9ICFtYXRjaGluZ0FsaWFzZXMuaW5jbHVkZXMoJ21kJyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUluZGV4KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBpbmRleDtcclxuICAgIH1cclxufVxyXG4iLCI8cGFnaW5hdGlvbi10ZW1wbGF0ZSAjcD1cInBhZ2luYXRpb25BcGlcIiBbaWRdPVwiaWRcIiBbbWF4U2l6ZV09XCJpc1NjcmVlblNtYWxsJiZtYXhTaXplPjU/NTptYXhTaXplXCJcbiAgKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZS5lbWl0KCRldmVudClcIiBjbGFzcz1cInctZnVsbCBweC00IHB5LTIgZmxleFwiXG4gIChwYWdlQm91bmRzQ29ycmVjdGlvbik9XCJwYWdlQm91bmRzQ29ycmVjdGlvbi5lbWl0KCRldmVudClcIiAocGVyUGFnZUNvdW50Q2hhbmdlKT1cInBlclBhZ2VDb3VudENoYW5nZS5lbWl0KCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpmbGV4IGZsZXgtYXV0byBpdGVtcy1jZW50ZXJcIj5cbiAgICA8c3Bhbj7mgLvorqE6e3twLmdldFRvdGFsSXRlbXMoKX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPG5hdiByb2xlPVwibmF2aWdhdGlvblwiIGNsYXNzPVwiZmxleCBtaW4taC0xMiB3LWZ1bGwgbWQ6dy0wXCI+XG4gICAgQGlmICghKGF1dG9IaWRlICYmIHAucGFnZXMubGVuZ3RoIDw9IDEpKSB7XG4gICAgICA8dWxcbiAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHNwYWNlLXgtNiBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWQ6anVzdGlmeS1lbmQgdy1mdWxsXCI+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgbWF0LWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInAuZ29GaXJzdFBhZ2UoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicC5nZXRDdXJyZW50KCk9PT0xXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmZpcnN0X3BhZ2VcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIG1hdC1idXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwLnByZXZpb3VzKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInAuZ2V0Q3VycmVudCgpPT09MVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfb3V0bGluZTpuYXZpZ2F0ZV9iZWZvcmVcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChwYWdlIG9mIHAucGFnZXM7IHRyYWNrIHRyYWNrQnlJbmRleCgkaW5kZXgpKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwiZmxleCB0ZXh0LXhsIGxnOnRleHQtMnhsXCI+XG4gICAgICAgICAgICBAaWYgKHAuZ2V0Q3VycmVudCgpICE9PSBwYWdlLnZhbHVlKSB7XG4gICAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJwLnNldEN1cnJlbnQocGFnZS52YWx1ZSlcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1ibGFja1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IChwYWdlLmxhYmVsID09PSAnLi4uJykgPyBwYWdlLmxhYmVsIDogKHBhZ2UubGFiZWwgfCBudW1iZXI6JycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHAuZ2V0Q3VycmVudCgpID09PSBwYWdlLnZhbHVlKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ibGFja1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IChwYWdlLmxhYmVsID09PSAnLi4uJykgPyBwYWdlLmxhYmVsIDogKHBhZ2UubGFiZWwgfCBudW1iZXI6JycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIG1hdC1idXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJwLm5leHQoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicC5nZXRDdXJyZW50KCk9PT1wLmdldExhc3RQYWdlKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWF0X291dGxpbmU6bmF2aWdhdGVfbmV4dFwiPjwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgbWF0LWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInAuZ29MYXN0UGFnZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwLmdldEN1cnJlbnQoKT09PXAuZ2V0TGFzdFBhZ2UoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfb3V0bGluZTpsYXN0X3BhZ2VcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgW25nU3R5bGVdPVwieyd3aWR0aCc6KChwLmdldExhc3RQYWdlKCk/LnRvU3RyaW5nKCk/Lmxlbmd0aHx8MCkqOCs2NCkrJ3B4J31cIj5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAjY3VycmVudCBbdmFsdWVdPVwicC5nZXRDdXJyZW50KClcIiBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCIgW21pbl09XCIwXCJcbiAgICAgICAgICAgICAgW21heF09XCJwLmdldExhc3RQYWdlKCl8fDBcIiB0eXBlPVwidGV4dFwiIGNtYXREaWdpdE9ubHkgY2xhc3M9XCJ0ZXh0LWVuZFwiXG4gICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJwLnNldEN1cnJlbnQoY3VycmVudC52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgPHNwYW4gbWF0U3VmZml4Pi88ZGl2IGNsYXNzPVwicGwtMVwiPnt7cC5nZXRMYXN0UGFnZSgpfX08L2Rpdj48L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTI0XCI+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IG5hbWU9XCJwYWdlQ291bnRcIiAjcGFnZUNvdW50IFt2YWx1ZV09XCJpbml0UGVyUGFnZVwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJwLnNldEl0ZW1zUGVyUGFnZShwYWdlQ291bnQudmFsdWUpXCI+XG4gICAgICAgICAgICAgICAgQGZvciAocGVyUGFnZSBvZiBpdGVtc1BlclBhZ2VzOyB0cmFjayBwZXJQYWdlKSB7XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwicGVyUGFnZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e3BlclBhZ2V9fVxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgfVxuICAgIDwvbmF2PlxuICA8L3BhZ2luYXRpb24tdGVtcGxhdGU+Il19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFXakUsTUFBTSxPQUFPLHVCQUF1QjtJQWdCaEMsWUFBb0Isd0JBQWlELEVBQVUsa0JBQXFDO1FBQWhHLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBZjFHLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM5RCx5QkFBb0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RSx1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUd2RSxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBRXBCLGtCQUFhLEdBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBSTFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUk3RCxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjO2FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDOzhHQW5DUSx1QkFBdUI7a0dBQXZCLHVCQUF1QixvV0NwQnBDLHFqSEF3RXdCLDRDRHREVix1QkFBdUIsb05BQUUsYUFBYSxvTEFBRSxPQUFPLDBFQUFFLGtCQUFrQiwwV0FBRSxjQUFjLDJXQUFFLHNCQUFzQiw2S0FBRSxlQUFlLCtxQkFBRSxXQUFXOzsyRkFFMUksdUJBQXVCO2tCQVRuQyxTQUFTOytCQUNJLGlCQUFpQixtQkFFVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLHVCQUF1QixFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUM7NEhBRzFJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFRSxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFZRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNpbWFsUGlwZSwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbWF0RGlnaXRPbmx5RGlyZWN0aXZlIH0gZnJvbSAnY21hdC9kaXJlY3RpdmVzL2RpZ2l0LW9ubHknO1xyXG5pbXBvcnQgeyBDbWF0TWVkaWFXYXRjaGVyU2VydmljZSB9IGZyb20gJ2NtYXQvc2VydmljZXMvbWVkaWEtd2F0Y2hlcic7XHJcbmltcG9ydCB7IENtYXRQYWdpbmF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1wYWdpbmF0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGV4cG9ydEFzOiAnY21hdFBhZ2luYXRpb24nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDbWF0UGFnaW5hdGlvbkRpcmVjdGl2ZSwgTWF0SWNvbk1vZHVsZSwgTmdTdHlsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgQ21hdERpZ2l0T25seURpcmVjdGl2ZSwgTWF0U2VsZWN0TW9kdWxlLCBEZWNpbWFsUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIHBhZ2VCb3VuZHNDb3JyZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIHBlclBhZ2VDb3VudENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWF4U2l6ZTogbnVtYmVyID0gNztcclxuXHJcbiAgICBASW5wdXQoKSBpdGVtc1BlclBhZ2VzOiBudW1iZXJbXSA9IFsxMCwgMjAsIDMwXTtcclxuICAgIEBJbnB1dCgpIGluaXRQZXJQYWdlOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBpc1NjcmVlblNtYWxsOiBib29sZWFuO1xyXG5cclxuICAgIHByaXZhdGUgX2F1dG9IaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY21hdE1lZGlhV2F0Y2hlclNlcnZpY2U6IENtYXRNZWRpYVdhdGNoZXJTZXJ2aWNlLCBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhdXRvSGlkZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b0hpZGU7XHJcbiAgICB9XHJcbiAgICBzZXQgYXV0b0hpZGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9hdXRvSGlkZSA9ICEhdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY21hdE1lZGlhV2F0Y2hlclNlcnZpY2Uub25NZWRpYUNoYW5nZSRcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeyBtYXRjaGluZ0FsaWFzZXMgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NjcmVlblNtYWxsID0gIW1hdGNoaW5nQWxpYXNlcy5pbmNsdWRlcygnbWQnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iLCI8cGFnaW5hdGlvbi10ZW1wbGF0ZSAjcD1cInBhZ2luYXRpb25BcGlcIiBjbGFzcz1cInctZnVsbCBweC00IHB5LTIgZmxleFwiIFtpZF09XCJpZFwiXG4gIFttYXhTaXplXT1cImlzU2NyZWVuU21hbGwmJm1heFNpemU+NT81Om1heFNpemVcIiAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gIChwYWdlQm91bmRzQ29ycmVjdGlvbik9XCJwYWdlQm91bmRzQ29ycmVjdGlvbi5lbWl0KCRldmVudClcIiAocGVyUGFnZUNvdW50Q2hhbmdlKT1cInBlclBhZ2VDb3VudENoYW5nZS5lbWl0KCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpmbGV4IGZsZXgtYXV0byBpdGVtcy1jZW50ZXJcIj5cbiAgICA8c3Bhbj7mgLvorqE6e3twLmdldFRvdGFsSXRlbXMoKX19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPG5hdiByb2xlPVwibmF2aWdhdGlvblwiIGNsYXNzPVwiZmxleCBtaW4taC0xMiB3LWZ1bGwgbWQ6dy0wXCI+XG4gICAgQGlmICghKGF1dG9IaWRlICYmIHAucGFnZXMubGVuZ3RoIDw9IDEpKSB7XG4gICAgICA8dWxcbiAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IHNwYWNlLXgtNiBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWQ6anVzdGlmeS1lbmQgdy1mdWxsXCI+XG4gICAgICAgIDxsaT5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgbWF0LWJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2Rpc2FibGVkXT1cInAuZ2V0Q3VycmVudCgpPT09MVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicC5nb0ZpcnN0UGFnZSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmZpcnN0X3BhZ2VcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIG1hdC1idXR0b24gbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJwLmdldEN1cnJlbnQoKT09PTFcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInAucHJldmlvdXMoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfb3V0bGluZTpuYXZpZ2F0ZV9iZWZvcmVcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChwYWdlIG9mIHAucGFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cImZsZXggdGV4dC14bCBsZzp0ZXh0LTJ4bFwiPlxuICAgICAgICAgICAgQGlmIChwLmdldEN1cnJlbnQoKSAhPT0gcGFnZS52YWx1ZSkge1xuICAgICAgICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1ibGFja1wiIChjbGljayk9XCJwLnNldEN1cnJlbnQocGFnZS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyAocGFnZS5sYWJlbCA9PT0gJy4uLicpID8gcGFnZS5sYWJlbCA6IChwYWdlLmxhYmVsIHwgbnVtYmVyOicnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChwLmdldEN1cnJlbnQoKSA9PT0gcGFnZS52YWx1ZSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2tcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyAocGFnZS5sYWJlbCA9PT0gJy4uLicpID8gcGFnZS5sYWJlbCA6IChwYWdlLmxhYmVsIHwgbnVtYmVyOicnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIiBtYXQtYnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwicC5nZXRDdXJyZW50KCk9PT1wLmdldExhc3RQYWdlKClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInAubmV4dCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOm5hdmlnYXRlX25leHRcIj48L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiIG1hdC1idXR0b24gbWF0LWljb24tYnV0dG9uIFtkaXNhYmxlZF09XCJwLmdldEN1cnJlbnQoKT09PXAuZ2V0TGFzdFBhZ2UoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwicC5nb0xhc3RQYWdlKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwibWF0X291dGxpbmU6bGFzdF9wYWdlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPGxpIGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtuZ1N0eWxlXT1cInsnd2lkdGgnOigocC5nZXRMYXN0UGFnZSgpPy50b1N0cmluZygpPy5sZW5ndGh8fDApKjgrNjQpKydweCd9XCI+XG4gICAgICAgICAgICA8aW5wdXQgI2N1cnJlbnQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBjbWF0RGlnaXRPbmx5IGNsYXNzPVwidGV4dC1lbmRcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwicC5nZXRDdXJyZW50KClcIiBbYXV0b2NvbXBsZXRlXT1cIidvZmYnXCIgW21pbl09XCIwXCIgW21heF09XCJwLmdldExhc3RQYWdlKCl8fDBcIlxuICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwicC5zZXRDdXJyZW50KGN1cnJlbnQudmFsdWUpXCI+XG4gICAgICAgICAgICAgIDxzcGFuIG1hdFN1ZmZpeD4vPGRpdiBjbGFzcz1cInBsLTFcIj57e3AuZ2V0TGFzdFBhZ2UoKX19PC9kaXY+PC9zcGFuPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cImhpZGRlbiBtZDpibG9ja1wiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0yNFwiPlxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCAjcGFnZUNvdW50IG5hbWU9XCJwYWdlQ291bnRcIiBbdmFsdWVdPVwiaW5pdFBlclBhZ2VcIlxuICAgICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwicC5zZXRJdGVtc1BlclBhZ2UocGFnZUNvdW50LnZhbHVlKVwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKHBlclBhZ2Ugb2YgaXRlbXNQZXJQYWdlczsgdHJhY2sgcGVyUGFnZSkge1xuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInBlclBhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3twZXJQYWdlfX1cbiAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIH1cbiAgICA8L25hdj5cbiAgPC9wYWdpbmF0aW9uLXRlbXBsYXRlPiJdfQ==
@@ -173,10 +173,10 @@ export class CmatPaginationDirective {
173
173
  return i;
174
174
  }
175
175
  }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationDirective, deps: [{ token: i1.CmatPaginationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
177
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: CmatPaginationDirective, isStandalone: true, selector: "pagination-template,[pagination-template]", inputs: { id: "id", maxSize: "maxSize" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection", perPageCountChange: "perPageCountChange" }, exportAs: ["paginationApi"], usesOnChanges: true, ngImport: i0 }); }
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationDirective, deps: [{ token: i1.CmatPaginationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
177
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: CmatPaginationDirective, isStandalone: true, selector: "pagination-template,[pagination-template]", inputs: { id: "id", maxSize: "maxSize" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection", perPageCountChange: "perPageCountChange" }, exportAs: ["paginationApi"], usesOnChanges: true, ngImport: i0 }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationDirective, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationDirective, decorators: [{
180
180
  type: Directive,
181
181
  args: [{
182
182
  selector: 'pagination-template,[pagination-template]',
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
194
194
  }], perPageCountChange: [{
195
195
  type: Output
196
196
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO0lBV2hDLFlBQW9CLE9BQThCLEVBQ3RDLGlCQUFvQztRQUQ1QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVnZDLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hFLHVCQUFrQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhGLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxvQkFBZSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBSXZELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDekM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxRQUFRO1FB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RyxPQUFPLEdBQUcsV0FBVyxFQUFFO2dCQUNwQyxPQUFPLFVBQVUsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQzNDO2lCQUFNLElBQUksT0FBTyxHQUFHLFdBQVcsRUFBRTtnQkFDOUIsT0FBTyxXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQzthQUNwQztpQkFBTTtnQkFDSCxPQUFPLENBQUMsQ0FBQzthQUNaO1NBQ0o7YUFBTTtZQUNILE9BQU8sQ0FBQyxDQUFDO1NBQ1o7SUFDTCxDQUFDOzhHQXJNUSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkNBQTJDO29CQUNyRCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzBIQUVZLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmluc3RhbmNlJztcclxuaW1wb3J0IHsgQ21hdFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogYW55O1xyXG59XHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdwYWdpbmF0aW9uLXRlbXBsYXRlLFtwYWdpbmF0aW9uLXRlbXBsYXRlXScsXHJcbiAgICBleHBvcnRBczogJ3BhZ2luYXRpb25BcGknLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFBhZ2luYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBtYXhTaXplOiBudW1iZXIgPSA3O1xyXG4gICAgQE91dHB1dCgpIHBhZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgcGFnZUJvdW5kc0NvcnJlY3Rpb246IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgICBAT3V0cHV0KCkgcGVyUGFnZUNvdW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIHBhZ2VzOiBQYWdlW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogQ21hdFBhZ2luYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZS5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB0aGlzLmlkID0gdGhpcy5zZXJ2aWNlLmRlZmF1bHRJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl91cGRhdGVQYWdlTGlua3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91cGRhdGVQYWdlTGlua3MoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aW91cygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNGaXJzdFBhZ2UoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja1ZhbGlkSWQoKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldEN1cnJlbnQoKTtcclxuICAgICAgICAgICAgaWYgKGN1cnJlbnQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEN1cnJlbnQoY3VycmVudCAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZXh0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0xhc3RQYWdlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tWYWxpZElkKCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXRDdXJyZW50KCk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50KGN1cnJlbnQgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ29GaXJzdFBhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlyc3RQYWdlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tWYWxpZElkKCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldEN1cnJlbnQoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdvTGFzdFBhZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdFBhZ2UoKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja1ZhbGlkSWQoKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3RQYWdlID0gdGhpcy5nZXRMYXN0UGFnZSgpO1xyXG4gICAgICAgICAgICBpZiAobGFzdFBhZ2UpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEN1cnJlbnQobGFzdFBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0ZpcnN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50KCkgPT09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRMYXN0UGFnZSgpID09PSB0aGlzLmdldEN1cnJlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDdXJyZW50KHBhZ2U6IG51bWJlciB8IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGFnZUNoYW5nZS5lbWl0KHBhZ2UgYXMgbnVtYmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXJyZW50KCk6IG51bWJlciB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0Q3VycmVudFBhZ2UodGhpcy5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TGFzdFBhZ2UoKTogbnVtYmVyIHwgdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5zdCA9IHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgICAgICBpZiAoaW5zdC50b3RhbEl0ZW1zIDwgMSkge1xyXG4gICAgICAgICAgICAvLyB3aGVuIHRoZXJlIGFyZSAwIG9yIGZld2VyIChhbiBlcnJvciBjYXNlKSBpdGVtcywgdGhlcmUgYXJlIG5vIFwicGFnZXNcIiBhcyBzdWNoLFxyXG4gICAgICAgICAgICAvLyBidXQgaXQgbWFrZXMgc2Vuc2UgdG8gY29uc2lkZXIgYSBzaW5nbGUsIGVtcHR5IHBhZ2UgYXMgdGhlIGxhc3QgcGFnZS5cclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoaW5zdC50b3RhbEl0ZW1zIC8gaW5zdC5pdGVtc1BlclBhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRvdGFsSXRlbXMoKTogbnVtYmVyIHwgdm9pZCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKS50b3RhbEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHNldEl0ZW1zUGVyUGFnZShjb3VudDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldEl0ZW1zUGVyUGFnZSh0aGlzLmlkLCBjb3VudCk7XHJcblxyXG4gICAgICAgIHRoaXMucGVyUGFnZUNvdW50Q2hhbmdlLmVtaXQoY291bnQpO1xyXG4gICAgICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50KHRoaXMuX291dE9mQm91bmRDb3JyZWN0aW9uKGluc3QpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jaGVja1ZhbGlkSWQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKS5pZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgUGFnaW5hdGlvbkNvbnRyb2xzRGlyZWN0aXZlOiB0aGUgc3BlY2lmaWVkIGlkIFwiJHt0aGlzLmlkfVwiIGRvZXMgbm90IG1hdGNoIGFueSByZWdpc3RlcmVkIFBhZ2luYXRpb25JbnN0YW5jZWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVQYWdlTGlua3MoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5zdCA9IHRoaXMuc2VydmljZS5nZXRJbnN0YW5jZSh0aGlzLmlkKTtcclxuICAgICAgICBjb25zdCBjb3JyZWN0ZWRDdXJyZW50UGFnZSA9IHRoaXMuX291dE9mQm91bmRDb3JyZWN0aW9uKGluc3QpO1xyXG5cclxuICAgICAgICBpZiAoY29ycmVjdGVkQ3VycmVudFBhZ2UgIT09IGluc3QuY3VycmVudFBhZ2UpIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2VCb3VuZHNDb3JyZWN0aW9uLmVtaXQoY29ycmVjdGVkQ3VycmVudFBhZ2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlcyA9IHRoaXMuX2NyZWF0ZVBhZ2VBcnJheShpbnN0LmN1cnJlbnRQYWdlLCBpbnN0Lml0ZW1zUGVyUGFnZSwgaW5zdC50b3RhbEl0ZW1zLCB0aGlzLm1heFNpemUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2VzID0gdGhpcy5fY3JlYXRlUGFnZUFycmF5KGluc3QuY3VycmVudFBhZ2UsIGluc3QuaXRlbXNQZXJQYWdlLCBpbnN0LnRvdGFsSXRlbXMsIHRoaXMubWF4U2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX291dE9mQm91bmRDb3JyZWN0aW9uKGluc3RhbmNlOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCB0b3RhbFBhZ2VzID0gTWF0aC5jZWlsKGluc3RhbmNlLnRvdGFsSXRlbXMgLyBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgICAgIGlmICh0b3RhbFBhZ2VzIDwgaW5zdGFuY2UuY3VycmVudFBhZ2UgJiYgMCA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRvdGFsUGFnZXM7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpbnN0YW5jZS5jdXJyZW50UGFnZSA8IDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2UuY3VycmVudFBhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlUGFnZUFycmF5KGN1cnJlbnRQYWdlOiBudW1iZXIsIGl0ZW1zUGVyUGFnZTogbnVtYmVyLCB0b3RhbEl0ZW1zOiBudW1iZXIsIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyKTogUGFnZVtdIHtcclxuICAgICAgICBwYWdpbmF0aW9uUmFuZ2UgPSArcGFnaW5hdGlvblJhbmdlO1xyXG4gICAgICAgIGNvbnN0IHBhZ2VzID0gW107XHJcblxyXG4gICAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLm1heChNYXRoLmNlaWwodG90YWxJdGVtcyAvIGl0ZW1zUGVyUGFnZSksIDEpO1xyXG4gICAgICAgIGNvbnN0IGhhbGZXYXkgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzU3RhcnQgPSBjdXJyZW50UGFnZSA8PSBoYWxmV2F5O1xyXG4gICAgICAgIGNvbnN0IGlzRW5kID0gdG90YWxQYWdlcyAtIGhhbGZXYXkgPCBjdXJyZW50UGFnZTtcclxuICAgICAgICBjb25zdCBpc01pZGRsZSA9ICFpc1N0YXJ0ICYmICFpc0VuZDtcclxuXHJcbiAgICAgICAgY29uc3QgZWxsaXBzZXNOZWVkZWQgPSBwYWdpbmF0aW9uUmFuZ2UgPCB0b3RhbFBhZ2VzO1xyXG4gICAgICAgIGxldCBpID0gMTtcclxuXHJcbiAgICAgICAgd2hpbGUgKGkgPD0gdG90YWxQYWdlcyAmJiBpIDw9IHBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICAgICAgICBsZXQgbGFiZWw6IGFueTtcclxuICAgICAgICAgICAgY29uc3QgcGFnZU51bWJlciA9IHRoaXMuX2NhbGN1bGF0ZVBhZ2VOdW1iZXIoaSwgY3VycmVudFBhZ2UsIHBhZ2luYXRpb25SYW5nZSwgdG90YWxQYWdlcyk7XHJcbiAgICAgICAgICAgIGNvbnN0IG9wZW5pbmdFbGxpcHNlc05lZWRlZCA9IChpID09PSAyICYmIChpc01pZGRsZSB8fCBpc0VuZCkpO1xyXG4gICAgICAgICAgICBjb25zdCBjbG9zaW5nRWxsaXBzZXNOZWVkZWQgPSAoaSA9PT0gcGFnaW5hdGlvblJhbmdlIC0gMSAmJiAoaXNNaWRkbGUgfHwgaXNTdGFydCkpO1xyXG4gICAgICAgICAgICBpZiAoZWxsaXBzZXNOZWVkZWQgJiYgKG9wZW5pbmdFbGxpcHNlc05lZWRlZCB8fCBjbG9zaW5nRWxsaXBzZXNOZWVkZWQpKSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9ICcuLi4nO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBwYWdlTnVtYmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBhZ2VzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhZ2VOdW1iZXJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBwYWdlcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jYWxjdWxhdGVQYWdlTnVtYmVyKGk6IG51bWJlciwgY3VycmVudFBhZ2U6IG51bWJlciwgcGFnaW5hdGlvblJhbmdlOiBudW1iZXIsIHRvdGFsUGFnZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgaGFsZldheSA9IE1hdGguY2VpbChwYWdpbmF0aW9uUmFuZ2UgLyAyKTtcclxuICAgICAgICBpZiAoaSA9PT0gcGFnaW5hdGlvblJhbmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0b3RhbFBhZ2VzO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaSA9PT0gMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gaTtcclxuICAgICAgICB9IGVsc2UgaWYgKHBhZ2luYXRpb25SYW5nZSA8IHRvdGFsUGFnZXMpIHtcclxuICAgICAgICAgICAgaWYgKHRvdGFsUGFnZXMgLSBoYWxmV2F5IDwgY3VycmVudFBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbFBhZ2VzIC0gcGFnaW5hdGlvblJhbmdlICsgaTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChoYWxmV2F5IDwgY3VycmVudFBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50UGFnZSAtIGhhbGZXYXkgKyBpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO0lBV2hDLFlBQW9CLE9BQThCLEVBQ3RDLGlCQUFvQztRQUQ1QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVnZDLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hFLHVCQUFrQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWhGLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxvQkFBZSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBSXZELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lB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QUMsS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUN4QixPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO2FBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO2FBQU0sSUFBSSxlQUFlLEdBQUcsVUFBVSxFQUFFLENBQUM7WUFDdEMsSUFBSSxVQUFVLEdBQUcsT0FBTyxHQUFHLFdBQVcsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLFVBQVUsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sSUFBSSxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDO0lBQ0wsQ0FBQzs4R0FyTVEsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjswSEFFWSxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ21hdFBhZ2luYXRpb25JbnN0YW5jZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5pbnN0YW5jZSc7XHJcbmltcG9ydCB7IENtYXRQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZSB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgdmFsdWU6IGFueTtcclxufVxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAncGFnaW5hdGlvbi10ZW1wbGF0ZSxbcGFnaW5hdGlvbi10ZW1wbGF0ZV0nLFxyXG4gICAgZXhwb3J0QXM6ICdwYWdpbmF0aW9uQXBpJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRQYWdpbmF0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWF4U2l6ZTogbnVtYmVyID0gNztcclxuICAgIEBPdXRwdXQoKSBwYWdlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIHBhZ2VCb3VuZHNDb3JyZWN0aW9uOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gICAgQE91dHB1dCgpIHBlclBhZ2VDb3VudENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgICBwYWdlczogUGFnZVtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IENtYXRQYWdpbmF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5jaGFuZ2UucGlwZShcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlkID09PSBpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBhZ2VMaW5rcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5pZCA9IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUGFnZUxpbmtzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dCh2b2lkIDApO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlvdXMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlyc3RQYWdlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tWYWxpZElkKCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXRDdXJyZW50KCk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyZW50KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50KGN1cnJlbnQgLSAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmV4dCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNMYXN0UGFnZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrVmFsaWRJZCgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0Q3VycmVudCgpO1xyXG4gICAgICAgICAgICBpZiAoY3VycmVudClcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudChjdXJyZW50ICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdvRmlyc3RQYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0ZpcnN0UGFnZSgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrVmFsaWRJZCgpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50KDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnb0xhc3RQYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc0xhc3RQYWdlKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tWYWxpZElkKCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBsYXN0UGFnZSA9IHRoaXMuZ2V0TGFzdFBhZ2UoKTtcclxuICAgICAgICAgICAgaWYgKGxhc3RQYWdlKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50KGxhc3RQYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudCgpID09PSAxO1xyXG4gICAgfVxyXG5cclxuICAgIGlzTGFzdFBhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGFzdFBhZ2UoKSA9PT0gdGhpcy5nZXRDdXJyZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Q3VycmVudChwYWdlOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UuZW1pdChwYWdlIGFzIG51bWJlcik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VycmVudCgpOiBudW1iZXIgfCB2b2lkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldEN1cnJlbnRQYWdlKHRoaXMuaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldExhc3RQYWdlKCk6IG51bWJlciB8IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICAgICAgaWYgKGluc3QudG90YWxJdGVtcyA8IDEpIHtcclxuICAgICAgICAgICAgLy8gd2hlbiB0aGVyZSBhcmUgMCBvciBmZXdlciAoYW4gZXJyb3IgY2FzZSkgaXRlbXMsIHRoZXJlIGFyZSBubyBcInBhZ2VzXCIgYXMgc3VjaCxcclxuICAgICAgICAgICAgLy8gYnV0IGl0IG1ha2VzIHNlbnNlIHRvIGNvbnNpZGVyIGEgc2luZ2xlLCBlbXB0eSBwYWdlIGFzIHRoZSBsYXN0IHBhZ2UuXHJcbiAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKGluc3QudG90YWxJdGVtcyAvIGluc3QuaXRlbXNQZXJQYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRUb3RhbEl0ZW1zKCk6IG51bWJlciB8IHZvaWQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCkudG90YWxJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBzZXRJdGVtc1BlclBhZ2UoY291bnQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5zZXRJdGVtc1BlclBhZ2UodGhpcy5pZCwgY291bnQpO1xyXG5cclxuICAgICAgICB0aGlzLnBlclBhZ2VDb3VudENoYW5nZS5lbWl0KGNvdW50KTtcclxuICAgICAgICBjb25zdCBpbnN0ID0gdGhpcy5zZXJ2aWNlLmdldEluc3RhbmNlKHRoaXMuaWQpO1xyXG4gICAgICAgIHRoaXMuc2V0Q3VycmVudCh0aGlzLl9vdXRPZkJvdW5kQ29ycmVjdGlvbihpbnN0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tWYWxpZElkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCkuaWQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFBhZ2luYXRpb25Db250cm9sc0RpcmVjdGl2ZTogdGhlIHNwZWNpZmllZCBpZCBcIiR7dGhpcy5pZH1cIiBkb2VzIG5vdCBtYXRjaCBhbnkgcmVnaXN0ZXJlZCBQYWdpbmF0aW9uSW5zdGFuY2VgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlUGFnZUxpbmtzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluc3QgPSB0aGlzLnNlcnZpY2UuZ2V0SW5zdGFuY2UodGhpcy5pZCk7XHJcbiAgICAgICAgY29uc3QgY29ycmVjdGVkQ3VycmVudFBhZ2UgPSB0aGlzLl9vdXRPZkJvdW5kQ29ycmVjdGlvbihpbnN0KTtcclxuXHJcbiAgICAgICAgaWYgKGNvcnJlY3RlZEN1cnJlbnRQYWdlICE9PSBpbnN0LmN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlQm91bmRzQ29ycmVjdGlvbi5lbWl0KGNvcnJlY3RlZEN1cnJlbnRQYWdlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFnZXMgPSB0aGlzLl9jcmVhdGVQYWdlQXJyYXkoaW5zdC5jdXJyZW50UGFnZSwgaW5zdC5pdGVtc1BlclBhZ2UsIGluc3QudG90YWxJdGVtcywgdGhpcy5tYXhTaXplKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5wYWdlcyA9IHRoaXMuX2NyZWF0ZVBhZ2VBcnJheShpbnN0LmN1cnJlbnRQYWdlLCBpbnN0Lml0ZW1zUGVyUGFnZSwgaW5zdC50b3RhbEl0ZW1zLCB0aGlzLm1heFNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9vdXRPZkJvdW5kQ29ycmVjdGlvbihpbnN0YW5jZTogQ21hdFBhZ2luYXRpb25JbnN0YW5jZSk6IG51bWJlciB7XHJcbiAgICAgICAgY29uc3QgdG90YWxQYWdlcyA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICBpZiAodG90YWxQYWdlcyA8IGluc3RhbmNlLmN1cnJlbnRQYWdlICYmIDAgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0b3RhbFBhZ2VzO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5zdGFuY2UuY3VycmVudFBhZ2UgPCAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmN1cnJlbnRQYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZVBhZ2VBcnJheShjdXJyZW50UGFnZTogbnVtYmVyLCBpdGVtc1BlclBhZ2U6IG51bWJlciwgdG90YWxJdGVtczogbnVtYmVyLCBwYWdpbmF0aW9uUmFuZ2U6IG51bWJlcik6IFBhZ2VbXSB7XHJcbiAgICAgICAgcGFnaW5hdGlvblJhbmdlID0gK3BhZ2luYXRpb25SYW5nZTtcclxuICAgICAgICBjb25zdCBwYWdlcyA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB0b3RhbFBhZ2VzID0gTWF0aC5tYXgoTWF0aC5jZWlsKHRvdGFsSXRlbXMgLyBpdGVtc1BlclBhZ2UpLCAxKTtcclxuICAgICAgICBjb25zdCBoYWxmV2F5ID0gTWF0aC5jZWlsKHBhZ2luYXRpb25SYW5nZSAvIDIpO1xyXG5cclxuICAgICAgICBjb25zdCBpc1N0YXJ0ID0gY3VycmVudFBhZ2UgPD0gaGFsZldheTtcclxuICAgICAgICBjb25zdCBpc0VuZCA9IHRvdGFsUGFnZXMgLSBoYWxmV2F5IDwgY3VycmVudFBhZ2U7XHJcbiAgICAgICAgY29uc3QgaXNNaWRkbGUgPSAhaXNTdGFydCAmJiAhaXNFbmQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGVsbGlwc2VzTmVlZGVkID0gcGFnaW5hdGlvblJhbmdlIDwgdG90YWxQYWdlcztcclxuICAgICAgICBsZXQgaSA9IDE7XHJcblxyXG4gICAgICAgIHdoaWxlIChpIDw9IHRvdGFsUGFnZXMgJiYgaSA8PSBwYWdpbmF0aW9uUmFuZ2UpIHtcclxuICAgICAgICAgICAgbGV0IGxhYmVsOiBhbnk7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSB0aGlzLl9jYWxjdWxhdGVQYWdlTnVtYmVyKGksIGN1cnJlbnRQYWdlLCBwYWdpbmF0aW9uUmFuZ2UsIHRvdGFsUGFnZXMpO1xyXG4gICAgICAgICAgICBjb25zdCBvcGVuaW5nRWxsaXBzZXNOZWVkZWQgPSAoaSA9PT0gMiAmJiAoaXNNaWRkbGUgfHwgaXNFbmQpKTtcclxuICAgICAgICAgICAgY29uc3QgY2xvc2luZ0VsbGlwc2VzTmVlZGVkID0gKGkgPT09IHBhZ2luYXRpb25SYW5nZSAtIDEgJiYgKGlzTWlkZGxlIHx8IGlzU3RhcnQpKTtcclxuICAgICAgICAgICAgaWYgKGVsbGlwc2VzTmVlZGVkICYmIChvcGVuaW5nRWxsaXBzZXNOZWVkZWQgfHwgY2xvc2luZ0VsbGlwc2VzTmVlZGVkKSkge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSAnLi4uJztcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gcGFnZU51bWJlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwYWdlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBwYWdlTnVtYmVyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcGFnZXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlUGFnZU51bWJlcihpOiBudW1iZXIsIGN1cnJlbnRQYWdlOiBudW1iZXIsIHBhZ2luYXRpb25SYW5nZTogbnVtYmVyLCB0b3RhbFBhZ2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGhhbGZXYXkgPSBNYXRoLmNlaWwocGFnaW5hdGlvblJhbmdlIC8gMik7XHJcbiAgICAgICAgaWYgKGkgPT09IHBhZ2luYXRpb25SYW5nZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdG90YWxQYWdlcztcclxuICAgICAgICB9IGVsc2UgaWYgKGkgPT09IDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChwYWdpbmF0aW9uUmFuZ2UgPCB0b3RhbFBhZ2VzKSB7XHJcbiAgICAgICAgICAgIGlmICh0b3RhbFBhZ2VzIC0gaGFsZldheSA8IGN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxQYWdlcyAtIHBhZ2luYXRpb25SYW5nZSArIGk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaGFsZldheSA8IGN1cnJlbnRQYWdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFBhZ2UgLSBoYWxmV2F5ICsgaTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -10,7 +10,7 @@ export class CmatPaginatePipe {
10
10
  }
11
11
  transform(collection, args) {
12
12
  if (!(collection instanceof Array)) {
13
- const _id = args.id || this.service.defaultId();
13
+ const _id = args.id ?? this.service.defaultId();
14
14
  if (this.state[_id]) {
15
15
  return this.state[_id].slice;
16
16
  }
@@ -86,10 +86,10 @@ export class CmatPaginatePipe {
86
86
  }
87
87
  return state.slice.every((element, index) => element === collection[start + index]);
88
88
  }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginatePipe, deps: [{ token: i1.CmatPaginationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
90
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginatePipe, isStandalone: true, name: "paginate" }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginatePipe, deps: [{ token: i1.CmatPaginationService }], target: i0.ɵɵFactoryTarget.Pipe }); }
90
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginatePipe, isStandalone: true, name: "paginate" }); }
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginatePipe, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginatePipe, decorators: [{
93
93
  type: Pipe,
94
94
  args: [{
95
95
  name: 'paginate',
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
97
97
  standalone: true
98
98
  }]
99
99
  }], ctorParameters: () => [{ type: i1.CmatPaginationService }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUlsQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7QUF3QjdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFGMUMsVUFBSyxHQUFvQyxFQUFFLENBQUM7SUFHcEQsQ0FBQztJQUVNLFNBQVMsQ0FBNkIsVUFBYSxFQUFFLElBQTBCO1FBQ2xGLElBQUksQ0FBQyxDQUFDLFVBQVUsWUFBWSxLQUFLLENBQUMsRUFBRTtZQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBVSxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNILE9BQU8sVUFBVSxDQUFDO2FBQ3JCO1NBQ0o7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRyxDQUFDO1FBQ3hCLElBQUksS0FB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WUFDTCxHQUFHO1NBQ04sQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsVUFBaUIsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsTUFBTTtZQUN4RCxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUs7WUFDckIsS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUM7UUFFdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQzs4R0FoR1EsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmluc3RhbmNlJztcclxuaW1wb3J0IHsgQ21hdFBhZ2luYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgTEFSR0VfTlVNQkVSID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XHJcblxyXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uPFQ+ID0gVFtdO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbWF0UGFnaW5hdGVQaXBlQXJncyB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGN1cnJlbnRQYWdlOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBpdGVtc1BlclBhZ2U6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRvdGFsSXRlbXM6IHN0cmluZyB8IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbWF0UGlwZVN0YXRlIHtcclxuICAgIGNvbGxlY3Rpb246IGFueVtdO1xyXG4gICAgc2l6ZTogbnVtYmVyO1xyXG4gICAgc3RhcnQ/OiBudW1iZXI7XHJcbiAgICBlbmQ/OiBudW1iZXI7XHJcbiAgICBzbGljZTogYW55W107XHJcbn1cclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdwYWdpbmF0ZScsXHJcbiAgICBwdXJlOiB0cnVlLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFBhZ2luYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgcHJpdmF0ZSBzdGF0ZTogeyBbaWQ6IHN0cmluZ106IENtYXRQaXBlU3RhdGUgfSA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogQ21hdFBhZ2luYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRyYW5zZm9ybTxULCBVIGV4dGVuZHMgQ29sbGVjdGlvbjxUPj4oY29sbGVjdGlvbjogVSwgYXJnczogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiBVIHtcclxuICAgICAgICBpZiAoIShjb2xsZWN0aW9uIGluc3RhbmNlb2YgQXJyYXkpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IF9pZCA9IGFyZ3MuaWQgfHwgdGhpcy5zZXJ2aWNlLmRlZmF1bHRJZCgpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZVtfaWRdKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtfaWRdLnNsaWNlIGFzIFU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc2VydmVyU2lkZU1vZGUgPSBhcmdzLnRvdGFsSXRlbXMgJiYgYXJncy50b3RhbEl0ZW1zICE9PSBjb2xsZWN0aW9uLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbiwgYXJncyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlkID0gaW5zdGFuY2UuaWQhO1xyXG4gICAgICAgIGxldCBzdGFydDtcclxuICAgICAgICBsZXQgZW5kO1xyXG4gICAgICAgIGxldCBwZXJQYWdlID0gYXJncy5pdGVtc1BlclBhZ2U7XHJcblxyXG4gICAgICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB0aGlzLnNlcnZpY2UucmVnaXN0ZXIoaW5zdGFuY2UpO1xyXG5cclxuICAgICAgICBpZiAoIXNlcnZlclNpZGVNb2RlICYmIGNvbGxlY3Rpb24gaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBwZXJQYWdlID0gK3BlclBhZ2UgfHwgTEFSR0VfTlVNQkVSO1xyXG4gICAgICAgICAgICBzdGFydCA9IChpbnN0YW5jZS5jdXJyZW50UGFnZSAtIDEpICogcGVyUGFnZTtcclxuICAgICAgICAgICAgZW5kID0gc3RhcnQgKyBwZXJQYWdlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgaXNJZGVudGljYWwgPSB0aGlzLl9zdGF0ZUlzSWRlbnRpY2FsKGlkLCBjb2xsZWN0aW9uLCBzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRlbnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtpZF0uc2xpY2UgYXMgVTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gY29sbGVjdGlvbi5zbGljZShzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVTdGF0ZShpZCwgY29sbGVjdGlvbiwgc2xpY2UsIHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzbGljZSBhcyBVO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVtaXRDaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3NhdmVTdGF0ZShpZCwgY29sbGVjdGlvbiwgY29sbGVjdGlvbiwgc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbjogYW55W10sIGNvbmZpZzogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ29uZmlnKGNvbmZpZyk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiAhaXNOaWwoY29uZmlnLmlkKSA/IGNvbmZpZy5pZCA6IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKSxcclxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiArY29uZmlnLml0ZW1zUGVyUGFnZSB8fCAxMCxcclxuICAgICAgICAgICAgY3VycmVudFBhZ2U6ICtjb25maWcuY3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogK2NvbmZpZy50b3RhbEl0ZW1zIHx8IGNvbGxlY3Rpb24ubGVuZ3RoXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQ29uZmlnKGNvbmZpZzogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1aXJlZCA9IFsnaXRlbXNQZXJQYWdlJywgJ2N1cnJlbnRQYWdlJ107XHJcblxyXG4gICAgICAgIGNvbnN0IG1pc3NpbmcgPSByZXF1aXJlZC5maWx0ZXIocHJvcCA9PiAhKHByb3AgaW4gY29uZmlnKSk7XHJcbiAgICAgICAgaWYgKDAgPCBtaXNzaW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhZ2luYXRlUGlwZTogQXJndW1lbnQgaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHJlcXVpcmVkIHByb3BlcnRpZXM6ICR7bWlzc2luZy5qb2luKCcsICcpfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zYXZlU3RhdGUoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHNsaWNlOiBhbnlbXSwgc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RhdGVbaWRdID0ge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICBzaXplOiBjb2xsZWN0aW9uLmxlbmd0aCxcclxuICAgICAgICAgICAgc2xpY2UsXHJcbiAgICAgICAgICAgIHN0YXJ0LFxyXG4gICAgICAgICAgICBlbmRcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N0YXRlSXNJZGVudGljYWwoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlW2lkXTtcclxuICAgICAgICBpZiAoIXN0YXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgaXNNZXRhRGF0YUlkZW50aWNhbCA9IHN0YXRlLnNpemUgPT09IGNvbGxlY3Rpb24ubGVuZ3RoICYmXHJcbiAgICAgICAgICAgIHN0YXRlLnN0YXJ0ID09PSBzdGFydCAmJlxyXG4gICAgICAgICAgICBzdGF0ZS5lbmQgPT09IGVuZDtcclxuXHJcbiAgICAgICAgaWYgKCFpc01ldGFEYXRhSWRlbnRpY2FsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdGF0ZS5zbGljZS5ldmVyeSgoZWxlbWVudCwgaW5kZXgpID0+IGVsZW1lbnQgPT09IGNvbGxlY3Rpb25bc3RhcnQgKyBpbmRleF0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUlsQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7QUF3QjdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHekIsWUFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFGMUMsVUFBSyxHQUFrQyxFQUFFLENBQUM7SUFHbEQsQ0FBQztJQUVNLFNBQVMsQ0FBNkIsVUFBYSxFQUFFLElBQTBCO1FBQ2xGLElBQUksQ0FBQyxDQUFDLFVBQVUsWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsQ0FBQztZQUN0QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxVQUFVLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV2RCxNQUFNLEVBQUUsR0FBRyxRQUFR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QUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRztZQUNiLFVBQVU7WUFDVixJQUFJLEVBQUUsVUFBVSxDQUFDLE1BQU07WUFDdkIsS0FBSztZQUNMLEtBQUs7WUFDTCxHQUFHO1NBQ04sQ0FBQztJQUNOLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsVUFBaUIsRUFBRSxLQUFhLEVBQUUsR0FBVztRQUMvRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLE1BQU07WUFDeEQsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLO1lBQ3JCLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDO1FBRXRCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDOzhHQWhHUSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFMNUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IENtYXRQYWdpbmF0aW9uSW5zdGFuY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uaW5zdGFuY2UnO1xyXG5pbXBvcnQgeyBDbWF0UGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3BhZ2luYXRpb24uc2VydmljZSc7XHJcblxyXG5jb25zdCBMQVJHRV9OVU1CRVIgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb248VD4gPSBUW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENtYXRQYWdpbmF0ZVBpcGVBcmdzIHtcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgY3VycmVudFBhZ2U6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIGl0ZW1zUGVyUGFnZTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgdG90YWxJdGVtczogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENtYXRQaXBlU3RhdGUge1xyXG4gICAgY29sbGVjdGlvbjogYW55W107XHJcbiAgICBzaXplOiBudW1iZXI7XHJcbiAgICBzdGFydD86IG51bWJlcjtcclxuICAgIGVuZD86IG51bWJlcjtcclxuICAgIHNsaWNlOiBhbnlbXTtcclxufVxyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3BhZ2luYXRlJyxcclxuICAgIHB1cmU6IHRydWUsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0UGFnaW5hdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBwcml2YXRlIHN0YXRlOiBSZWNvcmQ8c3RyaW5nLCBDbWF0UGlwZVN0YXRlPiA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogQ21hdFBhZ2luYXRpb25TZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHRyYW5zZm9ybTxULCBVIGV4dGVuZHMgQ29sbGVjdGlvbjxUPj4oY29sbGVjdGlvbjogVSwgYXJnczogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiBVIHtcclxuICAgICAgICBpZiAoIShjb2xsZWN0aW9uIGluc3RhbmNlb2YgQXJyYXkpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IF9pZCA9IGFyZ3MuaWQgPz8gdGhpcy5zZXJ2aWNlLmRlZmF1bHRJZCgpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZVtfaWRdKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtfaWRdLnNsaWNlIGFzIFU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc2VydmVyU2lkZU1vZGUgPSBhcmdzLnRvdGFsSXRlbXMgJiYgYXJncy50b3RhbEl0ZW1zICE9PSBjb2xsZWN0aW9uLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbiwgYXJncyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlkID0gaW5zdGFuY2UuaWQhO1xyXG4gICAgICAgIGxldCBzdGFydDtcclxuICAgICAgICBsZXQgZW5kO1xyXG4gICAgICAgIGxldCBwZXJQYWdlID0gYXJncy5pdGVtc1BlclBhZ2U7XHJcblxyXG4gICAgICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB0aGlzLnNlcnZpY2UucmVnaXN0ZXIoaW5zdGFuY2UpO1xyXG5cclxuICAgICAgICBpZiAoIXNlcnZlclNpZGVNb2RlICYmIGNvbGxlY3Rpb24gaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBwZXJQYWdlID0gK3BlclBhZ2UgfHwgTEFSR0VfTlVNQkVSO1xyXG4gICAgICAgICAgICBzdGFydCA9IChpbnN0YW5jZS5jdXJyZW50UGFnZSAtIDEpICogcGVyUGFnZTtcclxuICAgICAgICAgICAgZW5kID0gc3RhcnQgKyBwZXJQYWdlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgaXNJZGVudGljYWwgPSB0aGlzLl9zdGF0ZUlzSWRlbnRpY2FsKGlkLCBjb2xsZWN0aW9uLCBzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgaWYgKGlzSWRlbnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtpZF0uc2xpY2UgYXMgVTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNsaWNlID0gY29sbGVjdGlvbi5zbGljZShzdGFydCwgZW5kKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVTdGF0ZShpZCwgY29sbGVjdGlvbiwgc2xpY2UsIHN0YXJ0LCBlbmQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzbGljZSBhcyBVO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGVtaXRDaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3NhdmVTdGF0ZShpZCwgY29sbGVjdGlvbiwgY29sbGVjdGlvbiwgc3RhcnQsIGVuZCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlSW5zdGFuY2UoY29sbGVjdGlvbjogYW55W10sIGNvbmZpZzogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ29uZmlnKGNvbmZpZyk7XHJcblxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiAhaXNOaWwoY29uZmlnLmlkKSA/IGNvbmZpZy5pZCA6IHRoaXMuc2VydmljZS5kZWZhdWx0SWQoKSxcclxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiArY29uZmlnLml0ZW1zUGVyUGFnZSB8fCAxMCxcclxuICAgICAgICAgICAgY3VycmVudFBhZ2U6ICtjb25maWcuY3VycmVudFBhZ2UgfHwgMSxcclxuICAgICAgICAgICAgdG90YWxJdGVtczogK2NvbmZpZy50b3RhbEl0ZW1zIHx8IGNvbGxlY3Rpb24ubGVuZ3RoXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrQ29uZmlnKGNvbmZpZzogQ21hdFBhZ2luYXRlUGlwZUFyZ3MpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1aXJlZCA9IFsnaXRlbXNQZXJQYWdlJywgJ2N1cnJlbnRQYWdlJ107XHJcblxyXG4gICAgICAgIGNvbnN0IG1pc3NpbmcgPSByZXF1aXJlZC5maWx0ZXIocHJvcCA9PiAhKHByb3AgaW4gY29uZmlnKSk7XHJcbiAgICAgICAgaWYgKDAgPCBtaXNzaW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhZ2luYXRlUGlwZTogQXJndW1lbnQgaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHJlcXVpcmVkIHByb3BlcnRpZXM6ICR7bWlzc2luZy5qb2luKCcsICcpfWApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zYXZlU3RhdGUoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHNsaWNlOiBhbnlbXSwgc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3RhdGVbaWRdID0ge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxyXG4gICAgICAgICAgICBzaXplOiBjb2xsZWN0aW9uLmxlbmd0aCxcclxuICAgICAgICAgICAgc2xpY2UsXHJcbiAgICAgICAgICAgIHN0YXJ0LFxyXG4gICAgICAgICAgICBlbmRcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3N0YXRlSXNJZGVudGljYWwoaWQ6IHN0cmluZywgY29sbGVjdGlvbjogYW55W10sIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlW2lkXTtcclxuICAgICAgICBpZiAoIXN0YXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgaXNNZXRhRGF0YUlkZW50aWNhbCA9IHN0YXRlLnNpemUgPT09IGNvbGxlY3Rpb24ubGVuZ3RoICYmXHJcbiAgICAgICAgICAgIHN0YXRlLnN0YXJ0ID09PSBzdGFydCAmJlxyXG4gICAgICAgICAgICBzdGF0ZS5lbmQgPT09IGVuZDtcclxuXHJcbiAgICAgICAgaWYgKCFpc01ldGFEYXRhSWRlbnRpY2FsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdGF0ZS5zbGljZS5ldmVyeSgoZWxlbWVudCwgaW5kZXgpID0+IGVsZW1lbnQgPT09IGNvbGxlY3Rpb25bc3RhcnQgKyBpbmRleF0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -78,13 +78,13 @@ export class CmatPaginationService {
78
78
  }
79
79
  return target;
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationService, providedIn: 'root' }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
82
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationService, providedIn: 'root' }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPaginationService, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPaginationService, decorators: [{
85
85
  type: Injectable,
86
86
  args: [{
87
87
  providedIn: 'root'
88
88
  }]
89
89
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU16RCxNQUFNLE9BQU8scUJBQXFCO0lBSGxDO1FBSVcsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpELGVBQVUsR0FBNkMsRUFBRSxDQUFDO1FBQzFELHlCQUFvQixHQUFHLHVCQUF1QixDQUFDO0tBbUYxRDtJQWpGVSxTQUFTLEtBQWEsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRXpELFFBQVEsQ0FBQyxRQUFnQztRQUM1QyxJQUFJLFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQzNDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEVBQVU7UUFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRU0sZUFBZSxDQUFDLEVBQVU7UUFDN0IsSUFB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QUM7SUFDbEIsQ0FBQzs4R0F0RlEscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIH0gZnJvbSAnLi9wYWdpbmF0aW9uLmluc3RhbmNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFBhZ2luYXRpb25TZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSBfaW5zdGFuY2VzOiB7IFtpZDogc3RyaW5nXTogQ21hdFBhZ2luYXRpb25JbnN0YW5jZSB9ID0ge307XHJcbiAgICBwcml2YXRlIF9kZWZhdWx0UGFnaW5hdGlvbklkID0gJ0RFRkFVTFRfUEFHSU5BVElPTl9JRCc7XHJcblxyXG4gICAgcHVibGljIGRlZmF1bHRJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZGVmYXVsdFBhZ2luYXRpb25JZDsgfVxyXG5cclxuICAgIHB1YmxpYyByZWdpc3RlcihpbnN0YW5jZTogQ21hdFBhZ2luYXRpb25JbnN0YW5jZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmIChpbnN0YW5jZS5pZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGluc3RhbmNlLmlkID0gdGhpcy5fZGVmYXVsdFBhZ2luYXRpb25JZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5faW5zdGFuY2VzW2luc3RhbmNlLmlkXSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZXNbaW5zdGFuY2UuaWRdID0gaW5zdGFuY2U7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl91cGRhdGVJbnN0YW5jZShpbnN0YW5jZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50UGFnZShpZDogc3RyaW5nKTogbnVtYmVyIHwgdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlc1tpZF0uY3VycmVudFBhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRJdGVtc1BlclBhZ2UoaWQ6IHN0cmluZyk6IG51bWJlciB8IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZXNbaWRdLml0ZW1zUGVyUGFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcsIHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gdGhpcy5faW5zdGFuY2VzW2lkXTtcclxuICAgICAgICAgICAgY29uc3QgbWF4UGFnZSA9IE1hdGguY2VpbChpbnN0YW5jZS50b3RhbEl0ZW1zIC8gaW5zdGFuY2UuaXRlbXNQZXJQYWdlKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2UgPD0gbWF4UGFnZSAmJiAxIDw9IHBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1tpZF0uY3VycmVudFBhZ2UgPSBwYWdlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldFRvdGFsSXRlbXMoaWQ6IHN0cmluZywgdG90YWxJdGVtczogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlc1tpZF0gJiYgMCA8PSB0b3RhbEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1tpZF0udG90YWxJdGVtcyA9IHRvdGFsSXRlbXM7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0SXRlbXNQZXJQYWdlKGlkOiBzdHJpbmcsIGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VzW2lkXS5pdGVtc1BlclBhZ2UgPSBpdGVtc1BlclBhZ2U7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoaWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0SW5zdGFuY2UoaWQ6IHN0cmluZyA9IHRoaXMuX2RlZmF1bHRQYWdpbmF0aW9uSWQpOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY2xvbmUodGhpcy5faW5zdGFuY2VzW2lkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7fSBhcyBDbWF0UGFnaW5hdGlvbkluc3RhbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3VwZGF0ZUluc3RhbmNlKGluc3RhbmNlOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcclxuICAgICAgICBpZiAoaW5zdGFuY2UuaWQpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIHRoaXMuX2luc3RhbmNlc1tpbnN0YW5jZS5pZF0pIHtcclxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZVtwcm9wXSAhPT0gdGhpcy5faW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1tpbnN0YW5jZS5pZF1bcHJvcF0gPSBpbnN0YW5jZVtwcm9wXTtcclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY2hhbmdlZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jbG9uZShvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSB7fTtcclxuICAgICAgICBmb3IgKGNvbnN0IGkgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBpKSkge1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gb2JqW2ldO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0YXJnZXQ7XHJcbiAgICB9XHJcbn1cclxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU16RCxNQUFNLE9BQU8scUJBQXFCO0lBSGxDO1FBSVcsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpELGVBQVUsR0FBMkMsRUFBRSxDQUFDO1FBQ3hELHlCQUFvQixHQUFHLHVCQUF1QixDQUFDO0tBbUYxRDtJQWpGVSxTQUFTLEtBQWEsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRXpELFFBQVEsQ0FBQyxRQUFnQztRQUM1QyxJQUFJLFFBQVEsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGNBQWMsQ0FBQyxFQUFVO1FBQzVCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVTtRQUM3QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQzFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN2RSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGFBQWEsQ0FBQyxFQUFVLEVBQUUsVUFBa0I7UUFDL0MsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVSxFQUFFLFlBQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFhLElBQUksQ0FBQyxvQkFBb0I7UUFDckQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxFQUE0QixDQUFDO0lBQ3hDLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZ0M7UUFDcEQsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN4RCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BELE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBUTtRQUNuQixNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDdkIsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNsQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7OEdBdEZRLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRmxCLE1BQU07OzJGQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ21hdFBhZ2luYXRpb25JbnN0YW5jZSB9IGZyb20gJy4vcGFnaW5hdGlvbi5pbnN0YW5jZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRQYWdpbmF0aW9uU2VydmljZSB7XHJcbiAgICBwdWJsaWMgY2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIHByaXZhdGUgX2luc3RhbmNlczogUmVjb3JkPHN0cmluZywgQ21hdFBhZ2luYXRpb25JbnN0YW5jZT4gPSB7fTtcclxuICAgIHByaXZhdGUgX2RlZmF1bHRQYWdpbmF0aW9uSWQgPSAnREVGQVVMVF9QQUdJTkFUSU9OX0lEJztcclxuXHJcbiAgICBwdWJsaWMgZGVmYXVsdElkKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9kZWZhdWx0UGFnaW5hdGlvbklkOyB9XHJcblxyXG4gICAgcHVibGljIHJlZ2lzdGVyKGluc3RhbmNlOiBDbWF0UGFnaW5hdGlvbkluc3RhbmNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGluc3RhbmNlLmlkID09IG51bGwpIHtcclxuICAgICAgICAgICAgaW5zdGFuY2UuaWQgPSB0aGlzLl9kZWZhdWx0UGFnaW5hdGlvbklkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pbnN0YW5jZXNbaW5zdGFuY2UuaWRdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1tpbnN0YW5jZS5pZF0gPSBpbnN0YW5jZTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3VwZGF0ZUluc3RhbmNlKGluc3RhbmNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEN1cnJlbnRQYWdlKGlkOiBzdHJpbmcpOiBudW1iZXIgfCB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEl0ZW1zUGVyUGFnZShpZDogc3RyaW5nKTogbnVtYmVyIHwgdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlc1tpZF0uaXRlbXNQZXJQYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0Q3VycmVudFBhZ2UoaWQ6IHN0cmluZywgcGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlc1tpZF0pIHtcclxuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLl9pbnN0YW5jZXNbaWRdO1xyXG4gICAgICAgICAgICBjb25zdCBtYXhQYWdlID0gTWF0aC5jZWlsKGluc3RhbmNlLnRvdGFsSXRlbXMgLyBpbnN0YW5jZS5pdGVtc1BlclBhZ2UpO1xyXG4gICAgICAgICAgICBpZiAocGFnZSA8PSBtYXhQYWdlICYmIDEgPD0gcGFnZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VzW2lkXS5jdXJyZW50UGFnZSA9IHBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0VG90YWxJdGVtcyhpZDogc3RyaW5nLCB0b3RhbEl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2VzW2lkXSAmJiAwIDw9IHRvdGFsSXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VzW2lkXS50b3RhbEl0ZW1zID0gdG90YWxJdGVtcztcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRJdGVtc1BlclBhZ2UoaWQ6IHN0cmluZywgaXRlbXNQZXJQYWdlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2VzW2lkXSkge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZXNbaWRdLml0ZW1zUGVyUGFnZSA9IGl0ZW1zUGVyUGFnZTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRJbnN0YW5jZShpZDogc3RyaW5nID0gdGhpcy5fZGVmYXVsdFBhZ2luYXRpb25JZCk6IENtYXRQYWdpbmF0aW9uSW5zdGFuY2Uge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZXNbaWRdKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jbG9uZSh0aGlzLl9pbnN0YW5jZXNbaWRdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHt9IGFzIENtYXRQYWdpbmF0aW9uSW5zdGFuY2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlSW5zdGFuY2UoaW5zdGFuY2U6IENtYXRQYWdpbmF0aW9uSW5zdGFuY2UpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChpbnN0YW5jZS5pZCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdGhpcy5faW5zdGFuY2VzW2luc3RhbmNlLmlkXSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlW3Byb3BdICE9PSB0aGlzLl9pbnN0YW5jZXNbaW5zdGFuY2UuaWRdW3Byb3BdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VzW2luc3RhbmNlLmlkXVtwcm9wXSA9IGluc3RhbmNlW3Byb3BdO1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2Nsb25lKG9iajogYW55KTogYW55IHtcclxuICAgICAgICBjb25zdCB0YXJnZXQ6IGFueSA9IHt9O1xyXG4gICAgICAgIGZvciAoY29uc3QgaSBpbiBvYmopIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGkpKSB7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXRbaV0gPSBvYmpbaV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -13,15 +13,15 @@ export class CmatPassToggleVisibilityComponent {
13
13
  get type() {
14
14
  return this.isVisible ? 'text' : 'password';
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPassToggleVisibilityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: CmatPassToggleVisibilityComponent, isStandalone: true, selector: "cmat-pass-toggle-visibility", inputs: { isVisible: "isVisible", tabindex: "tabindex" }, exportAs: ["cmatPassToggleVisibility"], ngImport: i0, template: "<button (click)=\"isVisible = !isVisible\" type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\"\n mat-icon-button [matRippleCentered]=\"true\" matRipple [attr.tabindex]=\"tabindex ? tabindex : null\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPassToggleVisibilityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CmatPassToggleVisibilityComponent, isStandalone: true, selector: "cmat-pass-toggle-visibility", inputs: { isVisible: "isVisible", tabindex: "tabindex" }, exportAs: ["cmatPassToggleVisibility"], ngImport: i0, template: "<button type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\" mat-icon-button\n matRipple [matRippleCentered]=\"true\" [attr.tabindex]=\"tabindex ? tabindex : null\" (click)=\"isVisible = !isVisible\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>", dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPassToggleVisibilityComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPassToggleVisibilityComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ selector: 'cmat-pass-toggle-visibility', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatPassToggleVisibility', standalone: true, imports: [MatButtonModule, MatRippleModule, MatIconModule], template: "<button (click)=\"isVisible = !isVisible\" type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\"\n mat-icon-button [matRippleCentered]=\"true\" matRipple [attr.tabindex]=\"tabindex ? tabindex : null\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>" }]
21
+ args: [{ selector: 'cmat-pass-toggle-visibility', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatPassToggleVisibility', standalone: true, imports: [MatButtonModule, MatRippleModule, MatIconModule], template: "<button type=\"button\" class=\"mat-icon-button cdk-focused cdk-mouse-focused\" mat-icon-button\n matRipple [matRippleCentered]=\"true\" [attr.tabindex]=\"tabindex ? tabindex : null\" (click)=\"isVisible = !isVisible\">\n <mat-icon svgIcon=\"{{isVisible ? 'mat_outline:visibility' : 'mat_outline:visibility_off' }}\"></mat-icon>\n</button>" }]
22
22
  }], propDecorators: { isVisible: [{
23
23
  type: Input
24
24
  }], tabindex: [{
25
25
  type: Input
26
26
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5L21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFhdkQsTUFBTSxPQUFPLGlDQUFpQztJQVQ5QztRQWVJLFVBQUssR0FBUyxNQUFNLENBQUM7S0FNeEI7SUFKRyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OEdBVlEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMseUxDaEI5QywyVkFHUywyQ0RXSyxlQUFlLDJJQUFFLGVBQWUsa1NBQUUsYUFBYTs7MkZBRWhELGlDQUFpQztrQkFUN0MsU0FBUzsrQkFDSSw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDOzhCQUkxRCxTQUFTO3NCQURSLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbnR5cGUgVHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICdjbWF0UGFzc1RvZ2dsZVZpc2liaWxpdHknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBNYXRJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDbWF0UGFzc1RvZ2dsZVZpc2liaWxpdHlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaXNWaXNpYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpXG4gICAgdGFiaW5kZXg/OiBzdHJpbmc7XG5cbiAgICBfdHlwZTogVHlwZSA9ICd0ZXh0JztcblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XG4gICAgfVxuXG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJpc1Zpc2libGUgPSAhaXNWaXNpYmxlXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwibWF0LWljb24tYnV0dG9uIGNkay1mb2N1c2VkIGNkay1tb3VzZS1mb2N1c2VkXCJcbiAgICBtYXQtaWNvbi1idXR0b24gW21hdFJpcHBsZUNlbnRlcmVkXT1cInRydWVcIiBtYXRSaXBwbGUgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7aXNWaXNpYmxlID8gJ21hdF9vdXRsaW5lOnZpc2liaWxpdHknIDogJ21hdF9vdXRsaW5lOnZpc2liaWxpdHlfb2ZmJyB9fVwiPjwvbWF0LWljb24+XG48L2J1dHRvbj4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoL21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5L21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS9tYXQtcGFzcy10b2dnbGUtdmlzaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFhdkQsTUFBTSxPQUFPLGlDQUFpQztJQVQ5QztRQWVJLFVBQUssR0FBUyxNQUFNLENBQUM7S0FNeEI7SUFKRyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OEdBVlEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMseUxDaEI5QywyVkFHUywyQ0RXSyxlQUFlLDJJQUFFLGVBQWUsa1NBQUUsYUFBYTs7MkZBRWhELGlDQUFpQztrQkFUN0MsU0FBUzsrQkFDSSw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDOzhCQUkxRCxTQUFTO3NCQURSLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbnR5cGUgVHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY21hdC1wYXNzLXRvZ2dsZS12aXNpYmlsaXR5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0LXBhc3MtdG9nZ2xlLXZpc2liaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICdjbWF0UGFzc1RvZ2dsZVZpc2liaWxpdHknLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEJ1dHRvbk1vZHVsZSwgTWF0UmlwcGxlTW9kdWxlLCBNYXRJY29uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDbWF0UGFzc1RvZ2dsZVZpc2liaWxpdHlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaXNWaXNpYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpXG4gICAgdGFiaW5kZXg/OiBzdHJpbmc7XG5cbiAgICBfdHlwZTogVHlwZSA9ICd0ZXh0JztcblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVmlzaWJsZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XG4gICAgfVxuXG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1hdC1pY29uLWJ1dHRvbiBjZGstZm9jdXNlZCBjZGstbW91c2UtZm9jdXNlZFwiIG1hdC1pY29uLWJ1dHRvblxuICAgIG1hdFJpcHBsZSBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCIgKGNsaWNrKT1cImlzVmlzaWJsZSA9ICFpc1Zpc2libGVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7aXNWaXNpYmxlID8gJ21hdF9vdXRsaW5lOnZpc2liaWxpdHknIDogJ21hdF9vdXRsaW5lOnZpc2liaWxpdHlfb2ZmJyB9fVwiPjwvbWF0LWljb24+XG48L2J1dHRvbj4iXX0=
@@ -40,10 +40,10 @@ export class CmatPasswordStrengthComponent {
40
40
  }
41
41
  }
42
42
  ngOnChanges(changes) {
43
- if ((changes['externalError'] && changes['externalError'].firstChange) || (changes['password'] && changes['password'].isFirstChange())) {
43
+ if ((changes['externalError']?.firstChange) || (changes['password']?.isFirstChange())) {
44
44
  return;
45
45
  }
46
- else if (changes['externalError'] && changes['externalError'].currentValue) {
46
+ else if (changes['externalError']?.currentValue) {
47
47
  this._color = Colors.warn;
48
48
  return;
49
49
  }
@@ -170,10 +170,10 @@ export class CmatPasswordStrengthComponent {
170
170
  this.calculatePasswordStrength();
171
171
  this.passwordConfirmationFormControl.updateValueAndValidity();
172
172
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPasswordStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: CmatPasswordStrengthComponent, isStandalone: true, selector: "cmat-password-strength", inputs: { password: "password", externalError: "externalError", enableLengthRule: "enableLengthRule", enableLowerCaseLetterRule: "enableLowerCaseLetterRule", enableUpperCaseLetterRule: "enableUpperCaseLetterRule", enableDigitRule: "enableDigitRule", enableSpecialCharRule: "enableSpecialCharRule", min: "min", max: "max", customValidator: "customValidator", warnThreshold: "warnThreshold", accentThreshold: "accentThreshold" }, outputs: { strengthChanged: "strengthChanged" }, exportAs: ["cmatPasswordStrength"], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>", dependencies: [{ kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPasswordStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CmatPasswordStrengthComponent, isStandalone: true, selector: "cmat-password-strength", inputs: { password: "password", externalError: "externalError", enableLengthRule: "enableLengthRule", enableLowerCaseLetterRule: "enableLowerCaseLetterRule", enableUpperCaseLetterRule: "enableUpperCaseLetterRule", enableDigitRule: "enableDigitRule", enableSpecialCharRule: "enableSpecialCharRule", min: "min", max: "max", customValidator: "customValidator", warnThreshold: "warnThreshold", accentThreshold: "accentThreshold" }, outputs: { strengthChanged: "strengthChanged" }, exportAs: ["cmatPasswordStrength"], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>", dependencies: [{ kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i1.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
175
175
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: CmatPasswordStrengthComponent, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CmatPasswordStrengthComponent, decorators: [{
177
177
  type: Component,
178
178
  args: [{ selector: 'cmat-password-strength', exportAs: 'cmatPasswordStrength', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatProgressBarModule], template: "<mat-progress-bar mode=\"determinate\" [color]=\"color\" [value]=\"strength\"></mat-progress-bar>" }]
179
179
  }], propDecorators: { password: [{
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
203
203
  }], strengthChanged: [{
204
204
  type: Output
205
205
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyw2QkFBNkI7SUFUMUM7UUFhYSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUNqQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxFQUFFLENB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UUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBDb2xvcnMsIENyaXRlcmlhIH0gZnJvbSAnLi4vZW51bSc7XHJcbmltcG9ydCB7IENtYXRQYXNzd29yZFN0cmVuZ3RoVmFsaWRhdG9yIH0gZnJvbSAnLi4vbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLXZhbGlkYXRvcic7XHJcbmltcG9ydCB7IFJlZ0V4cFZhbGlkYXRvciB9IGZyb20gJy4uL3JlZ2V4cC5jbGFzcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnY21hdC1wYXNzd29yZC1zdHJlbmd0aCcsXHJcbiAgICBleHBvcnRBczogJ2NtYXRQYXNzd29yZFN0cmVuZ3RoJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYXQtcGFzc3dvcmQtc3RyZW5ndGguY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRQcm9ncmVzc0Jhck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRQYXNzd29yZFN0cmVuZ3RoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgcGFzc3dvcmQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGV4dGVybmFsRXJyb3I6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KCkgZW5hYmxlTGVuZ3RoUnVsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBlbmFibGVMb3dlckNhc2VMZXR0ZXJSdWxlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZVVwcGVyQ2FzZUxldHRlclJ1bGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZW5hYmxlRGlnaXRSdWxlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZVNwZWNpYWxDaGFyUnVsZSA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgbWluID0gODtcclxuICAgIEBJbnB1dCgpIG1heCA9IDMwO1xyXG4gICAgQElucHV0KCkgY3VzdG9tVmFsaWRhdG9yOiBSZWdFeHA7XHJcblxyXG4gICAgQElucHV0KCkgd2FyblRocmVzaG9sZCA9IDIxO1xyXG4gICAgQElucHV0KCkgYWNjZW50VGhyZXNob2xkID0gODE7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBzdHJlbmd0aENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIGNyaXRlcmlhTWFwID0gbmV3IE1hcDxDcml0ZXJpYSwgUmVnRXhwPigpO1xyXG5cclxuICAgIGNvbnRhaW5BdExlYXN0TWluQ2hhcnM6IGJvb2xlYW4gfCB2b2lkO1xyXG4gICAgY29udGFpbkF0TGVhc3RPbmVMb3dlckNhc2VMZXR0ZXI6IGJvb2xlYW4gfCB2b2lkO1xyXG4gICAgY29udGFpbkF0TGVhc3RPbmVVcHBlckNhc2VMZXR0ZXI6IGJvb2xlYW4gfCB2b2lkO1xyXG4gICAgY29udGFpbkF0TGVhc3RPbmVEaWdpdDogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZVNwZWNpYWxDaGFyOiBib29sZWFuIHwgdm9pZDtcclxuICAgIGNvbnRhaW5BdEN1c3RvbUNoYXJzOiBib29sZWFuIHwgdm9pZDtcclxuXHJcbiAgICAvLyBUTyBBQ0NFU1MgVklBIENPTlRFTlQgQ0hJTERcclxuICAgIHBhc3N3b3JkRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgICBwYXNzd29yZENvbmZpcm1hdGlvbkZvcm1Db250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG5cclxuICAgIHZhbGlkYXRvcnNBcnJheTogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBudWxsO1xyXG4gICAgY21hdFBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0b3IgPSBuZXcgQ21hdFBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0b3IoKTtcclxuXHJcbiAgICBwcml2YXRlIF9zdHJlbmd0aCA9IDA7XHJcbiAgICBwcml2YXRlIF9jb2xvcjogVGhlbWVQYWxldHRlID0gJ3dhcm4nO1xyXG5cclxuICAgIGdldCBzdHJlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJlbmd0aCA/IHRoaXMuX3N0cmVuZ3RoIDogMDtcclxuICAgIH1cclxuICAgIGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldFJ1bGVzQW5kVmFsaWRhdG9ycygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5wYXNzd29yZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhc3N3b3JkU3RyZW5ndGgoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICgoY2hhbmdlc1snZXh0ZXJuYWxFcnJvciddICYmIGNoYW5nZXNbJ2V4dGVybmFsRXJyb3InXS5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXNbJ3Bhc3N3b3JkJ10gJiYgY2hhbmdlc1sncGFzc3dvcmQnXS5pc0ZpcnN0Q2hhbmdlKCkpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ2V4dGVybmFsRXJyb3InXSAmJiBjaGFuZ2VzWydleHRlcm5hbEVycm9yJ10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLndhcm47XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZXNbJ3Bhc3N3b3JkJ10gJiYgY2hhbmdlc1sncGFzc3dvcmQnXS5wcmV2aW91c1ZhbHVlID09PSBjaGFuZ2VzWydwYXNzd29yZCddLmN1cnJlbnRWYWx1ZSAmJiAhY2hhbmdlc1sncGFzc3dvcmQnXS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja1Bhc3N3b3JkKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBhc3N3b3JkICYmIHRoaXMucGFzc3dvcmQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja1Bhc3N3b3JkKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwYXJzZUN1c3RvbVZhbGlkYXRvcnNSZWdleCgpOiBSZWdFeHAge1xyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbVZhbGlkYXRvciBpbnN0YW5jZW9mIFJlZ0V4cCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21WYWxpZGF0b3I7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIFJlZ0V4cCh0aGlzLmN1c3RvbVZhbGlkYXRvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFJ1bGVzQW5kVmFsaWRhdG9ycygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY3JpdGVyaWFNYXAgPSBuZXcgTWFwPENyaXRlcmlhLCBSZWdFeHA+KCk7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZENvbmZpcm1hdGlvbkZvcm1Db250cm9sXHJcbiAgICAgICAgICAgIC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLmNtYXRQYXNzd29yZFN0cmVuZ3RoVmFsaWRhdG9yLmNvbmZpcm0odGhpcy5wYXNzd29yZClcclxuICAgICAgICAgICAgXSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlTGVuZ3RoUnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9laWdodF9jaGFycywgUmVnRXhwKGBeLnske3RoaXMubWlufSwke3RoaXMubWF4fX0kYCkpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKHRoaXMubWluKSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5tYXhMZW5ndGgodGhpcy5tYXgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlTG93ZXJDYXNlTGV0dGVyUnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfbG93ZXJfY2FzZV9jaGFyLCBSZWdFeHBWYWxpZGF0b3IubG93ZXJDYXNlKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLmxvd2VyQ2FzZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVVcHBlckNhc2VMZXR0ZXJSdWxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXAuc2V0KENyaXRlcmlhLmF0X2xlYXN0X29uZV91cHBlcl9jYXNlX2NoYXIsIFJlZ0V4cFZhbGlkYXRvci51cHBlckNhc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucGF0dGVybihSZWdFeHBWYWxpZGF0b3IudXBwZXJDYXNlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZURpZ2l0UnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfZGlnaXRfY2hhciwgUmVnRXhwVmFsaWRhdG9yLmRpZ2l0KTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLmRpZ2l0KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVNwZWNpYWxDaGFyUnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfc3BlY2lhbF9jaGFyLCBSZWdFeHBWYWxpZGF0b3Iuc3BlY2lhbENoYXIpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucGF0dGVybihSZWdFeHBWYWxpZGF0b3Iuc3BlY2lhbENoYXIpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tVmFsaWRhdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXAuc2V0KENyaXRlcmlhLmF0X2N1c3RvbV9jaGFycywgdGhpcy5wYXJzZUN1c3RvbVZhbGlkYXRvcnNSZWdleCgpKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy5wYXJzZUN1c3RvbVZhbGlkYXRvcnNSZWdleCgpKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLmZvckVhY2goKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2godGhpcy5jbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvci52YWxpZGF0ZShrZXksIHZhbHVlKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRGb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbLi4udGhpcy52YWxpZGF0b3JzQXJyYXldKSk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3JzID0gVmFsaWRhdG9ycy5jb21wb3NlKFsuLi50aGlzLnZhbGlkYXRvcnNBcnJheV0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVQYXNzd29yZFN0cmVuZ3RoKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJlcXVpcmVtZW50czogQXJyYXk8Ym9vbGVhbj4gPSBbXTtcclxuICAgICAgICBjb25zdCB1bml0ID0gMTAwIC8gdGhpcy5jcml0ZXJpYU1hcC5zaXplO1xyXG5cclxuICAgICAgICByZXF1aXJlbWVudHMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVMZW5ndGhSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RNaW5DaGFycygpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlTG93ZXJDYXNlTGV0dGVyUnVsZSA/IHRoaXMuX2NvbnRhaW5BdExlYXN0T25lTG93ZXJDYXNlTGV0dGVyKCkgOiBmYWxzZSxcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVVcHBlckNhc2VMZXR0ZXJSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVVcHBlckNhc2VMZXR0ZXIoKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZURpZ2l0UnVsZSA/IHRoaXMuX2NvbnRhaW5BdExlYXN0T25lRGlnaXQoKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZVNwZWNpYWxDaGFyUnVsZSA/IHRoaXMuX2NvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIoKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbVZhbGlkYXRvciA/IHRoaXMuX2NvbnRhaW5DdXN0b21DaGFycygpIDogZmFsc2VcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLl9zdHJlbmd0aCA9IHJlcXVpcmVtZW50cy5maWx0ZXIodiA9PiB2KS5sZW5ndGggKiB1bml0O1xyXG4gICAgICAgIHRoaXMuc3RyZW5ndGhDaGFuZ2VkLmVtaXQodGhpcy5zdHJlbmd0aCk7XHJcbiAgICAgICAgdGhpcy5zZXRSdWxlc0FuZFZhbGlkYXRvcnMoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3N0cmVuZ3RoIDwgdGhpcy53YXJuVGhyZXNob2xkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLndhcm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9zdHJlbmd0aCA8IHRoaXMuYWNjZW50VGhyZXNob2xkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLmFjY2VudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9jb2xvciA9IENvbG9ycy5wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdHJlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE1pbkNoYXJzID1cclxuICAgICAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlciA9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RPbmVVcHBlckNhc2VMZXR0ZXIgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lRGlnaXQgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdEN1c3RvbUNoYXJzID1cclxuICAgICAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZVNwZWNpYWxDaGFyID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLndhcm47XHJcbiAgICAgICAgdGhpcy5zdHJlbmd0aENoYW5nZWQuZW1pdCh0aGlzLnN0cmVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE1pbkNoYXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RNaW5DaGFycyA9IHRoaXMucGFzc3dvcmQubGVuZ3RoID49IHRoaXMubWluO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdExlYXN0TWluQ2hhcnM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkF0TGVhc3RPbmVMb3dlckNhc2VMZXR0ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlciA9XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXBcclxuICAgICAgICAgICAgICAgIC5nZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2xvd2VyX2Nhc2VfY2hhcik/LnRlc3QodGhpcy5wYXNzd29yZCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0TGVhc3RPbmVMb3dlckNhc2VMZXR0ZXIgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkF0TGVhc3RPbmVVcHBlckNhc2VMZXR0ZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlciA9XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXBcclxuICAgICAgICAgICAgICAgIC5nZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX3VwcGVyX2Nhc2VfY2hhcik/LnRlc3QodGhpcy5wYXNzd29yZCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0TGVhc3RPbmVVcHBlckNhc2VMZXR0ZXIgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkF0TGVhc3RPbmVEaWdpdCgpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lRGlnaXQgPVxyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwXHJcbiAgICAgICAgICAgICAgICAuZ2V0KENyaXRlcmlhLmF0X2xlYXN0X29uZV9kaWdpdF9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZURpZ2l0IHx8IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZVNwZWNpYWxDaGFyID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfc3BlY2lhbF9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZVNwZWNpYWxDaGFyIHx8IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5DdXN0b21DaGFycygpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdEN1c3RvbUNoYXJzID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9jdXN0b21fY2hhcnMpPy50ZXN0KHRoaXMucGFzc3dvcmQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdEN1c3RvbUNoYXJzIHx8IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoZWNrUGFzc3dvcmQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYWxjdWxhdGVQYXNzd29yZFN0cmVuZ3RoKCk7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZENvbmZpcm1hdGlvbkZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIH1cclxufVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiZGV0ZXJtaW5hdGVcIiBbY29sb3JdPVwiY29sb3JcIiBbdmFsdWVdPVwic3RyZW5ndGhcIj48L21hdC1wcm9ncmVzcy1iYXI+Il19
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC9tYXQtcGFzc3dvcmQtc3RyZW5ndGgvbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySixPQUFPLEVBQUUsV0FBVyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzNDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBV2xELE1BQU0sT0FBTyw2QkFBNkI7SUFUMUM7UUFhYSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsOEJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLDhCQUF5QixHQUFHLElBQUksQ0FBQztRQUNqQyxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxFQUFFLENB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QkFBc0IsaUJBRWpCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsb0JBQW9CLENBQUM7OEJBR3RCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcclxuaW1wb3J0IHsgQ29sb3JzLCBDcml0ZXJpYSB9IGZyb20gJy4uL2VudW0nO1xyXG5pbXBvcnQgeyBDbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvciB9IGZyb20gJy4uL21hdC1wYXNzd29yZC1zdHJlbmd0aC12YWxpZGF0b3InO1xyXG5pbXBvcnQgeyBSZWdFeHBWYWxpZGF0b3IgfSBmcm9tICcuLi9yZWdleHAuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NtYXQtcGFzc3dvcmQtc3RyZW5ndGgnLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0UGFzc3dvcmRTdHJlbmd0aCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWF0LXBhc3N3b3JkLXN0cmVuZ3RoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTWF0UHJvZ3Jlc3NCYXJNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0UGFzc3dvcmRTdHJlbmd0aENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBJbnB1dCgpIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHRlcm5hbEVycm9yOiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpIGVuYWJsZUxlbmd0aFJ1bGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZW5hYmxlTG93ZXJDYXNlTGV0dGVyUnVsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBlbmFibGVVcHBlckNhc2VMZXR0ZXJSdWxlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGVuYWJsZURpZ2l0UnVsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBlbmFibGVTcGVjaWFsQ2hhclJ1bGUgPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpIG1pbiA9IDg7XHJcbiAgICBASW5wdXQoKSBtYXggPSAzMDtcclxuICAgIEBJbnB1dCgpIGN1c3RvbVZhbGlkYXRvcjogUmVnRXhwO1xyXG5cclxuICAgIEBJbnB1dCgpIHdhcm5UaHJlc2hvbGQgPSAyMTtcclxuICAgIEBJbnB1dCgpIGFjY2VudFRocmVzaG9sZCA9IDgxO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgc3RyZW5ndGhDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgY3JpdGVyaWFNYXAgPSBuZXcgTWFwPENyaXRlcmlhLCBSZWdFeHA+KCk7XHJcblxyXG4gICAgY29udGFpbkF0TGVhc3RNaW5DaGFyczogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlcjogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcjogYm9vbGVhbiB8IHZvaWQ7XHJcbiAgICBjb250YWluQXRMZWFzdE9uZURpZ2l0OiBib29sZWFuIHwgdm9pZDtcclxuICAgIGNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXI6IGJvb2xlYW4gfCB2b2lkO1xyXG4gICAgY29udGFpbkF0Q3VzdG9tQ2hhcnM6IGJvb2xlYW4gfCB2b2lkO1xyXG5cclxuICAgIC8vIFRPIEFDQ0VTUyBWSUEgQ09OVEVOVCBDSElMRFxyXG4gICAgcGFzc3dvcmRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICAgIHBhc3N3b3JkQ29uZmlybWF0aW9uRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gICAgdmFsaWRhdG9yc0FycmF5OiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IG51bGw7XHJcbiAgICBjbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvciA9IG5ldyBDbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvcigpO1xyXG5cclxuICAgIHByaXZhdGUgX3N0cmVuZ3RoID0gMDtcclxuICAgIHByaXZhdGUgX2NvbG9yOiBUaGVtZVBhbGV0dGUgPSAnd2Fybic7XHJcblxyXG4gICAgZ2V0IHN0cmVuZ3RoKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0cmVuZ3RoID8gdGhpcy5fc3RyZW5ndGggOiAwO1xyXG4gICAgfVxyXG4gICAgZ2V0IGNvbG9yKCk6IFRoZW1lUGFsZXR0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0UnVsZXNBbmRWYWxpZGF0b3JzKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnBhc3N3b3JkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUGFzc3dvcmRTdHJlbmd0aCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKChjaGFuZ2VzWydleHRlcm5hbEVycm9yJ10/LmZpcnN0Q2hhbmdlKSB8fCAoY2hhbmdlc1sncGFzc3dvcmQnXT8uaXNGaXJzdENoYW5nZSgpKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydleHRlcm5hbEVycm9yJ10/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9jb2xvciA9IENvbG9ycy53YXJuO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2VzWydwYXNzd29yZCddICYmIGNoYW5nZXNbJ3Bhc3N3b3JkJ10ucHJldmlvdXNWYWx1ZSA9PT0gY2hhbmdlc1sncGFzc3dvcmQnXS5jdXJyZW50VmFsdWUgJiYgIWNoYW5nZXNbJ3Bhc3N3b3JkJ10uZmlyc3RDaGFuZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tQYXNzd29yZCgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wYXNzd29yZCAmJiB0aGlzLnBhc3N3b3JkLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tQYXNzd29yZCgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKTogUmVnRXhwIHtcclxuICAgICAgICBpZiAodGhpcy5jdXN0b21WYWxpZGF0b3IgaW5zdGFuY2VvZiBSZWdFeHApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tVmFsaWRhdG9yO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBSZWdFeHAodGhpcy5jdXN0b21WYWxpZGF0b3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRSdWxlc0FuZFZhbGlkYXRvcnMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNyaXRlcmlhTWFwID0gbmV3IE1hcDxDcml0ZXJpYSwgUmVnRXhwPigpO1xyXG4gICAgICAgIHRoaXMucGFzc3dvcmRDb25maXJtYXRpb25Gb3JtQ29udHJvbFxyXG4gICAgICAgICAgICAuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy5jbWF0UGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRvci5jb25maXJtKHRoaXMucGFzc3dvcmQpXHJcbiAgICAgICAgICAgIF0pKTtcclxuICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUxlbmd0aFJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3RfZWlnaHRfY2hhcnMsIFJlZ0V4cChgXi57JHt0aGlzLm1pbn0sJHt0aGlzLm1heH19JGApKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aCh0aGlzLm1pbikpO1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHRoaXMubWF4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZUxvd2VyQ2FzZUxldHRlclJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2xvd2VyX2Nhc2VfY2hhciwgUmVnRXhwVmFsaWRhdG9yLmxvd2VyQ2FzZSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKFJlZ0V4cFZhbGlkYXRvci5sb3dlckNhc2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlVXBwZXJDYXNlTGV0dGVyUnVsZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfdXBwZXJfY2FzZV9jaGFyLCBSZWdFeHBWYWxpZGF0b3IudXBwZXJDYXNlKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLnVwcGVyQ2FzZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVEaWdpdFJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2RpZ2l0X2NoYXIsIFJlZ0V4cFZhbGlkYXRvci5kaWdpdCk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKFJlZ0V4cFZhbGlkYXRvci5kaWdpdCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5lbmFibGVTcGVjaWFsQ2hhclJ1bGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5zZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX3NwZWNpYWxfY2hhciwgUmVnRXhwVmFsaWRhdG9yLnNwZWNpYWxDaGFyKTtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0b3JzQXJyYXkucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4oUmVnRXhwVmFsaWRhdG9yLnNwZWNpYWxDaGFyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmN1c3RvbVZhbGlkYXRvcikge1xyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwLnNldChDcml0ZXJpYS5hdF9jdXN0b21fY2hhcnMsIHRoaXMucGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKSk7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yc0FycmF5LnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMucGFyc2VDdXN0b21WYWxpZGF0b3JzUmVnZXgoKSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jcml0ZXJpYU1hcC5mb3JFYWNoKCh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvcnNBcnJheS5wdXNoKHRoaXMuY21hdFBhc3N3b3JkU3RyZW5ndGhWYWxpZGF0b3IudmFsaWRhdGUoa2V5LCB2YWx1ZSkpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnBhc3N3b3JkRm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoWy4uLnRoaXMudmFsaWRhdG9yc0FycmF5XSkpO1xyXG4gICAgICAgIHRoaXMudmFsaWRhdG9ycyA9IFZhbGlkYXRvcnMuY29tcG9zZShbLi4udGhpcy52YWxpZGF0b3JzQXJyYXldKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlUGFzc3dvcmRTdHJlbmd0aCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCByZXF1aXJlbWVudHM6IGJvb2xlYW5bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHVuaXQgPSAxMDAgLyB0aGlzLmNyaXRlcmlhTWFwLnNpemU7XHJcblxyXG4gICAgICAgIHJlcXVpcmVtZW50cy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZUxlbmd0aFJ1bGUgPyB0aGlzLl9jb250YWluQXRMZWFzdE1pbkNoYXJzKCkgOiBmYWxzZSxcclxuICAgICAgICAgICAgdGhpcy5lbmFibGVMb3dlckNhc2VMZXR0ZXJSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVMb3dlckNhc2VMZXR0ZXIoKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZVVwcGVyQ2FzZUxldHRlclJ1bGUgPyB0aGlzLl9jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcigpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRGlnaXRSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVEaWdpdCgpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlU3BlY2lhbENoYXJSdWxlID8gdGhpcy5fY29udGFpbkF0TGVhc3RPbmVTcGVjaWFsQ2hhcigpIDogZmFsc2UsXHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tVmFsaWRhdG9yID8gdGhpcy5fY29udGFpbkN1c3RvbUNoYXJzKCkgOiBmYWxzZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0cmVuZ3RoID0gcmVxdWlyZW1lbnRzLmZpbHRlcih2ID0+IHYpLmxlbmd0aCAqIHVuaXQ7XHJcbiAgICAgICAgdGhpcy5zdHJlbmd0aENoYW5nZWQuZW1pdCh0aGlzLnN0cmVuZ3RoKTtcclxuICAgICAgICB0aGlzLnNldFJ1bGVzQW5kVmFsaWRhdG9ycygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RyZW5ndGggPCB0aGlzLndhcm5UaHJlc2hvbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMud2FybjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3N0cmVuZ3RoIDwgdGhpcy5hY2NlbnRUaHJlc2hvbGQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMuYWNjZW50O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yID0gQ29sb3JzLnByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N0cmVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0TWluQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lTG93ZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlciA9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RPbmVEaWdpdCA9XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29sb3IgPSBDb2xvcnMud2FybjtcclxuICAgICAgICB0aGlzLnN0cmVuZ3RoQ2hhbmdlZC5lbWl0KHRoaXMuc3RyZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5BdExlYXN0TWluQ2hhcnMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgdGhpcy5jb250YWluQXRMZWFzdE1pbkNoYXJzID0gdGhpcy5wYXNzd29yZC5sZW5ndGggPj0gdGhpcy5taW47XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0TGVhc3RNaW5DaGFycztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lTG93ZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfbG93ZXJfY2FzZV9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZUxvd2VyQ2FzZUxldHRlciB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lVXBwZXJDYXNlTGV0dGVyID1cclxuICAgICAgICAgICAgdGhpcy5jcml0ZXJpYU1hcFxyXG4gICAgICAgICAgICAgICAgLmdldChDcml0ZXJpYS5hdF9sZWFzdF9vbmVfdXBwZXJfY2FzZV9jaGFyKT8udGVzdCh0aGlzLnBhc3N3b3JkKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluQXRMZWFzdE9uZVVwcGVyQ2FzZUxldHRlciB8fCBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jb250YWluQXRMZWFzdE9uZURpZ2l0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbkF0TGVhc3RPbmVEaWdpdCA9XHJcbiAgICAgICAgICAgIHRoaXMuY3JpdGVyaWFNYXBcclxuICAgICAgICAgICAgICAgIC5nZXQoQ3JpdGVyaWEuYXRfbGVhc3Rfb25lX2RpZ2l0X2NoYXIpPy50ZXN0KHRoaXMucGFzc3dvcmQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdExlYXN0T25lRGlnaXQgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkF0TGVhc3RPbmVTcGVjaWFsQ2hhcigpOiBib29sZWFuIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgPVxyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwXHJcbiAgICAgICAgICAgICAgICAuZ2V0KENyaXRlcmlhLmF0X2xlYXN0X29uZV9zcGVjaWFsX2NoYXIpPy50ZXN0KHRoaXMucGFzc3dvcmQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5BdExlYXN0T25lU3BlY2lhbENoYXIgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY29udGFpbkN1c3RvbUNoYXJzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgPVxyXG4gICAgICAgICAgICB0aGlzLmNyaXRlcmlhTWFwXHJcbiAgICAgICAgICAgICAgICAuZ2V0KENyaXRlcmlhLmF0X2N1c3RvbV9jaGFycyk/LnRlc3QodGhpcy5wYXNzd29yZCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbkF0Q3VzdG9tQ2hhcnMgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tQYXNzd29yZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNhbGN1bGF0ZVBhc3N3b3JkU3RyZW5ndGgoKTtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkQ29uZmlybWF0aW9uRm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFtjb2xvcl09XCJjb2xvclwiIFt2YWx1ZV09XCJzdHJlbmd0aFwiPjwvbWF0LXByb2dyZXNzLWJhcj4iXX0=