slick-components 4.4.13 → 4.4.16

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 (346) hide show
  1. package/css/slick-components.css +598 -365
  2. package/css/slick-components.min.css +1 -1
  3. package/esm2020/public-api.mjs +43 -0
  4. package/esm2020/slick-accordion/slick-accordion-item-header.component.mjs +14 -0
  5. package/esm2020/slick-accordion/slick-accordion-item.component.mjs +86 -0
  6. package/esm2020/slick-accordion/slick-accordion.component.mjs +75 -0
  7. package/esm2020/slick-accordion/slick-accordion.module.mjs +23 -0
  8. package/esm2020/slick-auto-complete/slick-auto-complete-list-item-template.directive.mjs +22 -0
  9. package/esm2020/slick-auto-complete/slick-auto-complete.component.mjs +375 -0
  10. package/esm2020/slick-auto-complete/slick-auto-complete.module.mjs +24 -0
  11. package/esm2020/slick-button-spinner/slick-button-spinner.component.mjs +175 -0
  12. package/esm2020/slick-button-spinner/slick-button-spinner.module.mjs +19 -0
  13. package/esm2020/slick-calendar/slick-calendar.component.mjs +246 -0
  14. package/esm2020/slick-calendar/slick-calendar.module.mjs +19 -0
  15. package/esm2020/slick-card/slick-card-header.component.mjs +14 -0
  16. package/esm2020/slick-card/slick-card.component.mjs +42 -0
  17. package/esm2020/slick-card/slick-card.module.mjs +20 -0
  18. package/esm2020/slick-components.mjs +5 -0
  19. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.component.mjs +65 -0
  20. package/esm2020/slick-confirm-dialog/slick-confirm-dialog.module.mjs +20 -0
  21. package/esm2020/slick-container/slick-container-body.component.mjs +24 -0
  22. package/esm2020/slick-container/slick-container-footer.component.mjs +20 -0
  23. package/esm2020/slick-container/slick-container-header.component.mjs +20 -0
  24. package/esm2020/slick-container/slick-container.component.mjs +21 -0
  25. package/esm2020/slick-container/slick-container.module.mjs +25 -0
  26. package/esm2020/slick-context-menu/slick-context-menu-item.component.mjs +14 -0
  27. package/esm2020/slick-context-menu/slick-context-menu.component.mjs +48 -0
  28. package/esm2020/slick-context-menu/slick-context-menu.module.mjs +20 -0
  29. package/{esm2015/slick-currency-mask/slick-currency-mask-options.model.js → esm2020/slick-currency-mask/slick-currency-mask-options.model.mjs} +0 -0
  30. package/esm2020/slick-currency-mask/slick-currency-mask.directive.mjs +233 -0
  31. package/esm2020/slick-currency-mask/slick-currency-mask.module.mjs +19 -0
  32. package/esm2020/slick-date-picker/slick-date-picker.component.mjs +278 -0
  33. package/esm2020/slick-date-picker/slick-date-picker.module.mjs +21 -0
  34. package/esm2020/slick-dialog/slick-dialog-footer.component.mjs +24 -0
  35. package/esm2020/slick-dialog/slick-dialog.component.mjs +294 -0
  36. package/esm2020/slick-dialog/slick-dialog.module.mjs +23 -0
  37. package/esm2020/slick-dialog/slick-dialog.service.mjs +68 -0
  38. package/esm2020/slick-drag-drop/slick-drag-drop.directive.mjs +13 -0
  39. package/esm2020/slick-drag-drop/slick-drag-drop.module.mjs +21 -0
  40. package/esm2020/slick-drag-drop/slick-draggable.directive.mjs +13 -0
  41. package/{esm2015/slick-drop-down/slick-drop-down-button.model.js → esm2020/slick-drop-down/slick-drop-down-button.model.mjs} +0 -0
  42. package/esm2020/slick-drop-down/slick-drop-down.component.mjs +479 -0
  43. package/esm2020/slick-drop-down/slick-drop-down.module.mjs +24 -0
  44. package/esm2020/slick-drop-down/slick-drop-down.service.mjs +55 -0
  45. package/esm2020/slick-drop-list/slick-drop-list-grab.directive.mjs +18 -0
  46. package/esm2020/slick-drop-list/slick-drop-list-item.directive.mjs +18 -0
  47. package/esm2020/slick-drop-list/slick-drop-list.directive.mjs +215 -0
  48. package/esm2020/slick-drop-list/slick-drop-list.module.mjs +23 -0
  49. package/esm2020/slick-email-viewer/slick-email-viewer-dialog.component.mjs +81 -0
  50. package/esm2020/slick-email-viewer/slick-email-viewer.component.mjs +42 -0
  51. package/esm2020/slick-email-viewer/slick-email-viewer.module.mjs +26 -0
  52. package/{esm2015/slick-emailer/slick-emailer-address.model.js → esm2020/slick-emailer/slick-emailer-address.model.mjs} +0 -0
  53. package/esm2020/slick-emailer/slick-emailer-dialog.component.mjs +153 -0
  54. package/esm2020/slick-emailer/slick-emailer.component.mjs +235 -0
  55. package/{esm2015/slick-emailer/slick-emailer.model.js → esm2020/slick-emailer/slick-emailer.model.mjs} +0 -0
  56. package/esm2020/slick-emailer/slick-emailer.module.mjs +29 -0
  57. package/esm2020/slick-file-drop/slick-file-drop.component.mjs +156 -0
  58. package/esm2020/slick-file-drop/slick-file-drop.module.mjs +20 -0
  59. package/esm2020/slick-file-list/slick-file-list-item.component.mjs +173 -0
  60. package/esm2020/slick-file-list/slick-file-list.component.mjs +130 -0
  61. package/esm2020/slick-file-list/slick-file-list.module.mjs +23 -0
  62. package/{esm2015/slick-file-model/slick-file.model.js → esm2020/slick-file-model/slick-file.model.mjs} +0 -0
  63. package/esm2020/slick-google-address-search/slick-google-address-search.directive.mjs +75 -0
  64. package/esm2020/slick-google-address-search/slick-google-address-search.module.mjs +19 -0
  65. package/esm2020/slick-google-map/slick-google-map-dialog.component.mjs +50 -0
  66. package/esm2020/slick-google-map/slick-google-map.component.mjs +48 -0
  67. package/esm2020/slick-google-map/slick-google-map.module.mjs +22 -0
  68. package/esm2020/slick-grid/slick-grid-column-template.directive.mjs +19 -0
  69. package/{esm2015/slick-grid/slick-grid-column.model.js → esm2020/slick-grid/slick-grid-column.model.mjs} +0 -0
  70. package/{esm2015/slick-grid/slick-grid-favorite.model.js → esm2020/slick-grid/slick-grid-favorite.model.mjs} +0 -0
  71. package/{esm2015/slick-grid/slick-grid-request.model.js → esm2020/slick-grid/slick-grid-request.model.mjs} +0 -0
  72. package/{esm2015/slick-grid/slick-grid-response.model.js → esm2020/slick-grid/slick-grid-response.model.mjs} +0 -0
  73. package/esm2020/slick-grid/slick-grid-sanitize.pipe.mjs +20 -0
  74. package/esm2020/slick-grid/slick-grid.component.mjs +793 -0
  75. package/esm2020/slick-grid/slick-grid.module.mjs +43 -0
  76. package/{esm2015/slick-grid/slick-grid.options.js → esm2020/slick-grid/slick-grid.options.mjs} +0 -0
  77. package/esm2020/slick-grid/slick-grid.service.mjs +66 -0
  78. package/esm2020/slick-multi-select/slick-multi-select.component.mjs +362 -0
  79. package/esm2020/slick-multi-select/slick-multi-select.module.mjs +20 -0
  80. package/esm2020/slick-multi-select/slick-multi-select.service.mjs +77 -0
  81. package/esm2020/slick-ordered-list/slick-ordered-list.component.mjs +200 -0
  82. package/esm2020/slick-ordered-list/slick-ordered-list.module.mjs +20 -0
  83. package/esm2020/slick-paging/slick-paging.component.mjs +185 -0
  84. package/esm2020/slick-paging/slick-paging.module.mjs +19 -0
  85. package/esm2020/slick-photo-gallery/slick-photo-gallery.component.mjs +98 -0
  86. package/{esm2015/slick-photo-gallery/slick-photo-gallery.model.js → esm2020/slick-photo-gallery/slick-photo-gallery.model.mjs} +0 -0
  87. package/esm2020/slick-photo-gallery/slick-photo-gallery.module.mjs +21 -0
  88. package/esm2020/slick-pick-list/slick-pick-list.component.mjs +84 -0
  89. package/esm2020/slick-pick-list/slick-pick-list.module.mjs +20 -0
  90. package/esm2020/slick-popover/slick-popover.component.mjs +204 -0
  91. package/esm2020/slick-popover/slick-popover.module.mjs +19 -0
  92. package/esm2020/slick-profile-picture/slick-profile-picture.component.mjs +267 -0
  93. package/esm2020/slick-profile-picture/slick-profile-picture.module.mjs +20 -0
  94. package/esm2020/slick-progress-bar/slick-progress-bar.module.mjs +18 -0
  95. package/esm2020/slick-progress-bar/slick-progress-bar.service.mjs +53 -0
  96. package/esm2020/slick-screen-blocker/slick-screen-blocker.module.mjs +18 -0
  97. package/esm2020/slick-screen-blocker/slick-screen-blocker.service.mjs +83 -0
  98. package/{esm2015/slick-slider/slick-slider-tick.model.js → esm2020/slick-slider/slick-slider-tick.model.mjs} +0 -0
  99. package/esm2020/slick-slider/slick-slider.component.mjs +90 -0
  100. package/esm2020/slick-slider/slick-slider.module.mjs +20 -0
  101. package/esm2020/slick-split-screen/slick-screen-split-left-content.component.mjs +15 -0
  102. package/esm2020/slick-split-screen/slick-screen-split-right-content.component.mjs +15 -0
  103. package/esm2020/slick-split-screen/slick-split-screen.component.mjs +159 -0
  104. package/esm2020/slick-split-screen/slick-split-screen.module.mjs +21 -0
  105. package/esm2020/slick-tabs/slick-tab-header.component.mjs +28 -0
  106. package/esm2020/slick-tabs/slick-tab.component.mjs +63 -0
  107. package/{esm2015/slick-tabs/slick-tab.model.js → esm2020/slick-tabs/slick-tab.model.mjs} +0 -0
  108. package/esm2020/slick-tabs/slick-tabs.component.mjs +107 -0
  109. package/esm2020/slick-tabs/slick-tabs.module.mjs +23 -0
  110. package/esm2020/slick-toast/slick-toast.module.mjs +18 -0
  111. package/esm2020/slick-toast/slick-toast.service.mjs +88 -0
  112. package/{esm2015/slick-tree-view/slick-tree-node.model.js → esm2020/slick-tree-view/slick-tree-node.model.mjs} +0 -0
  113. package/esm2020/slick-tree-view/slick-tree-view.component.mjs +293 -0
  114. package/esm2020/slick-tree-view/slick-tree-view.module.mjs +22 -0
  115. package/esm2020/slick-type-ahead/slick-type-ahead.directive.mjs +164 -0
  116. package/esm2020/slick-type-ahead/slick-type-ahead.module.mjs +18 -0
  117. package/esm2020/slick-validation-indicator/slick-validation-indicator.directive.mjs +63 -0
  118. package/esm2020/slick-validation-indicator/slick-validation-indicator.module.mjs +19 -0
  119. package/esm2020/utils/slick-function-lock.service.mjs +55 -0
  120. package/esm2020/utils/slick-init.service.mjs +49 -0
  121. package/esm2020/utils/slick-log.service.mjs +23 -0
  122. package/esm2020/utils/slick-sleep.service.mjs +14 -0
  123. package/esm2020/utils/slick-utils.service.mjs +247 -0
  124. package/fesm2015/{slick-components.js → slick-components.mjs} +2779 -2070
  125. package/fesm2015/slick-components.mjs.map +1 -0
  126. package/fesm2020/slick-components.mjs +8467 -0
  127. package/fesm2020/slick-components.mjs.map +1 -0
  128. package/package.json +20 -8
  129. package/public-api.d.ts +8 -8
  130. package/slick-accordion/slick-accordion-item-header.component.d.ts +3 -0
  131. package/slick-accordion/slick-accordion-item.component.d.ts +3 -0
  132. package/slick-accordion/slick-accordion.component.d.ts +3 -0
  133. package/slick-accordion/slick-accordion.module.d.ts +8 -0
  134. package/slick-auto-complete/slick-auto-complete-list-item-template.directive.d.ts +3 -0
  135. package/slick-auto-complete/slick-auto-complete.component.d.ts +3 -0
  136. package/slick-auto-complete/slick-auto-complete.module.d.ts +8 -0
  137. package/slick-button-spinner/slick-button-spinner.component.d.ts +3 -0
  138. package/slick-button-spinner/slick-button-spinner.module.d.ts +6 -0
  139. package/slick-calendar/slick-calendar.component.d.ts +3 -0
  140. package/slick-calendar/slick-calendar.module.d.ts +6 -0
  141. package/slick-card/slick-card-header.component.d.ts +3 -0
  142. package/slick-card/slick-card.component.d.ts +3 -0
  143. package/slick-card/slick-card.module.d.ts +10 -0
  144. package/slick-components.d.ts +1 -22
  145. package/slick-confirm-dialog/slick-confirm-dialog.component.d.ts +3 -0
  146. package/slick-confirm-dialog/slick-confirm-dialog.module.d.ts +7 -0
  147. package/slick-container/slick-container-body.component.d.ts +3 -0
  148. package/slick-container/slick-container-footer.component.d.ts +3 -0
  149. package/slick-container/slick-container-header.component.d.ts +3 -0
  150. package/slick-container/slick-container.component.d.ts +3 -0
  151. package/slick-container/slick-container.module.d.ts +9 -0
  152. package/slick-context-menu/slick-context-menu-item.component.d.ts +3 -0
  153. package/slick-context-menu/slick-context-menu.component.d.ts +3 -0
  154. package/slick-context-menu/slick-context-menu.module.d.ts +7 -0
  155. package/slick-currency-mask/slick-currency-mask.directive.d.ts +3 -0
  156. package/slick-currency-mask/slick-currency-mask.module.d.ts +5 -0
  157. package/slick-date-picker/slick-date-picker.component.d.ts +3 -0
  158. package/slick-date-picker/slick-date-picker.module.d.ts +8 -0
  159. package/slick-dialog/slick-dialog-footer.component.d.ts +3 -0
  160. package/slick-dialog/slick-dialog.component.d.ts +3 -0
  161. package/slick-dialog/slick-dialog.module.d.ts +10 -1
  162. package/slick-dialog/slick-dialog.service.d.ts +3 -0
  163. package/slick-drag-drop/slick-drag-drop.directive.d.ts +3 -0
  164. package/slick-drag-drop/slick-drag-drop.module.d.ts +11 -0
  165. package/slick-drag-drop/slick-draggable.directive.d.ts +3 -0
  166. package/slick-drop-down/slick-drop-down.component.d.ts +3 -0
  167. package/slick-drop-down/slick-drop-down.module.d.ts +9 -0
  168. package/slick-drop-down/slick-drop-down.service.d.ts +3 -0
  169. package/slick-drop-list/slick-drop-list-grab.directive.d.ts +3 -0
  170. package/slick-drop-list/slick-drop-list-item.directive.d.ts +3 -0
  171. package/slick-drop-list/slick-drop-list.directive.d.ts +13 -7
  172. package/slick-drop-list/slick-drop-list.module.d.ts +14 -0
  173. package/slick-email-viewer/slick-email-viewer-dialog.component.d.ts +3 -0
  174. package/slick-email-viewer/slick-email-viewer.component.d.ts +3 -0
  175. package/slick-email-viewer/slick-email-viewer.module.d.ts +10 -0
  176. package/slick-emailer/slick-emailer-dialog.component.d.ts +3 -0
  177. package/slick-emailer/slick-emailer.component.d.ts +3 -0
  178. package/slick-emailer/slick-emailer.module.d.ts +13 -0
  179. package/slick-file-drop/slick-file-drop.component.d.ts +3 -0
  180. package/slick-file-drop/slick-file-drop.module.d.ts +7 -0
  181. package/slick-file-list/slick-file-list-item.component.d.ts +3 -0
  182. package/slick-file-list/slick-file-list.component.d.ts +3 -0
  183. package/slick-file-list/slick-file-list.module.d.ts +10 -0
  184. package/slick-google-address-search/slick-google-address-search.directive.d.ts +3 -0
  185. package/slick-google-address-search/slick-google-address-search.module.d.ts +6 -0
  186. package/slick-google-map/slick-google-map-dialog.component.d.ts +3 -0
  187. package/slick-google-map/slick-google-map.component.d.ts +3 -0
  188. package/slick-google-map/slick-google-map.module.d.ts +8 -0
  189. package/slick-grid/slick-grid-column-template.directive.d.ts +3 -0
  190. package/slick-grid/slick-grid-sanitize.pipe.d.ts +3 -0
  191. package/slick-grid/slick-grid.component.d.ts +3 -0
  192. package/slick-grid/slick-grid.module.d.ts +16 -0
  193. package/slick-grid/slick-grid.service.d.ts +3 -0
  194. package/slick-multi-select/slick-multi-select.component.d.ts +3 -0
  195. package/slick-multi-select/slick-multi-select.module.d.ts +7 -0
  196. package/slick-multi-select/slick-multi-select.service.d.ts +3 -0
  197. package/slick-ordered-list/slick-ordered-list.component.d.ts +3 -0
  198. package/slick-ordered-list/slick-ordered-list.module.d.ts +7 -0
  199. package/slick-paging/slick-paging.component.d.ts +3 -0
  200. package/slick-paging/slick-paging.module.d.ts +6 -0
  201. package/slick-photo-gallery/slick-photo-gallery.component.d.ts +3 -0
  202. package/slick-photo-gallery/slick-photo-gallery.module.d.ts +6 -0
  203. package/slick-pick-list/slick-pick-list.component.d.ts +3 -0
  204. package/slick-pick-list/slick-pick-list.module.d.ts +7 -0
  205. package/slick-popover/slick-popover.component.d.ts +3 -0
  206. package/slick-popover/slick-popover.module.d.ts +6 -0
  207. package/slick-profile-picture/slick-profile-picture.component.d.ts +3 -0
  208. package/slick-profile-picture/slick-profile-picture.module.d.ts +7 -0
  209. package/slick-progress-bar/slick-progress-bar.module.d.ts +5 -0
  210. package/slick-progress-bar/slick-progress-bar.service.d.ts +3 -0
  211. package/slick-screen-blocker/slick-screen-blocker.module.d.ts +5 -0
  212. package/slick-screen-blocker/slick-screen-blocker.service.d.ts +3 -0
  213. package/slick-slider/slick-slider.component.d.ts +3 -0
  214. package/slick-slider/slick-slider.module.d.ts +6 -0
  215. package/slick-split-screen/slick-screen-split-left-content.component.d.ts +3 -0
  216. package/slick-split-screen/slick-screen-split-right-content.component.d.ts +3 -0
  217. package/slick-split-screen/slick-split-screen.component.d.ts +3 -0
  218. package/slick-split-screen/slick-split-screen.module.d.ts +8 -0
  219. package/slick-tabs/slick-tab-header.component.d.ts +3 -0
  220. package/slick-tabs/slick-tab.component.d.ts +3 -0
  221. package/slick-tabs/slick-tabs.component.d.ts +3 -0
  222. package/slick-tabs/slick-tabs.module.d.ts +10 -0
  223. package/slick-toast/slick-toast.module.d.ts +5 -0
  224. package/slick-toast/slick-toast.service.d.ts +3 -0
  225. package/slick-tree-view/slick-tree-view.component.d.ts +3 -0
  226. package/slick-tree-view/slick-tree-view.module.d.ts +8 -0
  227. package/slick-type-ahead/slick-type-ahead.directive.d.ts +3 -0
  228. package/slick-type-ahead/slick-type-ahead.module.d.ts +5 -0
  229. package/slick-validation-indicator/slick-validation-indicator.directive.d.ts +3 -0
  230. package/slick-validation-indicator/slick-validation-indicator.module.d.ts +6 -0
  231. package/utils/slick-function-lock.service.d.ts +3 -0
  232. package/utils/slick-init.service.d.ts +3 -0
  233. package/utils/slick-log.service.d.ts +3 -0
  234. package/utils/slick-sleep.service.d.ts +3 -0
  235. package/utils/slick-utils.service.d.ts +5 -0
  236. package/bundles/slick-components.umd.js +0 -9777
  237. package/bundles/slick-components.umd.js.map +0 -1
  238. package/esm2015/public-api.js +0 -43
  239. package/esm2015/slick-accordion/slick-accordion-item-header.component.js +0 -10
  240. package/esm2015/slick-accordion/slick-accordion-item.component.js +0 -80
  241. package/esm2015/slick-accordion/slick-accordion.component.js +0 -77
  242. package/esm2015/slick-accordion/slick-accordion.module.js +0 -18
  243. package/esm2015/slick-auto-complete/slick-auto-complete-list-item-template.directive.js +0 -21
  244. package/esm2015/slick-auto-complete/slick-auto-complete.component.js +0 -352
  245. package/esm2015/slick-auto-complete/slick-auto-complete.module.js +0 -19
  246. package/esm2015/slick-button-spinner/slick-button-spinner.component.js +0 -186
  247. package/esm2015/slick-button-spinner/slick-button-spinner.module.js +0 -14
  248. package/esm2015/slick-calendar/slick-calendar.component.js +0 -233
  249. package/esm2015/slick-calendar/slick-calendar.module.js +0 -14
  250. package/esm2015/slick-card/slick-card-header.component.js +0 -10
  251. package/esm2015/slick-card/slick-card.component.js +0 -37
  252. package/esm2015/slick-card/slick-card.module.js +0 -14
  253. package/esm2015/slick-components.js +0 -27
  254. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.component.js +0 -62
  255. package/esm2015/slick-confirm-dialog/slick-confirm-dialog.module.js +0 -15
  256. package/esm2015/slick-container/slick-container-body.component.js +0 -18
  257. package/esm2015/slick-container/slick-container-footer.component.js +0 -16
  258. package/esm2015/slick-container/slick-container-header.component.js +0 -16
  259. package/esm2015/slick-container/slick-container.component.js +0 -19
  260. package/esm2015/slick-container/slick-container.module.js +0 -20
  261. package/esm2015/slick-context-menu/slick-context-menu-item.component.js +0 -10
  262. package/esm2015/slick-context-menu/slick-context-menu.component.js +0 -43
  263. package/esm2015/slick-context-menu/slick-context-menu.module.js +0 -15
  264. package/esm2015/slick-currency-mask/slick-currency-mask.directive.js +0 -234
  265. package/esm2015/slick-currency-mask/slick-currency-mask.module.js +0 -14
  266. package/esm2015/slick-date-picker/slick-date-picker.component.js +0 -267
  267. package/esm2015/slick-date-picker/slick-date-picker.module.js +0 -16
  268. package/esm2015/slick-dialog/slick-dialog-footer.component.js +0 -18
  269. package/esm2015/slick-dialog/slick-dialog.component.js +0 -282
  270. package/esm2015/slick-dialog/slick-dialog.module.js +0 -18
  271. package/esm2015/slick-dialog/slick-dialog.service.js +0 -67
  272. package/esm2015/slick-drag-drop/slick-drag-drop.directive.js +0 -9
  273. package/esm2015/slick-drag-drop/slick-drag-drop.module.js +0 -14
  274. package/esm2015/slick-drag-drop/slick-draggable.directive.js +0 -9
  275. package/esm2015/slick-drop-down/slick-drop-down.component.js +0 -465
  276. package/esm2015/slick-drop-down/slick-drop-down.module.js +0 -19
  277. package/esm2015/slick-drop-down/slick-drop-down.service.js +0 -59
  278. package/esm2015/slick-drop-list/slick-drop-list-grab.directive.js +0 -18
  279. package/esm2015/slick-drop-list/slick-drop-list-item.directive.js +0 -18
  280. package/esm2015/slick-drop-list/slick-drop-list.directive.js +0 -162
  281. package/esm2015/slick-drop-list/slick-drop-list.module.js +0 -15
  282. package/esm2015/slick-email-viewer/slick-email-viewer-dialog.component.js +0 -61
  283. package/esm2015/slick-email-viewer/slick-email-viewer.component.js +0 -39
  284. package/esm2015/slick-email-viewer/slick-email-viewer.module.js +0 -21
  285. package/esm2015/slick-emailer/slick-emailer-dialog.component.js +0 -122
  286. package/esm2015/slick-emailer/slick-emailer.component.js +0 -226
  287. package/esm2015/slick-emailer/slick-emailer.module.js +0 -24
  288. package/esm2015/slick-file-drop/slick-file-drop.component.js +0 -144
  289. package/esm2015/slick-file-drop/slick-file-drop.module.js +0 -15
  290. package/esm2015/slick-file-list/slick-file-list-item.component.js +0 -156
  291. package/esm2015/slick-file-list/slick-file-list.component.js +0 -114
  292. package/esm2015/slick-file-list/slick-file-list.module.js +0 -18
  293. package/esm2015/slick-google-address-search/slick-google-address-search.directive.js +0 -75
  294. package/esm2015/slick-google-address-search/slick-google-address-search.module.js +0 -14
  295. package/esm2015/slick-google-map/slick-google-map-dialog.component.js +0 -45
  296. package/esm2015/slick-google-map/slick-google-map.component.js +0 -45
  297. package/esm2015/slick-google-map/slick-google-map.module.js +0 -17
  298. package/esm2015/slick-grid/slick-grid-column-template.directive.js +0 -19
  299. package/esm2015/slick-grid/slick-grid-sanitize.pipe.js +0 -20
  300. package/esm2015/slick-grid/slick-grid.component.js +0 -792
  301. package/esm2015/slick-grid/slick-grid.module.js +0 -38
  302. package/esm2015/slick-grid/slick-grid.service.js +0 -72
  303. package/esm2015/slick-multi-select/slick-multi-select.component.js +0 -356
  304. package/esm2015/slick-multi-select/slick-multi-select.module.js +0 -15
  305. package/esm2015/slick-multi-select/slick-multi-select.service.js +0 -74
  306. package/esm2015/slick-ordered-list/slick-ordered-list.component.js +0 -198
  307. package/esm2015/slick-ordered-list/slick-ordered-list.module.js +0 -15
  308. package/esm2015/slick-paging/slick-paging.component.js +0 -180
  309. package/esm2015/slick-paging/slick-paging.module.js +0 -14
  310. package/esm2015/slick-photo-gallery/slick-photo-gallery.component.js +0 -101
  311. package/esm2015/slick-photo-gallery/slick-photo-gallery.module.js +0 -16
  312. package/esm2015/slick-pick-list/slick-pick-list.component.js +0 -78
  313. package/esm2015/slick-pick-list/slick-pick-list.module.js +0 -15
  314. package/esm2015/slick-popover/slick-popover.component.js +0 -199
  315. package/esm2015/slick-popover/slick-popover.module.js +0 -14
  316. package/esm2015/slick-profile-picture/slick-profile-picture.component.js +0 -242
  317. package/esm2015/slick-profile-picture/slick-profile-picture.module.js +0 -15
  318. package/esm2015/slick-progress-bar/slick-progress-bar.module.js +0 -13
  319. package/esm2015/slick-progress-bar/slick-progress-bar.service.js +0 -50
  320. package/esm2015/slick-screen-blocker/slick-screen-blocker.module.js +0 -13
  321. package/esm2015/slick-screen-blocker/slick-screen-blocker.service.js +0 -80
  322. package/esm2015/slick-slider/slick-slider.component.js +0 -88
  323. package/esm2015/slick-slider/slick-slider.module.js +0 -15
  324. package/esm2015/slick-split-screen/slick-screen-split-left-content.component.js +0 -13
  325. package/esm2015/slick-split-screen/slick-screen-split-right-content.component.js +0 -13
  326. package/esm2015/slick-split-screen/slick-split-screen.component.js +0 -148
  327. package/esm2015/slick-split-screen/slick-split-screen.module.js +0 -16
  328. package/esm2015/slick-tabs/slick-tab-header.component.js +0 -25
  329. package/esm2015/slick-tabs/slick-tab.component.js +0 -67
  330. package/esm2015/slick-tabs/slick-tabs.component.js +0 -104
  331. package/esm2015/slick-tabs/slick-tabs.module.js +0 -17
  332. package/esm2015/slick-toast/slick-toast.module.js +0 -13
  333. package/esm2015/slick-toast/slick-toast.service.js +0 -91
  334. package/esm2015/slick-tree-view/slick-tree-view.component.js +0 -287
  335. package/esm2015/slick-tree-view/slick-tree-view.module.js +0 -17
  336. package/esm2015/slick-type-ahead/slick-type-ahead.directive.js +0 -155
  337. package/esm2015/slick-type-ahead/slick-type-ahead.module.js +0 -13
  338. package/esm2015/slick-validation-indicator/slick-validation-indicator.directive.js +0 -61
  339. package/esm2015/slick-validation-indicator/slick-validation-indicator.module.js +0 -14
  340. package/esm2015/utils/slick-function-lock.service.js +0 -54
  341. package/esm2015/utils/slick-init.service.js +0 -48
  342. package/esm2015/utils/slick-log.service.js +0 -27
  343. package/esm2015/utils/slick-sleep.service.js +0 -14
  344. package/esm2015/utils/slick-utils.service.js +0 -229
  345. package/fesm2015/slick-components.js.map +0 -1
  346. package/slick-components.metadata.json +0 -1
@@ -0,0 +1,267 @@
1
+ import { Component, Input, Output, EventEmitter, ViewChild, HostListener } from "@angular/core";
2
+ import { SlickUtilsService } from "../utils/slick-utils.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ const imgExtensions = ['bmp', 'gif', 'jpeg', 'jpg', 'png', 'tif', 'tiff'];
6
+ export class SlickProfilePictureComponent {
7
+ constructor() {
8
+ this.viewOnly = false;
9
+ this.width = "80px";
10
+ this.height = "80px";
11
+ this.resizeWidth = 600;
12
+ this.resizeHeight = 600;
13
+ this.filesChangedEmitter = new EventEmitter();
14
+ this.fnOnFileInputChange = (e) => this.onFileInputChange(e);
15
+ this.uuid = SlickUtilsService.newGuid();
16
+ }
17
+ onClick(e) {
18
+ if (this.viewOnly === true)
19
+ return;
20
+ this.fileInput.nativeElement.click();
21
+ this.fileInput.nativeElement.addEventListener("change", this.fnOnFileInputChange);
22
+ }
23
+ onFileInputChange(e) {
24
+ this.processFile(this.fileInput.nativeElement.files);
25
+ }
26
+ onDrop(e) {
27
+ if (this.viewOnly === true)
28
+ return;
29
+ e.preventDefault();
30
+ e.stopPropagation();
31
+ this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
32
+ this.processFile(e.dataTransfer.files);
33
+ }
34
+ onDragEnter(e) {
35
+ if (this.viewOnly === true)
36
+ return;
37
+ this.containerRef.nativeElement.classList.add("slick-file-drop_drag-enter");
38
+ }
39
+ onDragOver(e) {
40
+ if (this.viewOnly === true)
41
+ return;
42
+ e.preventDefault();
43
+ }
44
+ onDragLeave(e) {
45
+ if (this.viewOnly === true)
46
+ return;
47
+ this.containerRef.nativeElement.classList.remove("slick-file-drop_drag-enter");
48
+ }
49
+ ngOnChanges(changes) {
50
+ if (changes.gravatarEmailAddress) {
51
+ var MD5 = function (s) { function L(k, d) { return (k << d) | (k >>> (32 - d)); } function K(G, k) { var I, d, F, H, x; F = (G & 2147483648); H = (k & 2147483648); I = (G & 1073741824); d = (k & 1073741824); x = (G & 1073741823) + (k & 1073741823); if (I & d) {
52
+ return (x ^ 2147483648 ^ F ^ H);
53
+ } if (I | d) {
54
+ if (x & 1073741824) {
55
+ return (x ^ 3221225472 ^ F ^ H);
56
+ }
57
+ else {
58
+ return (x ^ 1073741824 ^ F ^ H);
59
+ }
60
+ }
61
+ else {
62
+ return (x ^ F ^ H);
63
+ } } function r(d, F, k) { return (d & F) | ((~d) & k); } function q(d, F, k) { return (d & k) | (F & (~k)); } function p(d, F, k) { return (d ^ F ^ k); } function n(d, F, k) { return (F ^ (d | (~k))); } function u(G, F, aa, Z, k, H, I) { G = K(G, K(K(r(F, aa, Z), k), I)); return K(L(G, H), F); } function f(G, F, aa, Z, k, H, I) { G = K(G, K(K(q(F, aa, Z), k), I)); return K(L(G, H), F); } function D(G, F, aa, Z, k, H, I) { G = K(G, K(K(p(F, aa, Z), k), I)); return K(L(G, H), F); } function t(G, F, aa, Z, k, H, I) { G = K(G, K(K(n(F, aa, Z), k), I)); return K(L(G, H), F); } function e(G) { var Z; var F = G.length; var x = F + 8; var k = (x - (x % 64)) / 64; var I = (k + 1) * 16; var aa = Array(I - 1); var d = 0; var H = 0; while (H < F) {
64
+ Z = (H - (H % 4)) / 4;
65
+ d = (H % 4) * 8;
66
+ aa[Z] = (aa[Z] | (G.charCodeAt(H) << d));
67
+ H++;
68
+ } Z = (H - (H % 4)) / 4; d = (H % 4) * 8; aa[Z] = aa[Z] | (128 << d); aa[I - 2] = F << 3; aa[I - 1] = F >>> 29; return aa; } function B(x) { var k = "", F = "", G, d; for (d = 0; d <= 3; d++) {
69
+ G = (x >>> (d * 8)) & 255;
70
+ F = "0" + G.toString(16);
71
+ k = k + F.substr(F.length - 2, 2);
72
+ } return k; } function J(k) { k = k.replace(/rn/g, "n"); var d = ""; for (var F = 0; F < k.length; F++) {
73
+ var x = k.charCodeAt(F);
74
+ if (x < 128) {
75
+ d += String.fromCharCode(x);
76
+ }
77
+ else {
78
+ if ((x > 127) && (x < 2048)) {
79
+ d += String.fromCharCode((x >> 6) | 192);
80
+ d += String.fromCharCode((x & 63) | 128);
81
+ }
82
+ else {
83
+ d += String.fromCharCode((x >> 12) | 224);
84
+ d += String.fromCharCode(((x >> 6) & 63) | 128);
85
+ d += String.fromCharCode((x & 63) | 128);
86
+ }
87
+ }
88
+ } return d; } var C = Array(); var P, h, E, v, g, Y, X, W, V; var S = 7, Q = 12, N = 17, M = 22; var A = 5, z = 9, y = 14, w = 20; var o = 4, m = 11, l = 16, j = 23; var U = 6, T = 10, R = 15, O = 21; s = J(s); C = e(s); Y = 1732584193; X = 4023233417; W = 2562383102; V = 271733878; for (P = 0; P < C.length; P += 16) {
89
+ h = Y;
90
+ E = X;
91
+ v = W;
92
+ g = V;
93
+ Y = u(Y, X, W, V, C[P + 0], S, 3614090360);
94
+ V = u(V, Y, X, W, C[P + 1], Q, 3905402710);
95
+ W = u(W, V, Y, X, C[P + 2], N, 606105819);
96
+ X = u(X, W, V, Y, C[P + 3], M, 3250441966);
97
+ Y = u(Y, X, W, V, C[P + 4], S, 4118548399);
98
+ V = u(V, Y, X, W, C[P + 5], Q, 1200080426);
99
+ W = u(W, V, Y, X, C[P + 6], N, 2821735955);
100
+ X = u(X, W, V, Y, C[P + 7], M, 4249261313);
101
+ Y = u(Y, X, W, V, C[P + 8], S, 1770035416);
102
+ V = u(V, Y, X, W, C[P + 9], Q, 2336552879);
103
+ W = u(W, V, Y, X, C[P + 10], N, 4294925233);
104
+ X = u(X, W, V, Y, C[P + 11], M, 2304563134);
105
+ Y = u(Y, X, W, V, C[P + 12], S, 1804603682);
106
+ V = u(V, Y, X, W, C[P + 13], Q, 4254626195);
107
+ W = u(W, V, Y, X, C[P + 14], N, 2792965006);
108
+ X = u(X, W, V, Y, C[P + 15], M, 1236535329);
109
+ Y = f(Y, X, W, V, C[P + 1], A, 4129170786);
110
+ V = f(V, Y, X, W, C[P + 6], z, 3225465664);
111
+ W = f(W, V, Y, X, C[P + 11], y, 643717713);
112
+ X = f(X, W, V, Y, C[P + 0], w, 3921069994);
113
+ Y = f(Y, X, W, V, C[P + 5], A, 3593408605);
114
+ V = f(V, Y, X, W, C[P + 10], z, 38016083);
115
+ W = f(W, V, Y, X, C[P + 15], y, 3634488961);
116
+ X = f(X, W, V, Y, C[P + 4], w, 3889429448);
117
+ Y = f(Y, X, W, V, C[P + 9], A, 568446438);
118
+ V = f(V, Y, X, W, C[P + 14], z, 3275163606);
119
+ W = f(W, V, Y, X, C[P + 3], y, 4107603335);
120
+ X = f(X, W, V, Y, C[P + 8], w, 1163531501);
121
+ Y = f(Y, X, W, V, C[P + 13], A, 2850285829);
122
+ V = f(V, Y, X, W, C[P + 2], z, 4243563512);
123
+ W = f(W, V, Y, X, C[P + 7], y, 1735328473);
124
+ X = f(X, W, V, Y, C[P + 12], w, 2368359562);
125
+ Y = D(Y, X, W, V, C[P + 5], o, 4294588738);
126
+ V = D(V, Y, X, W, C[P + 8], m, 2272392833);
127
+ W = D(W, V, Y, X, C[P + 11], l, 1839030562);
128
+ X = D(X, W, V, Y, C[P + 14], j, 4259657740);
129
+ Y = D(Y, X, W, V, C[P + 1], o, 2763975236);
130
+ V = D(V, Y, X, W, C[P + 4], m, 1272893353);
131
+ W = D(W, V, Y, X, C[P + 7], l, 4139469664);
132
+ X = D(X, W, V, Y, C[P + 10], j, 3200236656);
133
+ Y = D(Y, X, W, V, C[P + 13], o, 681279174);
134
+ V = D(V, Y, X, W, C[P + 0], m, 3936430074);
135
+ W = D(W, V, Y, X, C[P + 3], l, 3572445317);
136
+ X = D(X, W, V, Y, C[P + 6], j, 76029189);
137
+ Y = D(Y, X, W, V, C[P + 9], o, 3654602809);
138
+ V = D(V, Y, X, W, C[P + 12], m, 3873151461);
139
+ W = D(W, V, Y, X, C[P + 15], l, 530742520);
140
+ X = D(X, W, V, Y, C[P + 2], j, 3299628645);
141
+ Y = t(Y, X, W, V, C[P + 0], U, 4096336452);
142
+ V = t(V, Y, X, W, C[P + 7], T, 1126891415);
143
+ W = t(W, V, Y, X, C[P + 14], R, 2878612391);
144
+ X = t(X, W, V, Y, C[P + 5], O, 4237533241);
145
+ Y = t(Y, X, W, V, C[P + 12], U, 1700485571);
146
+ V = t(V, Y, X, W, C[P + 3], T, 2399980690);
147
+ W = t(W, V, Y, X, C[P + 10], R, 4293915773);
148
+ X = t(X, W, V, Y, C[P + 1], O, 2240044497);
149
+ Y = t(Y, X, W, V, C[P + 8], U, 1873313359);
150
+ V = t(V, Y, X, W, C[P + 15], T, 4264355552);
151
+ W = t(W, V, Y, X, C[P + 6], R, 2734768916);
152
+ X = t(X, W, V, Y, C[P + 13], O, 1309151649);
153
+ Y = t(Y, X, W, V, C[P + 4], U, 4149444226);
154
+ V = t(V, Y, X, W, C[P + 11], T, 3174756917);
155
+ W = t(W, V, Y, X, C[P + 2], R, 718787259);
156
+ X = t(X, W, V, Y, C[P + 9], O, 3951481745);
157
+ Y = K(Y, h);
158
+ X = K(X, E);
159
+ W = K(W, v);
160
+ V = K(V, g);
161
+ } var i = B(Y) + B(X) + B(W) + B(V); return i.toLowerCase(); };
162
+ this.gravatarEmailAddress = this.gravatarEmailAddress.trim().toLowerCase();
163
+ this.imageSrc = 'http://www.gravatar.com/avatar/' + MD5(this.gravatarEmailAddress) + '.jpg?s=' + 80;
164
+ }
165
+ if (changes.viewOnly && changes.viewOnly.currentValue)
166
+ this.viewOnly = (changes.viewOnly.currentValue.toString().toLowerCase() !== 'false');
167
+ }
168
+ async processFile(files) {
169
+ if (files && files.length > 0) {
170
+ let file = files.item(0);
171
+ let fileNameParts = file.name.split('.');
172
+ let ext = fileNameParts[fileNameParts.length - 1].toLowerCase();
173
+ let fileType = file.type;
174
+ if (imgExtensions.indexOf(ext) >= 0) {
175
+ let img = new Image;
176
+ img.onload = () => {
177
+ this.imageSrc = this.resizeImageToBase64(img, fileType, this.resizeWidth, this.resizeHeight);
178
+ if (this.filesChangedEmitter)
179
+ this.filesChangedEmitter.emit(this.imageSrc);
180
+ };
181
+ img.src = await this.getBase64(file);
182
+ }
183
+ }
184
+ }
185
+ resizeImageToBase64(img, fileType, width, height) {
186
+ let scale = 1;
187
+ if (img.width > img.height) {
188
+ if (img.width > width)
189
+ scale = width / img.width;
190
+ }
191
+ else {
192
+ if (img.height > height)
193
+ scale = height / img.height;
194
+ }
195
+ let newWidth = img.width * scale;
196
+ let newHeight = img.height * scale;
197
+ // We create a canvas and get its context.
198
+ var canvas = document.createElement('canvas');
199
+ var ctx = canvas.getContext('2d');
200
+ // We set the dimensions at the wanted size.
201
+ canvas.width = newWidth;
202
+ canvas.height = newHeight;
203
+ // We resize the image with the canvas method drawImage();
204
+ ctx.drawImage(img, 0, 0, newWidth, newHeight);
205
+ return canvas.toDataURL(fileType);
206
+ }
207
+ getBase64(file) {
208
+ return new Promise((resolve, reject) => {
209
+ let reader = new FileReader();
210
+ reader.readAsDataURL(file);
211
+ reader.onload = () => resolve(reader.result);
212
+ reader.onerror = (error) => reject('Error: ' + error);
213
+ });
214
+ }
215
+ }
216
+ /** @nocollapse */ SlickProfilePictureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
217
+ /** @nocollapse */ SlickProfilePictureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: SlickProfilePictureComponent, selector: "slick-profile-picture", inputs: { imageSrc: "imageSrc", gravatarEmailAddress: "gravatarEmailAddress", viewOnly: "viewOnly", width: "width", height: "height", resizeWidth: "resizeWidth", resizeHeight: "resizeHeight" }, outputs: { filesChangedEmitter: "profilePictureChanged" }, host: { listeners: { "click": "onClick($event)", "drop": "onDrop($event)", "dragenter": "onDragEnter($event)", "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #containerRef id=\"slick-profile-picture_{{uuid}}\" class=\"slick-profile-picture card\" [ngClass]=\"{ 'slick-profile-picture_view-only': viewOnly === true, 'slick-profile-picture_editable': viewOnly === false }\" [ngStyle]=\"{ 'width': width, 'min-width': width, 'height': height, 'min-height': height }\">\r\n\t<div class=\"slick-profile-picture_text\" *ngIf='viewOnly === false'>Click to change...</div>\r\n\t<img class=\"slick-profile-picture_img\" *ngIf=\"imageSrc\" [src]=\"imageSrc\" [ngStyle]=\"{ 'max-width': width, 'max-height': height }\" />\r\n</div>\r\n<input type=\"file\" #fileInput style=\"display: none\" multiple />\r\n", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureComponent, decorators: [{
219
+ type: Component,
220
+ args: [{ selector: 'slick-profile-picture', template: "<div #containerRef id=\"slick-profile-picture_{{uuid}}\" class=\"slick-profile-picture card\" [ngClass]=\"{ 'slick-profile-picture_view-only': viewOnly === true, 'slick-profile-picture_editable': viewOnly === false }\" [ngStyle]=\"{ 'width': width, 'min-width': width, 'height': height, 'min-height': height }\">\r\n\t<div class=\"slick-profile-picture_text\" *ngIf='viewOnly === false'>Click to change...</div>\r\n\t<img class=\"slick-profile-picture_img\" *ngIf=\"imageSrc\" [src]=\"imageSrc\" [ngStyle]=\"{ 'max-width': width, 'max-height': height }\" />\r\n</div>\r\n<input type=\"file\" #fileInput style=\"display: none\" multiple />\r\n" }]
221
+ }], ctorParameters: function () { return []; }, propDecorators: { imageSrc: [{
222
+ type: Input,
223
+ args: ["imageSrc"]
224
+ }], gravatarEmailAddress: [{
225
+ type: Input,
226
+ args: ["gravatarEmailAddress"]
227
+ }], viewOnly: [{
228
+ type: Input,
229
+ args: ["viewOnly"]
230
+ }], width: [{
231
+ type: Input,
232
+ args: ["width"]
233
+ }], height: [{
234
+ type: Input,
235
+ args: ["height"]
236
+ }], resizeWidth: [{
237
+ type: Input,
238
+ args: ["resizeWidth"]
239
+ }], resizeHeight: [{
240
+ type: Input,
241
+ args: ["resizeHeight"]
242
+ }], filesChangedEmitter: [{
243
+ type: Output,
244
+ args: ["profilePictureChanged"]
245
+ }], containerRef: [{
246
+ type: ViewChild,
247
+ args: ["containerRef"]
248
+ }], fileInput: [{
249
+ type: ViewChild,
250
+ args: ["fileInput"]
251
+ }], onClick: [{
252
+ type: HostListener,
253
+ args: ['click', ['$event']]
254
+ }], onDrop: [{
255
+ type: HostListener,
256
+ args: ['drop', ['$event']]
257
+ }], onDragEnter: [{
258
+ type: HostListener,
259
+ args: ['dragenter', ['$event']]
260
+ }], onDragOver: [{
261
+ type: HostListener,
262
+ args: ['dragover', ['$event']]
263
+ }], onDragLeave: [{
264
+ type: HostListener,
265
+ args: ['dragleave', ['$event']]
266
+ }] } });
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZmlsZS1waWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2ZpbGUtcGljdHVyZS9zbGljay1wcm9maWxlLXBpY3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stcHJvZmlsZS1waWN0dXJlL3NsaWNrLXByb2ZpbGUtcGljdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQTRCLFlBQVksRUFBYyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFFakUsTUFBTSxhQUFhLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtBQU1uRixNQUFNLE9BQU8sNEJBQTRCO0lBa0V4QztRQS9EbUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUM3QixVQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3RCLFdBQU0sR0FBVyxNQUFNLENBQUM7UUFDbkIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFDekIsaUJBQVksR0FBVyxHQUFHLENBQUM7UUFDakIsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFJeEYsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQXVEOUQsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBckRELE9BQU8sQ0FB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QUMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2lCQUFFO2FBQUU7aUJBQU07Z0JBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7YUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQyxDQUFDLEVBQUUsQ0FBQTthQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUU7b0JBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQUU7cUJBQU07b0JBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRTt3QkFBRSxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzt3QkFBQyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQTtxQkFBRTt5QkFBTTt3QkFBRSxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQzt3QkFBQyxDQUFDLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO3dCQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFBO3FCQUFFO2lCQUFFO2FBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUs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O2dCQUt0QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNoQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNyQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNwQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlja1V0aWxzU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay11dGlscy5zZXJ2aWNlXCI7XHJcblxyXG5jb25zdCBpbWdFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFsnYm1wJywgJ2dpZicsICdqcGVnJywgJ2pwZycsICdwbmcnLCAndGlmJywgJ3RpZmYnXVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1wcm9maWxlLXBpY3R1cmUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stcHJvZmlsZS1waWN0dXJlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tQcm9maWxlUGljdHVyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblx0QElucHV0KFwiaW1hZ2VTcmNcIikgaW1hZ2VTcmM6IHN0cmluZztcclxuXHRASW5wdXQoXCJncmF2YXRhckVtYWlsQWRkcmVzc1wiKSBncmF2YXRhckVtYWlsQWRkcmVzczogc3RyaW5nO1xyXG5cdEBJbnB1dChcInZpZXdPbmx5XCIpIHZpZXdPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KFwid2lkdGhcIikgd2lkdGg6IHN0cmluZyA9IFwiODBweFwiO1xyXG5cdEBJbnB1dChcImhlaWdodFwiKSBoZWlnaHQ6IHN0cmluZyA9IFwiODBweFwiO1xyXG5cdEBJbnB1dChcInJlc2l6ZVdpZHRoXCIpIHJlc2l6ZVdpZHRoOiBudW1iZXIgPSA2MDA7XHJcblx0QElucHV0KFwicmVzaXplSGVpZ2h0XCIpIHJlc2l6ZUhlaWdodDogbnVtYmVyID0gNjAwO1xyXG5cdEBPdXRwdXQoXCJwcm9maWxlUGljdHVyZUNoYW5nZWRcIikgZmlsZXNDaGFuZ2VkRW1pdHRlcjogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QFZpZXdDaGlsZChcImNvbnRhaW5lclJlZlwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImZpbGVJbnB1dFwiKSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG5cdHByaXZhdGUgZm5PbkZpbGVJbnB1dENoYW5nZSA9IChlKSA9PiB0aGlzLm9uRmlsZUlucHV0Q2hhbmdlKGUpO1xyXG5cclxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXHJcblx0b25DbGljayhlKSB7XHJcblx0XHRpZiAodGhpcy52aWV3T25seSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuXHRcdCg8SFRNTElucHV0RWxlbWVudD50aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KS5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIHRoaXMuZm5PbkZpbGVJbnB1dENoYW5nZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIG9uRmlsZUlucHV0Q2hhbmdlKGUpIHtcclxuXHRcdHRoaXMucHJvY2Vzc0ZpbGUoKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQpLmZpbGVzKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG5cdG9uRHJvcChlKSB7XHJcblx0XHRpZiAodGhpcy52aWV3T25seSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwic2xpY2stZmlsZS1kcm9wX2RyYWctZW50ZXJcIik7XHJcblxyXG5cdFx0dGhpcy5wcm9jZXNzRmlsZSgoPERhdGFUcmFuc2Zlcj5lLmRhdGFUcmFuc2ZlcikuZmlsZXMpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZHJhZ2VudGVyJywgWyckZXZlbnQnXSlcclxuXHRvbkRyYWdFbnRlcihlKSB7XHJcblx0XHRpZiAodGhpcy52aWV3T25seSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInNsaWNrLWZpbGUtZHJvcF9kcmFnLWVudGVyXCIpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG5cdG9uRHJhZ092ZXIoZSkge1xyXG5cdFx0aWYgKHRoaXMudmlld09ubHkgPT09IHRydWUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0fVxyXG5cclxuXHRASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG5cdG9uRHJhZ0xlYXZlKGUpIHtcclxuXHRcdGlmICh0aGlzLnZpZXdPbmx5ID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwic2xpY2stZmlsZS1kcm9wX2RyYWctZW50ZXJcIik7XHJcblx0fVxyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMuZ3JhdmF0YXJFbWFpbEFkZHJlc3MpIHtcclxuXHRcdFx0dmFyIE1ENSA9IGZ1bmN0aW9uIChzKSB7IGZ1bmN0aW9uIEwoaywgZCkgeyByZXR1cm4gKGsgPDwgZCkgfCAoayA+Pj4gKDMyIC0gZCkpIH0gZnVuY3Rpb24gSyhHLCBrKSB7IHZhciBJLCBkLCBGLCBILCB4OyBGID0gKEcgJiAyMTQ3NDgzNjQ4KTsgSCA9IChrICYgMjE0NzQ4MzY0OCk7IEkgPSAoRyAmIDEwNzM3NDE4MjQpOyBkID0gKGsgJiAxMDczNzQxODI0KTsgeCA9IChHICYgMTA3Mzc0MTgyMykgKyAoayAmIDEwNzM3NDE4MjMpOyBpZiAoSSAmIGQpIHsgcmV0dXJuICh4IF4gMjE0NzQ4MzY0OCBeIEYgXiBIKSB9IGlmIChJIHwgZCkgeyBpZiAoeCAmIDEwNzM3NDE4MjQpIHsgcmV0dXJuICh4IF4gMzIyMTIyNTQ3MiBeIEYgXiBIKSB9IGVsc2UgeyByZXR1cm4gKHggXiAxMDczNzQxODI0IF4gRiBeIEgpIH0gfSBlbHNlIHsgcmV0dXJuICh4IF4gRiBeIEgpIH0gfSBmdW5jdGlvbiByKGQsIEYsIGspIHsgcmV0dXJuIChkICYgRikgfCAoKH5kKSAmIGspIH0gZnVuY3Rpb24gcShkLCBGLCBrKSB7IHJldHVybiAoZCAmIGspIHwgKEYgJiAofmspKSB9IGZ1bmN0aW9uIHAoZCwgRiwgaykgeyByZXR1cm4gKGQgXiBGIF4gaykgfSBmdW5jdGlvbiBuKGQsIEYsIGspIHsgcmV0dXJuIChGIF4gKGQgfCAofmspKSkgfSBmdW5jdGlvbiB1KEcsIEYsIGFhLCBaLCBrLCBILCBJKSB7IEcgPSBLKEcsIEsoSyhyKEYsIGFhLCBaKSwgayksIEkpKTsgcmV0dXJuIEsoTChHLCBIKSwgRikgfSBmdW5jdGlvbiBmKEcsIEYsIGFhLCBaLCBrLCBILCBJKSB7IEcgPSBLKEcsIEsoSyhxKEYsIGFhLCBaKSwgayksIEkpKTsgcmV0dXJuIEsoTChHLCBIKSwgRikgfSBmdW5jdGlvbiBEKEcsIEYsIGFhLCBaLCBrLCBILCBJKSB7IEcgPSBLKEcsIEsoSyhwKEYsIGFhLCBaKSwgayksIEkpKTsgcmV0dXJuIEsoTChHLCBIKSwgRikgfSBmdW5jdGlvbiB0KEcsIEYsIGFhLCBaLCBrLCBILCBJKSB7IEcgPSBLKEcsIEsoSyhuKEYsIGFhLCBaKSwgayksIEkpKTsgcmV0dXJuIEsoTChHLCBIKSwgRikgfSBmdW5jdGlvbiBlKEcpIHsgdmFyIFo7IHZhciBGID0gRy5sZW5ndGg7IHZhciB4ID0gRiArIDg7IHZhciBrID0gKHggLSAoeCAlIDY0KSkgLyA2NDsgdmFyIEkgPSAoayArIDEpICogMTY7IHZhciBhYSA9IEFycmF5KEkgLSAxKTsgdmFyIGQgPSAwOyB2YXIgSCA9IDA7IHdoaWxlIChIIDwgRikgeyBaID0gKEggLSAoSCAlIDQpKSAvIDQ7IGQgPSAoSCAlIDQpICogODsgYWFbWl0gPSAoYWFbWl0gfCAoRy5jaGFyQ29kZUF0KEgpIDw8IGQpKTsgSCsrIH0gWiA9IChIIC0gKEggJSA0KSkgLyA0OyBkID0gKEggJSA0KSAqIDg7IGFhW1pdID0gYWFbWl0gfCAoMTI4IDw8IGQpOyBhYVtJIC0gMl0gPSBGIDw8IDM7IGFhW0kgLSAxXSA9IEYgPj4+IDI5OyByZXR1cm4gYWEgfSBmdW5jdGlvbiBCKHgpIHsgdmFyIGsgPSBcIlwiLCBGID0gXCJcIiwgRywgZDsgZm9yIChkID0gMDsgZCA8PSAzOyBkKyspIHsgRyA9ICh4ID4+PiAoZCAqIDgpKSAmIDI1NTsgRiA9IFwiMFwiICsgRy50b1N0cmluZygxNik7IGsgPSBrICsgRi5zdWJzdHIoRi5sZW5ndGggLSAyLCAyKSB9IHJldHVybiBrIH0gZnVuY3Rpb24gSihrKSB7IGsgPSBrLnJlcGxhY2UoL3JuL2csIFwiblwiKTsgdmFyIGQgPSBcIlwiOyBmb3IgKHZhciBGID0gMDsgRiA8IGsubGVuZ3RoOyBGKyspIHsgdmFyIHggPSBrLmNoYXJDb2RlQXQoRik7IGlmICh4IDwgMTI4KSB7IGQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSh4KSB9IGVsc2UgeyBpZiAoKHggPiAxMjcpICYmICh4IDwgMjA0OCkpIHsgZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCh4ID4+IDYpIHwgMTkyKTsgZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCh4ICYgNjMpIHwgMTI4KSB9IGVsc2UgeyBkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoKHggPj4gMTIpIHwgMjI0KTsgZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCgoeCA+PiA2KSAmIDYzKSB8IDEyOCk7IGQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoeCAmIDYzKSB8IDEyOCkgfSB9IH0gcmV0dXJuIGQgfSB2YXIgQyA9IEFycmF5KCk7IHZhciBQLCBoLCBFLCB2LCBnLCBZLCBYLCBXLCBWOyB2YXIgUyA9IDcsIFEgPSAxMiwgTiA9IDE3LCBNID0gMjI7IHZhciBBID0gNSwgeiA9IDksIHkgPSAxNCwgdyA9IDIwOyB2YXIgbyA9IDQsIG0gPSAxMSwgbCA9IDE2LCBqID0gMjM7IHZhciBVID0gNiwgVCA9IDEwLCBSID0gMTUsIE8gPSAyMTsgcyA9IEoocyk7IEMgPSBlKHMpOyBZID0gMTczMjU4NDE5MzsgWCA9IDQwMjMyMzM0MTc7IFcgPSAyNTYyMzgzMTAyOyBWID0gMjcxNzMzODc4OyBmb3IgKFAgPSAwOyBQIDwgQy5sZW5ndGg7IFAgKz0gMTYpIHsgaCA9IFk7IEUgPSBYOyB2ID0gVzsgZyA9IFY7IFkgPSB1KFksIFgsIFcsIFYsIENbUCArIDBdLCBTLCAzNjE0MDkwMzYwKTsgViA9IHUoViwgWSwgWCwgVywgQ1tQICsgMV0sIFEsIDM5MDU0MDI3MTApOyBXID0gdShXLCBWLCBZLCBYLCBDW1AgKyAyXSwgTiwgNjA2MTA1ODE5KTsgWCA9IHUoWCwgVywgViwgWSwgQ1tQICsgM10sIE0sIDMyNTA0NDE5NjYpOyBZID0gdShZLCBYLCBXLCBWLCBDW1AgKyA0XSwgUywgNDExODU0ODM5OSk7IFYgPSB1KFYsIFksIFgsIFcsIENbUCArIDVdLCBRLCAxMjAwMDgwNDI2KTsgVyA9IHUoVywgViwgWSwgWCwgQ1tQICsgNl0sIE4sIDI4MjE3MzU5NTUpOyBYID0gdShYLCBXLCBWLCBZLCBDW1AgKyA3XSwgTSwgNDI0OTI2MTMxMyk7IFkgPSB1KFksIFgsIFcsIFYsIENbUCArIDhdLCBTLCAxNzcwMDM1NDE2KTsgViA9IHUoViwgWSwgWCwgVywgQ1tQICsgOV0sIFEsIDIzMzY1NTI4NzkpOyBXID0gdShXLCBWLCBZLCBYLCBDW1AgKyAxMF0sIE4sIDQyOTQ5MjUyMzMpOyBYID0gdShYLCBXLCBWLCBZLCBDW1AgKyAxMV0sIE0sIDIzMDQ1NjMxMzQpOyBZID0gdShZLCBYLCBXLCBWLCBDW1AgKyAxMl0sIFMsIDE4MDQ2MDM2ODIpOyBWID0gdShWLCBZLCBYLCBXLCBDW1AgKyAxM10sIFEsIDQyNTQ2MjYxOTUpOyBXID0gdShXLCBWLCBZLCBYLCBDW1AgKyAxNF0sIE4sIDI3OTI5NjUwMDYpOyBYID0gdShYLCBXLCBWLCBZLCBDW1AgKyAxNV0sIE0sIDEyMzY1MzUzMjkpOyBZID0gZihZLCBYLCBXLCBWLCBDW1AgKyAxXSwgQSwgNDEyOTE3MDc4Nik7IFYgPSBmKFYsIFksIFgsIFcsIENbUCArIDZdLCB6LCAzMjI1NDY1NjY0KTsgVyA9IGYoVywgViwgWSwgWCwgQ1tQICsgMTFdLCB5LCA2NDM3MTc3MTMpOyBYID0gZihYLCBXLCBWLCBZLCBDW1AgKyAwXSwgdywgMzkyMTA2OTk5NCk7IFkgPSBmKFksIFgsIFcsIFYsIENbUCArIDVdLCBBLCAzNTkzNDA4NjA1KTsgViA9IGYoViwgWSwgWCwgVywgQ1tQICsgMTBdLCB6LCAzODAxNjA4Myk7IFcgPSBmKFcsIFYsIFksIFgsIENbUCArIDE1XSwgeSwgMzYzNDQ4ODk2MSk7IFggPSBmKFgsIFcsIFYsIFksIENbUCArIDRdLCB3LCAzODg5NDI5NDQ4KTsgWSA9IGYoWSwgWCwgVywgViwgQ1tQICsgOV0sIEEsIDU2ODQ0NjQzOCk7IFYgPSBmKFYsIFksIFgsIFcsIENbUCArIDE0XSwgeiwgMzI3NTE2MzYwNik7IFcgPSBmKFcsIFYsIFksIFgsIENbUCArIDNdLCB5LCA0MTA3NjAzMzM1KTsgWCA9IGYoWCwgVywgViwgWSwgQ1tQICsgOF0sIHcsIDExNjM1MzE1MDEpOyBZID0gZihZLCBYLCBXLCBWLCBDW1AgKyAxM10sIEEsIDI4NTAyODU4MjkpOyBWID0gZihWLCBZLCBYLCBXLCBDW1AgKyAyXSwgeiwgNDI0MzU2MzUxMik7IFcgPSBmKFcsIFYsIFksIFgsIENbUCArIDddLCB5LCAxNzM1MzI4NDczKTsgWCA9IGYoWCwgVywgViwgWSwgQ1tQICsgMTJdLCB3LCAyMzY4MzU5NTYyKTsgWSA9IEQoWSwgWCwgVywgViwgQ1tQICsgNV0sIG8sIDQyOTQ1ODg3MzgpOyBWID0gRChWLCBZLCBYLCBXLCBDW1AgKyA4XSwgbSwgMjI3MjM5MjgzMyk7IFcgPSBEKFcsIFYsIFksIFgsIENbUCArIDExXSwgbCwgMTgzOTAzMDU2Mik7IFggPSBEKFgsIFcsIFYsIFksIENbUCArIDE0XSwgaiwgNDI1OTY1Nzc0MCk7IFkgPSBEKFksIFgsIFcsIFYsIENbUCArIDFdLCBvLCAyNzYzOTc1MjM2KTsgViA9IEQoViwgWSwgWCwgVywgQ1tQICsgNF0sIG0sIDEyNzI4OTMzNTMpOyBXID0gRChXLCBWLCBZLCBYLCBDW1AgKyA3XSwgbCwgNDEzOTQ2OTY2NCk7IFggPSBEKFgsIFcsIFYsIFksIENbUCArIDEwXSwgaiwgMzIwMDIzNjY1Nik7IFkgPSBEKFksIFgsIFcsIFYsIENbUCArIDEzXSwgbywgNjgxMjc5MTc0KTsgViA9IEQoViwgWSwgWCwgVywgQ1tQICsgMF0sIG0sIDM5MzY0MzAwNzQpOyBXID0gRChXLCBWLCBZLCBYLCBDW1AgKyAzXSwgbCwgMzU3MjQ0NTMxNyk7IFggPSBEKFgsIFcsIFYsIFksIENbUCArIDZdLCBqLCA3NjAyOTE4OSk7IFkgPSBEKFksIFgsIFcsIFYsIENbUCArIDldLCBvLCAzNjU0NjAyODA5KTsgViA9IEQoViwgWSwgWCwgVywgQ1tQICsgMTJdLCBtLCAzODczMTUxNDYxKTsgVyA9IEQoVywgViwgWSwgWCwgQ1tQICsgMTVdLCBsLCA1MzA3NDI1MjApOyBYID0gRChYLCBXLCBWLCBZLCBDW1AgKyAyXSwgaiwgMzI5OTYyODY0NSk7IFkgPSB0KFksIFgsIFcsIFYsIENbUCArIDBdLCBVLCA0MDk2MzM2NDUyKTsgViA9IHQoViwgWSwgWCwgVywgQ1tQICsgN10sIFQsIDExMjY4OTE0MTUpOyBXID0gdChXLCBWLCBZLCBYLCBDW1AgKyAxNF0sIFIsIDI4Nzg2MTIzOTEpOyBYID0gdChYLCBXLCBWLCBZLCBDW1AgKyA1XSwgTywgNDIzNzUzMzI0MSk7IFkgPSB0KFksIFgsIFcsIFYsIENbUCArIDEyXSwgVSwgMTcwMDQ4NTU3MSk7IFYgPSB0KFYsIFksIFgsIFcsIENbUCArIDNdLCBULCAyMzk5OTgwNjkwKTsgVyA9IHQoVywgViwgWSwgWCwgQ1tQICsgMTBdLCBSLCA0MjkzOTE1NzczKTsgWCA9IHQoWCwgVywgViwgWSwgQ1tQICsgMV0sIE8sIDIyNDAwNDQ0OTcpOyBZID0gdChZLCBYLCBXLCBWLCBDW1AgKyA4XSwgVSwgMTg3MzMxMzM1OSk7IFYgPSB0KFYsIFksIFgsIFcsIENbUCArIDE1XSwgVCwgNDI2NDM1NTU1Mik7IFcgPSB0KFcsIFYsIFksIFgsIENbUCArIDZdLCBSLCAyNzM0NzY4OTE2KTsgWCA9IHQoWCwgVywgViwgWSwgQ1tQICsgMTNdLCBPLCAxMzA5MTUxNjQ5KTsgWSA9IHQoWSwgWCwgVywgViwgQ1tQICsgNF0sIFUsIDQxNDk0NDQyMjYpOyBWID0gdChWLCBZLCBYLCBXLCBDW1AgKyAxMV0sIFQsIDMxNzQ3NTY5MTcpOyBXID0gdChXLCBWLCBZLCBYLCBDW1AgKyAyXSwgUiwgNzE4Nzg3MjU5KTsgWCA9IHQoWCwgVywgViwgWSwgQ1tQICsgOV0sIE8sIDM5NTE0ODE3NDUpOyBZID0gSyhZLCBoKTsgWCA9IEsoWCwgRSk7IFcgPSBLKFcsIHYpOyBWID0gSyhWLCBnKSB9IHZhciBpID0gQihZKSArIEIoWCkgKyBCKFcpICsgQihWKTsgcmV0dXJuIGkudG9Mb3dlckNhc2UoKSB9O1xyXG5cdFx0XHR0aGlzLmdyYXZhdGFyRW1haWxBZGRyZXNzID0gdGhpcy5ncmF2YXRhckVtYWlsQWRkcmVzcy50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuXHRcdFx0dGhpcy5pbWFnZVNyYyA9ICdodHRwOi8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIvJyArIE1ENSh0aGlzLmdyYXZhdGFyRW1haWxBZGRyZXNzKSArICcuanBnP3M9JyArIDgwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnZpZXdPbmx5ICYmIGNoYW5nZXMudmlld09ubHkuY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLnZpZXdPbmx5ID0gKGNoYW5nZXMudmlld09ubHkuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGFzeW5jIHByb2Nlc3NGaWxlKGZpbGVzOiBGaWxlTGlzdCkge1xyXG5cdFx0aWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0bGV0IGZpbGU6IEZpbGUgPSBmaWxlcy5pdGVtKDApO1xyXG5cclxuXHRcdFx0bGV0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdFx0bGV0IGV4dCA9IGZpbGVOYW1lUGFydHNbZmlsZU5hbWVQYXJ0cy5sZW5ndGggLSAxXS50b0xvd2VyQ2FzZSgpO1xyXG5cdFx0XHRsZXQgZmlsZVR5cGUgPSBmaWxlLnR5cGU7XHJcblxyXG5cdFx0XHRpZiAoaW1nRXh0ZW5zaW9ucy5pbmRleE9mKGV4dCkgPj0gMCkge1xyXG5cdFx0XHRcdGxldCBpbWcgPSBuZXcgSW1hZ2U7XHJcblx0XHRcdFx0aW1nLm9ubG9hZCA9ICgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuaW1hZ2VTcmMgPSB0aGlzLnJlc2l6ZUltYWdlVG9CYXNlNjQoaW1nLCBmaWxlVHlwZSwgdGhpcy5yZXNpemVXaWR0aCwgdGhpcy5yZXNpemVIZWlnaHQpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZmlsZXNDaGFuZ2VkRW1pdHRlcilcclxuXHRcdFx0XHRcdFx0dGhpcy5maWxlc0NoYW5nZWRFbWl0dGVyLmVtaXQodGhpcy5pbWFnZVNyYyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGltZy5zcmMgPSBhd2FpdCB0aGlzLmdldEJhc2U2NChmaWxlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVzaXplSW1hZ2VUb0Jhc2U2NChpbWc6IEhUTUxJbWFnZUVsZW1lbnQsIGZpbGVUeXBlOiBzdHJpbmcsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogc3RyaW5nIHtcclxuXHRcdGxldCBzY2FsZTogbnVtYmVyID0gMTtcclxuXHRcdGlmIChpbWcud2lkdGggPiBpbWcuaGVpZ2h0KSB7XHJcblx0XHRcdGlmIChpbWcud2lkdGggPiB3aWR0aClcclxuXHRcdFx0XHRzY2FsZSA9IHdpZHRoIC8gaW1nLndpZHRoO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdGlmIChpbWcuaGVpZ2h0ID4gaGVpZ2h0KVxyXG5cdFx0XHRcdHNjYWxlID0gaGVpZ2h0IC8gaW1nLmhlaWdodDtcclxuXHRcdH1cclxuXHJcblx0XHRsZXQgbmV3V2lkdGggPSBpbWcud2lkdGggKiBzY2FsZTtcclxuXHRcdGxldCBuZXdIZWlnaHQgPSBpbWcuaGVpZ2h0ICogc2NhbGU7XHJcblxyXG5cdFx0Ly8gV2UgY3JlYXRlIGEgY2FudmFzIGFuZCBnZXQgaXRzIGNvbnRleHQuXHJcblx0XHR2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XHJcblx0XHR2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcblxyXG5cdFx0Ly8gV2Ugc2V0IHRoZSBkaW1lbnNpb25zIGF0IHRoZSB3YW50ZWQgc2l6ZS5cclxuXHRcdGNhbnZhcy53aWR0aCA9IG5ld1dpZHRoO1xyXG5cdFx0Y2FudmFzLmhlaWdodCA9IG5ld0hlaWdodDtcclxuXHJcblx0XHQvLyBXZSByZXNpemUgdGhlIGltYWdlIHdpdGggdGhlIGNhbnZhcyBtZXRob2QgZHJhd0ltYWdlKCk7XHJcblx0XHRjdHguZHJhd0ltYWdlKGltZywgMCwgMCwgbmV3V2lkdGgsIG5ld0hlaWdodCk7XHJcblxyXG5cdFx0cmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoZmlsZVR5cGUpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZXRCYXNlNjQoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG5cdFx0XHRyZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuXHRcdFx0cmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoPHN0cmluZz5yZWFkZXIucmVzdWx0KTtcclxuXHRcdFx0cmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHJlamVjdCgnRXJyb3I6ICcgKyBlcnJvcik7XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiAjY29udGFpbmVyUmVmIGlkPVwic2xpY2stcHJvZmlsZS1waWN0dXJlX3t7dXVpZH19XCIgY2xhc3M9XCJzbGljay1wcm9maWxlLXBpY3R1cmUgY2FyZFwiIFtuZ0NsYXNzXT1cInsgJ3NsaWNrLXByb2ZpbGUtcGljdHVyZV92aWV3LW9ubHknOiB2aWV3T25seSA9PT0gdHJ1ZSwgJ3NsaWNrLXByb2ZpbGUtcGljdHVyZV9lZGl0YWJsZSc6IHZpZXdPbmx5ID09PSBmYWxzZSB9XCIgW25nU3R5bGVdPVwieyAnd2lkdGgnOiB3aWR0aCwgJ21pbi13aWR0aCc6IHdpZHRoLCAnaGVpZ2h0JzogaGVpZ2h0LCAnbWluLWhlaWdodCc6IGhlaWdodCB9XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLXByb2ZpbGUtcGljdHVyZV90ZXh0XCIgKm5nSWY9J3ZpZXdPbmx5ID09PSBmYWxzZSc+Q2xpY2sgdG8gY2hhbmdlLi4uPC9kaXY+XHJcblx0PGltZyBjbGFzcz1cInNsaWNrLXByb2ZpbGUtcGljdHVyZV9pbWdcIiAqbmdJZj1cImltYWdlU3JjXCIgW3NyY109XCJpbWFnZVNyY1wiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IHdpZHRoLCAnbWF4LWhlaWdodCc6IGhlaWdodCB9XCIgLz5cclxuPC9kaXY+XHJcbjxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgbXVsdGlwbGUgLz5cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { SlickProfilePictureComponent } from "./slick-profile-picture.component";
5
+ import * as i0 from "@angular/core";
6
+ export class SlickProfilePictureModule {
7
+ }
8
+ /** @nocollapse */ SlickProfilePictureModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ /** @nocollapse */ SlickProfilePictureModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureModule, declarations: [SlickProfilePictureComponent], imports: [CommonModule, FormsModule], exports: [CommonModule, FormsModule, SlickProfilePictureComponent] });
10
+ /** @nocollapse */ SlickProfilePictureModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureModule, imports: [[CommonModule, FormsModule], CommonModule, FormsModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProfilePictureModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [CommonModule, FormsModule],
15
+ declarations: [SlickProfilePictureComponent],
16
+ exports: [CommonModule, FormsModule, SlickProfilePictureComponent]
17
+ }]
18
+ }] });
19
+ export { SlickProfilePictureComponent };
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZmlsZS1waWN0dXJlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2ZpbGUtcGljdHVyZS9zbGljay1wcm9maWxlLXBpY3R1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPakYsTUFBTSxPQUFPLHlCQUF5Qjs7eUlBQXpCLHlCQUF5QjswSUFBekIseUJBQXlCLGlCQUh0Qiw0QkFBNEIsYUFEakMsWUFBWSxFQUFFLFdBQVcsYUFFekIsWUFBWSxFQUFFLFdBQVcsRUFBRSw0QkFBNEI7MElBRXJELHlCQUF5QixZQUo1QixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsRUFFMUIsWUFBWSxFQUFFLFdBQVc7MkZBRXZCLHlCQUF5QjtrQkFMckMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsQ0FBQztpQkFDbEU7O0FBRUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrUHJvZmlsZVBpY3R1cmVDb21wb25lbnQgfSBmcm9tIFwiLi9zbGljay1wcm9maWxlLXBpY3R1cmUuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlXSxcclxuXHRkZWNsYXJhdGlvbnM6IFtTbGlja1Byb2ZpbGVQaWN0dXJlQ29tcG9uZW50XSxcclxuXHRleHBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgU2xpY2tQcm9maWxlUGljdHVyZUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrUHJvZmlsZVBpY3R1cmVNb2R1bGUgeyB9XHJcbmV4cG9ydCB7IFNsaWNrUHJvZmlsZVBpY3R1cmVDb21wb25lbnQgfVxyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { RouterModule } from "@angular/router";
3
+ import { SlickProgressBarService } from "./slick-progress-bar.service";
4
+ import * as i0 from "@angular/core";
5
+ export class SlickProgressBarModule {
6
+ }
7
+ /** @nocollapse */ SlickProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ /** @nocollapse */ SlickProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarModule, imports: [RouterModule] });
9
+ /** @nocollapse */ SlickProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarModule, providers: [SlickProgressBarService], imports: [[RouterModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [RouterModule],
14
+ providers: [SlickProgressBarService]
15
+ }]
16
+ }] });
17
+ export { SlickProgressBarService };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZ3Jlc3MtYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXByb2dyZXNzLWJhci9zbGljay1wcm9ncmVzcy1iYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU12RSxNQUFNLE9BQU8sc0JBQXNCOztzSUFBdEIsc0JBQXNCO3VJQUF0QixzQkFBc0IsWUFIeEIsWUFBWTt1SUFHVixzQkFBc0IsYUFGdkIsQ0FBQyx1QkFBdUIsQ0FBQyxZQUQzQixDQUFDLFlBQVksQ0FBQzsyRkFHWCxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDcEM7O0FBR0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgU2xpY2tQcm9ncmVzc0JhclNlcnZpY2UgfSBmcm9tIFwiLi9zbGljay1wcm9ncmVzcy1iYXIuc2VydmljZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuXHRpbXBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxuXHRwcm92aWRlcnM6IFtTbGlja1Byb2dyZXNzQmFyU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrUHJvZ3Jlc3NCYXJNb2R1bGUgeyB9XHJcblxyXG5leHBvcnQgeyBTbGlja1Byb2dyZXNzQmFyU2VydmljZSB9Il19
@@ -0,0 +1,53 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class SlickProgressBarService {
4
+ constructor() {
5
+ this.isVisible = false;
6
+ this.progressPercent = 0;
7
+ }
8
+ setProgress(progressPercent, message) {
9
+ if (progressPercent < 1)
10
+ progressPercent *= 100;
11
+ this.progressPercent = progressPercent;
12
+ this.progressBarDiv.style.width = (progressPercent + "%");
13
+ this.progressBarTextDiv.innerHTML = message;
14
+ }
15
+ show(initialPercent = 0) {
16
+ this.progressPercent = initialPercent;
17
+ this.isVisible = false;
18
+ let screenBlockerDiv = document.getElementById("slick-progress-bar-screen-blocker");
19
+ if (!screenBlockerDiv) {
20
+ screenBlockerDiv = document.createElement("div");
21
+ screenBlockerDiv.id = "slick-progress-bar-screen-blocker";
22
+ screenBlockerDiv.classList.add('slick-progress-bar-screen-blocker');
23
+ document.body.appendChild(screenBlockerDiv);
24
+ }
25
+ const progressDiv = document.createElement("div");
26
+ progressDiv.classList.add('progress');
27
+ progressDiv.classList.add('slick-progress-bar');
28
+ progressDiv.classList.add('bg-dark');
29
+ this.progressBarDiv = document.createElement("div");
30
+ this.progressBarDiv.classList.add('progress-bar');
31
+ this.progressBarDiv.classList.add('bg-primary');
32
+ this.progressBarDiv.style.width = "0";
33
+ progressDiv.append(this.progressBarDiv);
34
+ this.progressBarTextDiv = document.createElement("div");
35
+ this.progressBarTextDiv.classList.add('progress-bar-text');
36
+ this.progressBarTextDiv.classList.add('text-white');
37
+ progressDiv.append(this.progressBarTextDiv);
38
+ screenBlockerDiv.append(progressDiv);
39
+ screenBlockerDiv.classList.add('visible');
40
+ }
41
+ hide() {
42
+ this.isVisible = false;
43
+ const screenBlockerDiv = document.getElementById("slick-progress-bar-screen-blocker");
44
+ if (screenBlockerDiv)
45
+ screenBlockerDiv.remove();
46
+ }
47
+ }
48
+ /** @nocollapse */ SlickProgressBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ /** @nocollapse */ SlickProgressBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarService });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickProgressBarService, decorators: [{
51
+ type: Injectable
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stcHJvZ3Jlc3MtYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9zbGljay1wcm9ncmVzcy1iYXIvc2xpY2stcHJvZ3Jlc3MtYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUVTLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isb0JBQWUsR0FBVyxDQUFDLENBQUM7S0F1RHBDO0lBbkRBLFdBQVcsQ0FBQyxlQUF1QixFQUFFLE9BQWU7UUFDbkQsSUFBSSxlQUFlLEdBQUcsQ0FBQztZQUN0QixlQUFlLElBQUksR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBRXZDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBSSxDQUFDLGlCQUF5QixDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBRXRDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksZ0JBQWdCLEdBQW9DLFFBQVEsQ0FBQyxjQUFjLENBQUMsbUNBQW1DLENBQUUsQ0FBQztRQUN0SCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEIsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsbUNBQW1DLENBQUM7WUFDMUQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1lBRXBFLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDNUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDaEQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUN0QyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFNUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXJDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUk7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixNQUFNLGdCQUFnQixHQUFvQyxRQUFRLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFFLENBQUM7UUFDeEgsSUFBSSxnQkFBZ0I7WUFDbkIsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7dUlBdkRXLHVCQUF1QjsySUFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNsaWNrUHJvZ3Jlc3NCYXJTZXJ2aWNlIHtcclxuXHRwcml2YXRlIGlzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHByaXZhdGUgcHJvZ3Jlc3NQZXJjZW50OiBudW1iZXIgPSAwO1xyXG5cdHByaXZhdGUgcHJvZ3Jlc3NCYXJUZXh0RGl2OiBIVE1MRGl2RWxlbWVudDtcclxuXHRwcml2YXRlIHByb2dyZXNzQmFyRGl2OiBIVE1MRGl2RWxlbWVudDtcclxuXHJcblx0c2V0UHJvZ3Jlc3MocHJvZ3Jlc3NQZXJjZW50OiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZykge1xyXG5cdFx0aWYgKHByb2dyZXNzUGVyY2VudCA8IDEpXHJcblx0XHRcdHByb2dyZXNzUGVyY2VudCAqPSAxMDA7XHJcblx0XHR0aGlzLnByb2dyZXNzUGVyY2VudCA9IHByb2dyZXNzUGVyY2VudDtcclxuXHJcblx0XHR0aGlzLnByb2dyZXNzQmFyRGl2LnN0eWxlLndpZHRoID0gKHByb2dyZXNzUGVyY2VudCArIFwiJVwiKTtcclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJUZXh0RGl2LmlubmVySFRNTCA9IG1lc3NhZ2U7XHJcblx0fVxyXG5cclxuXHRzaG93KGluaXRpYWxQZXJjZW50OiBudW1iZXIgPSAwKSB7XHJcblx0XHR0aGlzLnByb2dyZXNzUGVyY2VudCA9IGluaXRpYWxQZXJjZW50O1xyXG5cclxuXHRcdHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcblx0XHRsZXQgc2NyZWVuQmxvY2tlckRpdjogSFRNTERpdkVsZW1lbnQgPSAoPEhUTUxEaXZFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2xpY2stcHJvZ3Jlc3MtYmFyLXNjcmVlbi1ibG9ja2VyXCIpKTtcclxuXHRcdGlmICghc2NyZWVuQmxvY2tlckRpdikge1xyXG5cdFx0XHRzY3JlZW5CbG9ja2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5pZCA9IFwic2xpY2stcHJvZ3Jlc3MtYmFyLXNjcmVlbi1ibG9ja2VyXCI7XHJcblx0XHRcdHNjcmVlbkJsb2NrZXJEaXYuY2xhc3NMaXN0LmFkZCgnc2xpY2stcHJvZ3Jlc3MtYmFyLXNjcmVlbi1ibG9ja2VyJyk7XHJcblxyXG5cdFx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmVlbkJsb2NrZXJEaXYpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHByb2dyZXNzRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdHByb2dyZXNzRGl2LmNsYXNzTGlzdC5hZGQoJ3Byb2dyZXNzJyk7XHJcblx0XHRwcm9ncmVzc0Rpdi5jbGFzc0xpc3QuYWRkKCdzbGljay1wcm9ncmVzcy1iYXInKTtcclxuXHRcdHByb2dyZXNzRGl2LmNsYXNzTGlzdC5hZGQoJ2JnLWRhcmsnKTtcclxuXHRcdFxyXG5cdFx0dGhpcy5wcm9ncmVzc0JhckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XHJcblx0XHR0aGlzLnByb2dyZXNzQmFyRGl2LmNsYXNzTGlzdC5hZGQoJ3Byb2dyZXNzLWJhcicpO1xyXG5cdFx0dGhpcy5wcm9ncmVzc0JhckRpdi5jbGFzc0xpc3QuYWRkKCdiZy1wcmltYXJ5Jyk7XHJcblx0XHR0aGlzLnByb2dyZXNzQmFyRGl2LnN0eWxlLndpZHRoID0gXCIwXCI7XHJcblx0XHRwcm9ncmVzc0Rpdi5hcHBlbmQodGhpcy5wcm9ncmVzc0JhckRpdik7XHJcblxyXG5cdFx0dGhpcy5wcm9ncmVzc0JhclRleHREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5cdFx0dGhpcy5wcm9ncmVzc0JhclRleHREaXYuY2xhc3NMaXN0LmFkZCgncHJvZ3Jlc3MtYmFyLXRleHQnKTtcclxuXHRcdHRoaXMucHJvZ3Jlc3NCYXJUZXh0RGl2LmNsYXNzTGlzdC5hZGQoJ3RleHQtd2hpdGUnKTtcclxuXHRcdHByb2dyZXNzRGl2LmFwcGVuZCh0aGlzLnByb2dyZXNzQmFyVGV4dERpdik7XHJcblxyXG5cdFx0c2NyZWVuQmxvY2tlckRpdi5hcHBlbmQocHJvZ3Jlc3NEaXYpO1xyXG5cclxuXHRcdHNjcmVlbkJsb2NrZXJEaXYuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpO1xyXG5cdH1cclxuXHJcblx0aGlkZSgpIHtcclxuXHRcdHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcblxyXG5cdFx0Y29uc3Qgc2NyZWVuQmxvY2tlckRpdjogSFRNTERpdkVsZW1lbnQgPSAoPEhUTUxEaXZFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2xpY2stcHJvZ3Jlc3MtYmFyLXNjcmVlbi1ibG9ja2VyXCIpKTtcclxuXHRcdGlmIChzY3JlZW5CbG9ja2VyRGl2KVxyXG5cdFx0XHRzY3JlZW5CbG9ja2VyRGl2LnJlbW92ZSgpO1xyXG5cdH1cclxuXHJcbn0iXX0=
@@ -0,0 +1,18 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { SlickScreenBlockerService } from "./slick-screen-blocker.service";
4
+ import * as i0 from "@angular/core";
5
+ export class SlickScreenBlockerModule {
6
+ }
7
+ /** @nocollapse */ SlickScreenBlockerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ /** @nocollapse */ SlickScreenBlockerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerModule, imports: [CommonModule] });
9
+ /** @nocollapse */ SlickScreenBlockerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerModule, providers: [SlickScreenBlockerService], imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ providers: [SlickScreenBlockerService]
15
+ }]
16
+ }] });
17
+ export { SlickScreenBlockerService };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stc2NyZWVuLWJsb2NrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stc2NyZWVuLWJsb2NrZXIvc2xpY2stc2NyZWVuLWJsb2NrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQU0zRSxNQUFNLE9BQU8sd0JBQXdCOzt3SUFBeEIsd0JBQXdCO3lJQUF4Qix3QkFBd0IsWUFIMUIsWUFBWTt5SUFHVix3QkFBd0IsYUFGekIsQ0FBQyx5QkFBeUIsQ0FBQyxZQUQ3QixDQUFDLFlBQVksQ0FBQzsyRkFHWCx3QkFBd0I7a0JBSnBDLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDdEM7O0FBR0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZSB9IGZyb20gXCIuL3NsaWNrLXNjcmVlbi1ibG9ja2VyLnNlcnZpY2VcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcblx0cHJvdmlkZXJzOiBbU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrU2NyZWVuQmxvY2tlck1vZHVsZSB7IH1cclxuXHJcbmV4cG9ydCB7IFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UgfVxyXG4iXX0=
@@ -0,0 +1,83 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class SlickScreenBlockerService {
4
+ constructor() {
5
+ this.isVisible = false;
6
+ this.forceBlockActive = false;
7
+ }
8
+ block(delay = 350) {
9
+ if (this.forceBlockActive === true)
10
+ return;
11
+ SlickScreenBlockerService.blockCount++;
12
+ if (!SlickScreenBlockerService.preShowTimeout) {
13
+ SlickScreenBlockerService.preShowTimeout = setTimeout(() => {
14
+ this.show();
15
+ clearTimeout(SlickScreenBlockerService.blockTimeout);
16
+ SlickScreenBlockerService.blockTimeout = setTimeout(() => {
17
+ SlickScreenBlockerService.blockCount = 0;
18
+ this.isVisible = false;
19
+ this.hide();
20
+ }, 20000);
21
+ }, delay);
22
+ }
23
+ else {
24
+ clearTimeout(SlickScreenBlockerService.blockTimeout);
25
+ SlickScreenBlockerService.blockTimeout = setTimeout(() => {
26
+ SlickScreenBlockerService.blockCount = 0;
27
+ this.isVisible = false;
28
+ this.hide();
29
+ }, 20000);
30
+ }
31
+ }
32
+ unblock() {
33
+ if (this.forceBlockActive === true)
34
+ return;
35
+ SlickScreenBlockerService.blockCount--;
36
+ if (SlickScreenBlockerService.blockCount <= 0) {
37
+ SlickScreenBlockerService.blockCount = 0;
38
+ clearTimeout(SlickScreenBlockerService.preShowTimeout);
39
+ SlickScreenBlockerService.preShowTimeout = null;
40
+ clearTimeout(SlickScreenBlockerService.blockTimeout);
41
+ this.isVisible = false;
42
+ this.hide();
43
+ }
44
+ }
45
+ forceBlock() {
46
+ clearTimeout(SlickScreenBlockerService.blockTimeout);
47
+ this.forceBlockActive = true;
48
+ this.isVisible = true;
49
+ this.show();
50
+ }
51
+ forceUnblock() {
52
+ clearTimeout(SlickScreenBlockerService.blockTimeout);
53
+ SlickScreenBlockerService.blockCount = 0;
54
+ this.forceBlockActive = false;
55
+ this.isVisible = false;
56
+ this.hide();
57
+ }
58
+ show() {
59
+ let screenBlockerDiv = document.getElementById("slick-screen-blocker");
60
+ if (!screenBlockerDiv) {
61
+ screenBlockerDiv = document.createElement("div");
62
+ screenBlockerDiv.id = "slick-screen-blocker";
63
+ screenBlockerDiv.classList.add('slick-screen-blocker');
64
+ screenBlockerDiv.innerHTML = `<div class='slick-screen-blocker_spinner'></div>`;
65
+ document.body.appendChild(screenBlockerDiv);
66
+ }
67
+ screenBlockerDiv.classList.add('visible');
68
+ }
69
+ hide() {
70
+ let screenBlockerDiv = document.getElementById("slick-screen-blocker");
71
+ if (screenBlockerDiv)
72
+ screenBlockerDiv.classList.remove('visible');
73
+ }
74
+ }
75
+ SlickScreenBlockerService.blockCount = 0;
76
+ SlickScreenBlockerService.preShowTimeout = null;
77
+ SlickScreenBlockerService.blockTimeout = null;
78
+ /** @nocollapse */ SlickScreenBlockerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
79
+ /** @nocollapse */ SlickScreenBlockerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerService });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: SlickScreenBlockerService, decorators: [{
81
+ type: Injectable
82
+ }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stc2NyZWVuLWJsb2NrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLXNjcmVlbi1ibG9ja2VyL3NsaWNrLXNjcmVlbi1ibG9ja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IscUJBQWdCLEdBQVksS0FBSyxDQUFDO0tBcUZsQztJQS9FQSxLQUFLLENBQUMsUUFBZ0IsR0FBRztRQUN4QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJO1lBQ2pDLE9BQU87UUFFUix5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMseUJBQXlCLENBQUMsY0FBYyxFQUFFO1lBQzlDLHlCQUF5QixDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRVosWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNyRCx5QkFBeUIsQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDeEQseUJBQXlCLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDYixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDWCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDVjthQUNJO1lBQ0osWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELHlCQUF5QixDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN4RCx5QkFBeUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ1Y7SUFDRixDQUFDO0lBRUQsT0FBTztRQUNOLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUk7WUFDakMsT0FBTztRQUVSLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXZDLElBQUkseUJBQXlCLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRTtZQUM5Qyx5QkFBeUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN2RCx5QkFBeUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQ2hELFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDWjtJQUNGLENBQUM7SUFFRCxVQUFVO1FBQ1QsWUFBWSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVk7UUFDWCxZQUFZLENBQUMseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckQseUJBQXlCLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFTyxJQUFJO1FBQ1gsSUFBSSxnQkFBZ0IsR0FBb0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBRSxDQUFDO1FBQ3pHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN0QixnQkFBZ0IsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pELGdCQUFnQixDQUFDLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQztZQUM3QyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDdkQsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLGtEQUFrRCxDQUFDO1lBRWhGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDNUM7UUFFRCxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxJQUFJO1FBQ1gsSUFBSSxnQkFBZ0IsR0FBb0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBRSxDQUFDO1FBQ3pHLElBQUksZ0JBQWdCO1lBQ25CLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7QUFqRmMsb0NBQVUsR0FBVyxDQUFFLENBQUE7QUFDdkIsd0NBQWMsR0FBaUIsSUFBSyxDQUFBO0FBQ3BDLHNDQUFZLEdBQWlCLElBQUssQ0FBQTt5SUFOckMseUJBQXlCOzZJQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZSB7XHJcblx0aXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0Zm9yY2VCbG9ja0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIHN0YXRpYyBibG9ja0NvdW50OiBudW1iZXIgPSAwO1xyXG5cdHByaXZhdGUgc3RhdGljIHByZVNob3dUaW1lb3V0OiBOb2RlSlMuVGltZXIgPSBudWxsO1xyXG5cdHByaXZhdGUgc3RhdGljIGJsb2NrVGltZW91dDogTm9kZUpTLlRpbWVyID0gbnVsbDtcclxuXHJcblx0YmxvY2soZGVsYXk6IG51bWJlciA9IDM1MCkge1xyXG5cdFx0aWYgKHRoaXMuZm9yY2VCbG9ja0FjdGl2ZSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudCsrO1xyXG5cclxuXHRcdGlmICghU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5wcmVTaG93VGltZW91dCkge1xyXG5cdFx0XHRTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLnByZVNob3dUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zaG93KCk7XHJcblxyXG5cdFx0XHRcdGNsZWFyVGltZW91dChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrVGltZW91dCk7XHJcblx0XHRcdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudCA9IDA7XHJcblx0XHRcdFx0XHR0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5oaWRlKCk7XHJcblx0XHRcdFx0fSwgMjAwMDApO1xyXG5cdFx0XHR9LCBkZWxheSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Y2xlYXJUaW1lb3V0KFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tUaW1lb3V0KTtcclxuXHRcdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrQ291bnQgPSAwO1xyXG5cdFx0XHRcdHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5oaWRlKCk7XHJcblx0XHRcdH0sIDIwMDAwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVuYmxvY2soKSB7XHJcblx0XHRpZiAodGhpcy5mb3JjZUJsb2NrQWN0aXZlID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja0NvdW50LS07XHJcblxyXG5cdFx0aWYgKFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudCA8PSAwKSB7XHJcblx0XHRcdFNsaWNrU2NyZWVuQmxvY2tlclNlcnZpY2UuYmxvY2tDb3VudCA9IDA7XHJcblx0XHRcdGNsZWFyVGltZW91dChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLnByZVNob3dUaW1lb3V0KTtcclxuXHRcdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5wcmVTaG93VGltZW91dCA9IG51bGw7XHJcblx0XHRcdGNsZWFyVGltZW91dChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrVGltZW91dCk7XHJcblx0XHRcdHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdHRoaXMuaGlkZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Zm9yY2VCbG9jaygpIHtcclxuXHRcdGNsZWFyVGltZW91dChTbGlja1NjcmVlbkJsb2NrZXJTZXJ2aWNlLmJsb2NrVGltZW91dCk7XHJcblx0XHR0aGlzLmZvcmNlQmxvY2tBY3RpdmUgPSB0cnVlO1xyXG5cdFx0dGhpcy5pc1Zpc2libGUgPSB0cnVlO1xyXG5cdFx0dGhpcy5zaG93KCk7XHJcblx0fVxyXG5cclxuXHRmb3JjZVVuYmxvY2soKSB7XHJcblx0XHRjbGVhclRpbWVvdXQoU2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja1RpbWVvdXQpO1xyXG5cdFx0U2xpY2tTY3JlZW5CbG9ja2VyU2VydmljZS5ibG9ja0NvdW50ID0gMDtcclxuXHRcdHRoaXMuZm9yY2VCbG9ja0FjdGl2ZSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcclxuXHRcdHRoaXMuaGlkZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBzaG93KCkge1xyXG5cdFx0bGV0IHNjcmVlbkJsb2NrZXJEaXY6IEhUTUxEaXZFbGVtZW50ID0gKDxIVE1MRGl2RWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNsaWNrLXNjcmVlbi1ibG9ja2VyXCIpKTtcclxuXHRcdGlmICghc2NyZWVuQmxvY2tlckRpdikge1xyXG5cdFx0XHRzY3JlZW5CbG9ja2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5pZCA9IFwic2xpY2stc2NyZWVuLWJsb2NrZXJcIjtcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5jbGFzc0xpc3QuYWRkKCdzbGljay1zY3JlZW4tYmxvY2tlcicpO1xyXG5cdFx0XHRzY3JlZW5CbG9ja2VyRGl2LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSdzbGljay1zY3JlZW4tYmxvY2tlcl9zcGlubmVyJz48L2Rpdj5gO1xyXG5cclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JlZW5CbG9ja2VyRGl2KTtcclxuXHRcdH1cclxuXHJcblx0XHRzY3JlZW5CbG9ja2VyRGl2LmNsYXNzTGlzdC5hZGQoJ3Zpc2libGUnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaGlkZSgpIHtcclxuXHRcdGxldCBzY3JlZW5CbG9ja2VyRGl2OiBIVE1MRGl2RWxlbWVudCA9ICg8SFRNTERpdkVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzbGljay1zY3JlZW4tYmxvY2tlclwiKSk7XHJcblx0XHRpZiAoc2NyZWVuQmxvY2tlckRpdilcclxuXHRcdFx0c2NyZWVuQmxvY2tlckRpdi5jbGFzc0xpc3QucmVtb3ZlKCd2aXNpYmxlJyk7XHJcblx0fVxyXG5cclxufSJdfQ==