monkey-style-guide 2.0.92 → 2.0.94

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 (431) hide show
  1. package/assets/scss/partials/components/_input-phone.scss +15 -5
  2. package/assets/scss/partials/components/_select.scss +4 -0
  3. package/bundles/monkey-style-guide.umd.js +3042 -2069
  4. package/bundles/monkey-style-guide.umd.js.map +1 -1
  5. package/esm2015/lib/components/badge/badge.component.js +23 -12
  6. package/esm2015/lib/components/badge/badge.module.js +14 -9
  7. package/esm2015/lib/components/button/button-avatar.component.js +28 -14
  8. package/esm2015/lib/components/button/button-dropdown.component.js +55 -19
  9. package/esm2015/lib/components/button/button.component.js +80 -20
  10. package/esm2015/lib/components/button/button.module.js +15 -18
  11. package/esm2015/lib/components/checkbox/checkbox.component.js +84 -42
  12. package/esm2015/lib/components/checkbox/checkbox.module.js +14 -19
  13. package/esm2015/lib/components/date-range-picker/date-range-picker.component.js +233 -37
  14. package/esm2015/lib/components/date-range-picker/date-range-picker.module.js +16 -11
  15. package/esm2015/lib/components/expansion/expansion.component.js +60 -17
  16. package/esm2015/lib/components/expansion/expansion.module.js +15 -10
  17. package/esm2015/lib/components/file-upload/file-upload.component.js +119 -36
  18. package/esm2015/lib/components/file-upload/file-upload.module.js +30 -16
  19. package/esm2015/lib/components/icon/icon-arrow-down.component.js +19 -0
  20. package/esm2015/lib/components/icon/icon-arrow-left.component.js +19 -0
  21. package/esm2015/lib/components/icon/icon-arrow-right.component.js +19 -0
  22. package/esm2015/lib/components/icon/icon-arrow-up.component.js +19 -0
  23. package/esm2015/lib/components/icon/icon-bank.component.js +19 -0
  24. package/esm2015/lib/components/icon/icon-bell.component.js +19 -0
  25. package/esm2015/lib/components/icon/icon-book.component.js +19 -0
  26. package/esm2015/lib/components/icon/icon-box.component.js +19 -0
  27. package/esm2015/lib/components/icon/icon-calendar.component.js +19 -0
  28. package/esm2015/lib/components/icon/icon-camera.component.js +19 -0
  29. package/esm2015/lib/components/icon/icon-chat.component.js +19 -0
  30. package/esm2015/lib/components/icon/icon-check-circle-out.component.js +19 -0
  31. package/esm2015/lib/components/icon/icon-check-circle.component.js +19 -0
  32. package/esm2015/lib/components/icon/icon-check-grey.component.js +19 -0
  33. package/esm2015/lib/components/icon/icon-check-white.component.js +19 -0
  34. package/esm2015/lib/components/icon/icon-check.component.js +19 -0
  35. package/esm2015/lib/components/icon/icon-clipboard.component.js +19 -0
  36. package/esm2015/lib/components/icon/icon-clock.component.js +19 -0
  37. package/esm2015/lib/components/icon/icon-close.component.js +19 -0
  38. package/esm2015/lib/components/icon/icon-cnpj.component.js +19 -0
  39. package/esm2015/lib/components/icon/icon-codepen.component.js +19 -0
  40. package/esm2015/lib/components/icon/icon-company-name.component.js +19 -0
  41. package/esm2015/lib/components/icon/icon-contract.component.js +19 -0
  42. package/esm2015/lib/components/icon/icon-delete.component.js +19 -0
  43. package/esm2015/lib/components/icon/icon-document.component.js +19 -0
  44. package/esm2015/lib/components/icon/icon-dollar-sign.component.js +19 -0
  45. package/esm2015/lib/components/icon/icon-domain.component.js +19 -0
  46. package/esm2015/lib/components/icon/icon-download.component.js +19 -0
  47. package/esm2015/lib/components/icon/icon-edit.component.js +19 -0
  48. package/esm2015/lib/components/icon/icon-email.component.js +19 -0
  49. package/esm2015/lib/components/icon/icon-empty-doc.component.js +19 -0
  50. package/esm2015/lib/components/icon/icon-error.component.js +19 -0
  51. package/esm2015/lib/components/icon/icon-eye-closed.component.js +19 -0
  52. package/esm2015/lib/components/icon/icon-eye-open.component.js +19 -0
  53. package/esm2015/lib/components/icon/icon-filter.component.js +19 -0
  54. package/esm2015/lib/components/icon/icon-grid.component.js +19 -0
  55. package/esm2015/lib/components/icon/icon-help.component.js +19 -0
  56. package/esm2015/lib/components/icon/icon-hexagon.component.js +19 -0
  57. package/esm2015/lib/components/icon/icon-home.component.js +19 -0
  58. package/esm2015/lib/components/icon/icon-image.component.js +19 -0
  59. package/esm2015/lib/components/icon/icon-list.component.js +19 -0
  60. package/esm2015/lib/components/icon/icon-location-pin.component.js +19 -0
  61. package/esm2015/lib/components/icon/icon-login.component.js +19 -0
  62. package/esm2015/lib/components/icon/icon-logout.component.js +19 -0
  63. package/esm2015/lib/components/icon/icon-menu.component.js +19 -0
  64. package/esm2015/lib/components/icon/icon-money-sign.component.js +19 -0
  65. package/esm2015/lib/components/icon/icon-more.component.js +19 -0
  66. package/esm2015/lib/components/icon/icon-offered.component.js +19 -0
  67. package/esm2015/lib/components/icon/icon-password.component.js +19 -0
  68. package/esm2015/lib/components/icon/icon-people.component.js +19 -0
  69. package/esm2015/lib/components/icon/icon-percent.component.js +19 -0
  70. package/esm2015/lib/components/icon/icon-person-document.component.js +19 -0
  71. package/esm2015/lib/components/icon/icon-person-sad.component.js +19 -0
  72. package/esm2015/lib/components/icon/icon-phone.component.js +19 -0
  73. package/esm2015/lib/components/icon/icon-pork.component.js +19 -0
  74. package/esm2015/lib/components/icon/icon-refresh.component.js +19 -0
  75. package/esm2015/lib/components/icon/icon-repeat.component.js +19 -0
  76. package/esm2015/lib/components/icon/icon-search.component.js +19 -0
  77. package/esm2015/lib/components/icon/icon-second-warning.component.js +19 -0
  78. package/esm2015/lib/components/icon/icon-settings.component.js +19 -0
  79. package/esm2015/lib/components/icon/icon-trash.component.js +19 -0
  80. package/esm2015/lib/components/icon/icon-upload.component.js +19 -0
  81. package/esm2015/lib/components/icon/icon-user.component.js +19 -0
  82. package/esm2015/lib/components/icon/icon-wallet.component.js +19 -0
  83. package/esm2015/lib/components/icon/icon-warning.component.js +19 -0
  84. package/esm2015/lib/components/icon/icon.component.js +484 -19
  85. package/esm2015/lib/components/icon/icon.module.js +211 -77
  86. package/esm2015/lib/components/icon/index.js +65 -2
  87. package/esm2015/lib/components/image-crop/image-crop.component.js +165 -31
  88. package/esm2015/lib/components/image-crop/image-crop.module.js +32 -16
  89. package/esm2015/lib/components/input/input-filter.component.js +123 -44
  90. package/esm2015/lib/components/input/input.component.js +165 -50
  91. package/esm2015/lib/components/input/input.module.js +29 -15
  92. package/esm2015/lib/components/input-phone/input-phone.component.js +245 -136
  93. package/esm2015/lib/components/input-phone/input-phone.module.js +37 -17
  94. package/esm2015/lib/components/modal/modal.component.js +99 -17
  95. package/esm2015/lib/components/modal/modal.module.js +15 -10
  96. package/esm2015/lib/components/option/option.component.js +76 -29
  97. package/esm2015/lib/components/option/option.module.js +24 -17
  98. package/esm2015/lib/components/radiobutton/radiobutton.component.js +67 -27
  99. package/esm2015/lib/components/radiobutton/radiobutton.module.js +30 -19
  100. package/esm2015/lib/components/select/select-filter.component.js +72 -29
  101. package/esm2015/lib/components/select/select-multiple.component.js +94 -33
  102. package/esm2015/lib/components/select/select-search.component.js +106 -38
  103. package/esm2015/lib/components/select/select.component.js +95 -34
  104. package/esm2015/lib/components/select/select.module.js +49 -26
  105. package/esm2015/lib/components/stepper/stepper.component.js +28 -14
  106. package/esm2015/lib/components/stepper/stepper.module.js +14 -9
  107. package/esm2015/lib/components/tab/tab.component.js +40 -25
  108. package/esm2015/lib/components/tab/tab.module.js +14 -9
  109. package/esm2015/lib/components/table/table-column.component.js +25 -15
  110. package/esm2015/lib/components/table/table.component.js +68 -25
  111. package/esm2015/lib/components/table/table.module.js +14 -9
  112. package/esm2015/lib/components/toggle/toggle.component.js +27 -15
  113. package/esm2015/lib/components/toggle/toggle.module.js +14 -9
  114. package/esm2015/lib/components/wizard/wizard.component.js +30 -14
  115. package/esm2015/lib/components/wizard/wizard.module.js +27 -18
  116. package/esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.js +8 -10
  117. package/esm2015/lib/core/services/modal/monkey-style-guide-modal.service.js +9 -12
  118. package/esm2015/lib/core/services/monkey-style-guide.service.js +8 -8
  119. package/esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js +9 -10
  120. package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.js +10 -7
  121. package/esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.js +8 -13
  122. package/esm2015/lib/core/utils/utils.js +77 -1
  123. package/esm2015/lib/monkey-style-guide.module.js +22 -12
  124. package/esm2015/monkey-style-guide.js +1 -5
  125. package/fesm2015/monkey-style-guide.js +4548 -2017
  126. package/fesm2015/monkey-style-guide.js.map +1 -1
  127. package/lib/components/badge/badge.component.d.ts +3 -0
  128. package/lib/components/badge/badge.module.d.ts +6 -0
  129. package/lib/components/button/button-avatar.component.d.ts +3 -0
  130. package/lib/components/button/button-dropdown.component.d.ts +3 -0
  131. package/lib/components/button/button.component.d.ts +3 -0
  132. package/lib/components/button/button.module.d.ts +10 -0
  133. package/lib/components/checkbox/checkbox.component.d.ts +3 -0
  134. package/lib/components/checkbox/checkbox.module.d.ts +7 -0
  135. package/lib/components/date-range-picker/date-range-picker.component.d.ts +5 -0
  136. package/lib/components/date-range-picker/date-range-picker.module.d.ts +9 -0
  137. package/lib/components/expansion/expansion.component.d.ts +3 -0
  138. package/lib/components/expansion/expansion.module.d.ts +7 -0
  139. package/lib/components/file-upload/file-upload.component.d.ts +3 -0
  140. package/lib/components/file-upload/file-upload.module.d.ts +9 -0
  141. package/lib/components/icon/icon-arrow-down.component.d.ts +7 -0
  142. package/lib/components/icon/icon-arrow-left.component.d.ts +7 -0
  143. package/lib/components/icon/icon-arrow-right.component.d.ts +7 -0
  144. package/lib/components/icon/icon-arrow-up.component.d.ts +7 -0
  145. package/lib/components/icon/icon-bank.component.d.ts +7 -0
  146. package/lib/components/icon/icon-bell.component.d.ts +7 -0
  147. package/lib/components/icon/icon-book.component.d.ts +7 -0
  148. package/lib/components/icon/icon-box.component.d.ts +7 -0
  149. package/lib/components/icon/icon-calendar.component.d.ts +7 -0
  150. package/lib/components/icon/icon-camera.component.d.ts +7 -0
  151. package/lib/components/icon/icon-chat.component.d.ts +7 -0
  152. package/lib/components/icon/icon-check-circle-out.component.d.ts +7 -0
  153. package/lib/components/icon/icon-check-circle.component.d.ts +7 -0
  154. package/lib/components/icon/icon-check-grey.component.d.ts +7 -0
  155. package/lib/components/icon/icon-check-white.component.d.ts +7 -0
  156. package/lib/components/icon/icon-check.component.d.ts +7 -0
  157. package/lib/components/icon/icon-clipboard.component.d.ts +7 -0
  158. package/lib/components/icon/icon-clock.component.d.ts +7 -0
  159. package/lib/components/icon/icon-close.component.d.ts +7 -0
  160. package/lib/components/icon/icon-cnpj.component.d.ts +7 -0
  161. package/lib/components/icon/icon-codepen.component.d.ts +7 -0
  162. package/lib/components/icon/icon-company-name.component.d.ts +7 -0
  163. package/lib/components/icon/icon-contract.component.d.ts +7 -0
  164. package/lib/components/icon/icon-delete.component.d.ts +7 -0
  165. package/lib/components/icon/icon-document.component.d.ts +7 -0
  166. package/lib/components/icon/icon-dollar-sign.component.d.ts +7 -0
  167. package/lib/components/icon/icon-domain.component.d.ts +7 -0
  168. package/lib/components/icon/icon-download.component.d.ts +7 -0
  169. package/lib/components/icon/icon-edit.component.d.ts +7 -0
  170. package/lib/components/icon/icon-email.component.d.ts +7 -0
  171. package/lib/components/icon/icon-empty-doc.component.d.ts +7 -0
  172. package/lib/components/icon/icon-error.component.d.ts +7 -0
  173. package/lib/components/icon/icon-eye-closed.component.d.ts +7 -0
  174. package/lib/components/icon/icon-eye-open.component.d.ts +7 -0
  175. package/lib/components/icon/icon-filter.component.d.ts +7 -0
  176. package/lib/components/icon/icon-grid.component.d.ts +7 -0
  177. package/lib/components/icon/icon-help.component.d.ts +7 -0
  178. package/lib/components/icon/icon-hexagon.component.d.ts +7 -0
  179. package/lib/components/icon/icon-home.component.d.ts +7 -0
  180. package/lib/components/icon/icon-image.component.d.ts +7 -0
  181. package/lib/components/icon/icon-list.component.d.ts +7 -0
  182. package/lib/components/icon/icon-location-pin.component.d.ts +7 -0
  183. package/lib/components/icon/icon-login.component.d.ts +7 -0
  184. package/lib/components/icon/icon-logout.component.d.ts +7 -0
  185. package/lib/components/icon/icon-menu.component.d.ts +7 -0
  186. package/lib/components/icon/icon-money-sign.component.d.ts +7 -0
  187. package/lib/components/icon/icon-more.component.d.ts +7 -0
  188. package/lib/components/icon/icon-offered.component.d.ts +7 -0
  189. package/lib/components/icon/icon-password.component.d.ts +7 -0
  190. package/lib/components/icon/icon-people.component.d.ts +7 -0
  191. package/lib/components/icon/icon-percent.component.d.ts +7 -0
  192. package/lib/components/icon/icon-person-document.component.d.ts +7 -0
  193. package/lib/components/icon/icon-person-sad.component.d.ts +7 -0
  194. package/lib/components/icon/icon-phone.component.d.ts +7 -0
  195. package/lib/components/icon/icon-pork.component.d.ts +7 -0
  196. package/lib/components/icon/icon-refresh.component.d.ts +7 -0
  197. package/lib/components/icon/icon-repeat.component.d.ts +7 -0
  198. package/lib/components/icon/icon-search.component.d.ts +7 -0
  199. package/lib/components/icon/icon-second-warning.component.d.ts +7 -0
  200. package/lib/components/icon/icon-settings.component.d.ts +7 -0
  201. package/lib/components/icon/icon-trash.component.d.ts +7 -0
  202. package/lib/components/icon/icon-upload.component.d.ts +7 -0
  203. package/lib/components/icon/icon-user.component.d.ts +7 -0
  204. package/lib/components/icon/icon-wallet.component.d.ts +7 -0
  205. package/lib/components/icon/icon-warning.component.d.ts +7 -0
  206. package/lib/components/icon/icon.component.d.ts +4 -1
  207. package/lib/components/icon/icon.module.d.ts +71 -0
  208. package/lib/components/icon/index.d.ts +64 -1
  209. package/lib/components/image-crop/image-crop.component.d.ts +3 -0
  210. package/lib/components/image-crop/image-crop.module.d.ts +10 -0
  211. package/lib/components/input/input-filter.component.d.ts +3 -0
  212. package/lib/components/input/input.component.d.ts +3 -0
  213. package/lib/components/input/input.module.d.ts +10 -0
  214. package/lib/components/input-phone/input-phone.component.d.ts +28 -32
  215. package/lib/components/input-phone/input-phone.module.d.ts +11 -0
  216. package/lib/components/modal/modal.component.d.ts +3 -0
  217. package/lib/components/modal/modal.module.d.ts +8 -0
  218. package/lib/components/option/option.component.d.ts +3 -0
  219. package/lib/components/option/option.module.d.ts +6 -0
  220. package/lib/components/radiobutton/radiobutton.component.d.ts +3 -0
  221. package/lib/components/radiobutton/radiobutton.module.d.ts +7 -0
  222. package/lib/components/select/select-filter.component.d.ts +3 -0
  223. package/lib/components/select/select-multiple.component.d.ts +3 -0
  224. package/lib/components/select/select-search.component.d.ts +3 -0
  225. package/lib/components/select/select.component.d.ts +3 -0
  226. package/lib/components/select/select.module.d.ts +13 -0
  227. package/lib/components/stepper/stepper.component.d.ts +3 -0
  228. package/lib/components/stepper/stepper.module.d.ts +7 -0
  229. package/lib/components/tab/tab.component.d.ts +3 -0
  230. package/lib/components/tab/tab.module.d.ts +8 -0
  231. package/lib/components/table/table-column.component.d.ts +3 -0
  232. package/lib/components/table/table.component.d.ts +3 -0
  233. package/lib/components/table/table.module.d.ts +9 -0
  234. package/lib/components/toggle/toggle.component.d.ts +3 -0
  235. package/lib/components/toggle/toggle.module.d.ts +6 -0
  236. package/lib/components/wizard/wizard.component.d.ts +3 -0
  237. package/lib/components/wizard/wizard.module.d.ts +7 -0
  238. package/lib/core/services/modal/monkey-style-guide-modal-fixed.service.d.ts +3 -0
  239. package/lib/core/services/modal/monkey-style-guide-modal.service.d.ts +3 -0
  240. package/lib/core/services/monkey-style-guide.service.d.ts +3 -0
  241. package/lib/core/services/settings/monkey-style-guide-settings.service.d.ts +3 -0
  242. package/lib/core/services/settings/monkey-style-guide-theme-settings.service.d.ts +3 -0
  243. package/lib/core/services/snackbar/mokey-style-guide-snackbar.service.d.ts +3 -0
  244. package/lib/core/utils/utils.d.ts +8 -0
  245. package/lib/monkey-style-guide.module.d.ts +6 -0
  246. package/monkey-style-guide-2.0.94.tgz +0 -0
  247. package/monkey-style-guide.d.ts +1 -4
  248. package/package.json +1 -2
  249. package/esm2015/lib/components/badge/badge.component.ngfactory.js +0 -17
  250. package/esm2015/lib/components/badge/badge.component.ngsummary.json +0 -1
  251. package/esm2015/lib/components/badge/badge.module.ngfactory.js +0 -12
  252. package/esm2015/lib/components/badge/badge.module.ngsummary.json +0 -1
  253. package/esm2015/lib/components/badge/index.ngsummary.json +0 -1
  254. package/esm2015/lib/components/button/button-avatar.component.ngfactory.js +0 -19
  255. package/esm2015/lib/components/button/button-avatar.component.ngsummary.json +0 -1
  256. package/esm2015/lib/components/button/button-dropdown.component.ngfactory.js +0 -39
  257. package/esm2015/lib/components/button/button-dropdown.component.ngsummary.json +0 -1
  258. package/esm2015/lib/components/button/button.component.ngfactory.js +0 -31
  259. package/esm2015/lib/components/button/button.component.ngsummary.json +0 -1
  260. package/esm2015/lib/components/button/button.module.ngfactory.js +0 -14
  261. package/esm2015/lib/components/button/button.module.ngsummary.json +0 -1
  262. package/esm2015/lib/components/button/index.ngsummary.json +0 -1
  263. package/esm2015/lib/components/checkbox/checkbox.component.ngfactory.js +0 -38
  264. package/esm2015/lib/components/checkbox/checkbox.component.ngsummary.json +0 -1
  265. package/esm2015/lib/components/checkbox/checkbox.module.ngfactory.js +0 -13
  266. package/esm2015/lib/components/checkbox/checkbox.module.ngsummary.json +0 -1
  267. package/esm2015/lib/components/checkbox/index.ngsummary.json +0 -1
  268. package/esm2015/lib/components/date-range-picker/date-range-picker.component.ngfactory.js +0 -74
  269. package/esm2015/lib/components/date-range-picker/date-range-picker.component.ngsummary.json +0 -1
  270. package/esm2015/lib/components/date-range-picker/date-range-picker.module.ngfactory.js +0 -15
  271. package/esm2015/lib/components/date-range-picker/date-range-picker.module.ngsummary.json +0 -1
  272. package/esm2015/lib/components/date-range-picker/index.ngsummary.json +0 -1
  273. package/esm2015/lib/components/expansion/expansion.component.ngfactory.js +0 -35
  274. package/esm2015/lib/components/expansion/expansion.component.ngsummary.json +0 -1
  275. package/esm2015/lib/components/expansion/expansion.module.ngfactory.js +0 -13
  276. package/esm2015/lib/components/expansion/expansion.module.ngsummary.json +0 -1
  277. package/esm2015/lib/components/expansion/index.ngsummary.json +0 -1
  278. package/esm2015/lib/components/file-upload/file-upload.component.ngfactory.js +0 -39
  279. package/esm2015/lib/components/file-upload/file-upload.component.ngsummary.json +0 -1
  280. package/esm2015/lib/components/file-upload/file-upload.module.ngfactory.js +0 -15
  281. package/esm2015/lib/components/file-upload/file-upload.module.ngsummary.json +0 -1
  282. package/esm2015/lib/components/file-upload/index.ngsummary.json +0 -1
  283. package/esm2015/lib/components/icon/icon.component.ngfactory.js +0 -88
  284. package/esm2015/lib/components/icon/icon.component.ngsummary.json +0 -1
  285. package/esm2015/lib/components/icon/icon.module.ngfactory.js +0 -12
  286. package/esm2015/lib/components/icon/icon.module.ngsummary.json +0 -1
  287. package/esm2015/lib/components/icon/icons.component.js +0 -603
  288. package/esm2015/lib/components/icon/icons.component.ngfactory.js +0 -465
  289. package/esm2015/lib/components/icon/icons.component.ngsummary.json +0 -1
  290. package/esm2015/lib/components/icon/index.ngsummary.json +0 -1
  291. package/esm2015/lib/components/image-crop/image-crop.component.ngfactory.js +0 -108
  292. package/esm2015/lib/components/image-crop/image-crop.component.ngsummary.json +0 -1
  293. package/esm2015/lib/components/image-crop/image-crop.module.ngfactory.js +0 -17
  294. package/esm2015/lib/components/image-crop/image-crop.module.ngsummary.json +0 -1
  295. package/esm2015/lib/components/image-crop/index.ngsummary.json +0 -1
  296. package/esm2015/lib/components/index.ngsummary.json +0 -1
  297. package/esm2015/lib/components/input/index.ngsummary.json +0 -1
  298. package/esm2015/lib/components/input/input-filter.component.ngfactory.js +0 -129
  299. package/esm2015/lib/components/input/input-filter.component.ngsummary.json +0 -1
  300. package/esm2015/lib/components/input/input.component.ngfactory.js +0 -139
  301. package/esm2015/lib/components/input/input.component.ngsummary.json +0 -1
  302. package/esm2015/lib/components/input/input.module.ngfactory.js +0 -15
  303. package/esm2015/lib/components/input/input.module.ngsummary.json +0 -1
  304. package/esm2015/lib/components/input-phone/index.ngsummary.json +0 -1
  305. package/esm2015/lib/components/input-phone/input-phone.component.ngfactory.js +0 -27
  306. package/esm2015/lib/components/input-phone/input-phone.component.ngsummary.json +0 -1
  307. package/esm2015/lib/components/input-phone/input-phone.module.ngfactory.js +0 -18
  308. package/esm2015/lib/components/input-phone/input-phone.module.ngsummary.json +0 -1
  309. package/esm2015/lib/components/modal/index.ngsummary.json +0 -1
  310. package/esm2015/lib/components/modal/modal.component.ngfactory.js +0 -61
  311. package/esm2015/lib/components/modal/modal.component.ngsummary.json +0 -1
  312. package/esm2015/lib/components/modal/modal.module.ngfactory.js +0 -15
  313. package/esm2015/lib/components/modal/modal.module.ngsummary.json +0 -1
  314. package/esm2015/lib/components/option/index.ngsummary.json +0 -1
  315. package/esm2015/lib/components/option/option.component.ngfactory.js +0 -24
  316. package/esm2015/lib/components/option/option.component.ngsummary.json +0 -1
  317. package/esm2015/lib/components/option/option.module.ngfactory.js +0 -12
  318. package/esm2015/lib/components/option/option.module.ngsummary.json +0 -1
  319. package/esm2015/lib/components/radiobutton/index.ngsummary.json +0 -1
  320. package/esm2015/lib/components/radiobutton/radiobutton.component.ngfactory.js +0 -18
  321. package/esm2015/lib/components/radiobutton/radiobutton.component.ngsummary.json +0 -1
  322. package/esm2015/lib/components/radiobutton/radiobutton.module.ngfactory.js +0 -13
  323. package/esm2015/lib/components/radiobutton/radiobutton.module.ngsummary.json +0 -1
  324. package/esm2015/lib/components/select/index.ngsummary.json +0 -1
  325. package/esm2015/lib/components/select/select-filter.component.ngfactory.js +0 -30
  326. package/esm2015/lib/components/select/select-filter.component.ngsummary.json +0 -1
  327. package/esm2015/lib/components/select/select-multiple.component.ngfactory.js +0 -33
  328. package/esm2015/lib/components/select/select-multiple.component.ngsummary.json +0 -1
  329. package/esm2015/lib/components/select/select-search.component.ngfactory.js +0 -48
  330. package/esm2015/lib/components/select/select-search.component.ngsummary.json +0 -1
  331. package/esm2015/lib/components/select/select.component.ngfactory.js +0 -33
  332. package/esm2015/lib/components/select/select.component.ngsummary.json +0 -1
  333. package/esm2015/lib/components/select/select.module.ngfactory.js +0 -17
  334. package/esm2015/lib/components/select/select.module.ngsummary.json +0 -1
  335. package/esm2015/lib/components/stepper/index.ngsummary.json +0 -1
  336. package/esm2015/lib/components/stepper/stepper.component.ngfactory.js +0 -18
  337. package/esm2015/lib/components/stepper/stepper.component.ngsummary.json +0 -1
  338. package/esm2015/lib/components/stepper/stepper.module.ngfactory.js +0 -13
  339. package/esm2015/lib/components/stepper/stepper.module.ngsummary.json +0 -1
  340. package/esm2015/lib/components/tab/index.ngsummary.json +0 -1
  341. package/esm2015/lib/components/tab/tab.component.ngfactory.js +0 -18
  342. package/esm2015/lib/components/tab/tab.component.ngsummary.json +0 -1
  343. package/esm2015/lib/components/tab/tab.module.ngfactory.js +0 -14
  344. package/esm2015/lib/components/tab/tab.module.ngsummary.json +0 -1
  345. package/esm2015/lib/components/table/index.ngsummary.json +0 -1
  346. package/esm2015/lib/components/table/table-column.component.ngfactory.js +0 -17
  347. package/esm2015/lib/components/table/table-column.component.ngsummary.json +0 -1
  348. package/esm2015/lib/components/table/table.component.ngfactory.js +0 -33
  349. package/esm2015/lib/components/table/table.component.ngsummary.json +0 -1
  350. package/esm2015/lib/components/table/table.module.ngfactory.js +0 -15
  351. package/esm2015/lib/components/table/table.module.ngsummary.json +0 -1
  352. package/esm2015/lib/components/toggle/index.ngsummary.json +0 -1
  353. package/esm2015/lib/components/toggle/toggle.component.ngfactory.js +0 -20
  354. package/esm2015/lib/components/toggle/toggle.component.ngsummary.json +0 -1
  355. package/esm2015/lib/components/toggle/toggle.module.ngfactory.js +0 -12
  356. package/esm2015/lib/components/toggle/toggle.module.ngsummary.json +0 -1
  357. package/esm2015/lib/components/wizard/index.ngsummary.json +0 -1
  358. package/esm2015/lib/components/wizard/wizard.component.ngfactory.js +0 -18
  359. package/esm2015/lib/components/wizard/wizard.component.ngsummary.json +0 -1
  360. package/esm2015/lib/components/wizard/wizard.module.ngfactory.js +0 -13
  361. package/esm2015/lib/components/wizard/wizard.module.ngsummary.json +0 -1
  362. package/esm2015/lib/core/index.ngsummary.json +0 -1
  363. package/esm2015/lib/core/interfaces/index.ngsummary.json +0 -1
  364. package/esm2015/lib/core/interfaces/monkey-modal-settings.ngsummary.json +0 -1
  365. package/esm2015/lib/core/interfaces/monkey-style-settings.ngsummary.json +0 -1
  366. package/esm2015/lib/core/services/index.ngsummary.json +0 -1
  367. package/esm2015/lib/core/services/modal/index.ngsummary.json +0 -1
  368. package/esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.ngsummary.json +0 -1
  369. package/esm2015/lib/core/services/modal/monkey-style-guide-modal.service.ngsummary.json +0 -1
  370. package/esm2015/lib/core/services/monkey-style-guide.service.ngsummary.json +0 -1
  371. package/esm2015/lib/core/services/settings/index.ngsummary.json +0 -1
  372. package/esm2015/lib/core/services/settings/monkey-style-guide-settings.service.ngsummary.json +0 -1
  373. package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.ngsummary.json +0 -1
  374. package/esm2015/lib/core/services/snackbar/index.ngsummary.json +0 -1
  375. package/esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.ngsummary.json +0 -1
  376. package/esm2015/lib/core/utils/index.ngsummary.json +0 -1
  377. package/esm2015/lib/core/utils/utils.ngsummary.json +0 -1
  378. package/esm2015/lib/monkey-style-guide.module.ngfactory.js +0 -17
  379. package/esm2015/lib/monkey-style-guide.module.ngsummary.json +0 -1
  380. package/esm2015/monkey-style-guide.ngsummary.json +0 -1
  381. package/esm2015/public-api.ngsummary.json +0 -1
  382. package/lib/components/badge/badge.component.ngfactory.d.ts +0 -1
  383. package/lib/components/badge/badge.module.ngfactory.d.ts +0 -3
  384. package/lib/components/button/button-avatar.component.ngfactory.d.ts +0 -1
  385. package/lib/components/button/button-dropdown.component.ngfactory.d.ts +0 -1
  386. package/lib/components/button/button.component.ngfactory.d.ts +0 -1
  387. package/lib/components/button/button.module.ngfactory.d.ts +0 -3
  388. package/lib/components/checkbox/checkbox.component.ngfactory.d.ts +0 -1
  389. package/lib/components/checkbox/checkbox.module.ngfactory.d.ts +0 -3
  390. package/lib/components/date-range-picker/date-range-picker.component.ngfactory.d.ts +0 -1
  391. package/lib/components/date-range-picker/date-range-picker.module.ngfactory.d.ts +0 -3
  392. package/lib/components/expansion/expansion.component.ngfactory.d.ts +0 -1
  393. package/lib/components/expansion/expansion.module.ngfactory.d.ts +0 -3
  394. package/lib/components/file-upload/file-upload.component.ngfactory.d.ts +0 -1
  395. package/lib/components/file-upload/file-upload.module.ngfactory.d.ts +0 -3
  396. package/lib/components/icon/icon.component.ngfactory.d.ts +0 -1
  397. package/lib/components/icon/icon.module.ngfactory.d.ts +0 -3
  398. package/lib/components/icon/icons.component.d.ts +0 -135
  399. package/lib/components/icon/icons.component.ngfactory.d.ts +0 -1
  400. package/lib/components/image-crop/image-crop.component.ngfactory.d.ts +0 -1
  401. package/lib/components/image-crop/image-crop.module.ngfactory.d.ts +0 -3
  402. package/lib/components/input/input-filter.component.ngfactory.d.ts +0 -1
  403. package/lib/components/input/input.component.ngfactory.d.ts +0 -1
  404. package/lib/components/input/input.module.ngfactory.d.ts +0 -3
  405. package/lib/components/input-phone/input-phone.component.ngfactory.d.ts +0 -1
  406. package/lib/components/input-phone/input-phone.module.ngfactory.d.ts +0 -3
  407. package/lib/components/modal/modal.component.ngfactory.d.ts +0 -1
  408. package/lib/components/modal/modal.module.ngfactory.d.ts +0 -3
  409. package/lib/components/option/option.component.ngfactory.d.ts +0 -1
  410. package/lib/components/option/option.module.ngfactory.d.ts +0 -3
  411. package/lib/components/radiobutton/radiobutton.component.ngfactory.d.ts +0 -1
  412. package/lib/components/radiobutton/radiobutton.module.ngfactory.d.ts +0 -3
  413. package/lib/components/select/select-filter.component.ngfactory.d.ts +0 -1
  414. package/lib/components/select/select-multiple.component.ngfactory.d.ts +0 -1
  415. package/lib/components/select/select-search.component.ngfactory.d.ts +0 -1
  416. package/lib/components/select/select.component.ngfactory.d.ts +0 -1
  417. package/lib/components/select/select.module.ngfactory.d.ts +0 -3
  418. package/lib/components/stepper/stepper.component.ngfactory.d.ts +0 -1
  419. package/lib/components/stepper/stepper.module.ngfactory.d.ts +0 -3
  420. package/lib/components/tab/tab.component.ngfactory.d.ts +0 -1
  421. package/lib/components/tab/tab.module.ngfactory.d.ts +0 -3
  422. package/lib/components/table/table-column.component.ngfactory.d.ts +0 -1
  423. package/lib/components/table/table.component.ngfactory.d.ts +0 -1
  424. package/lib/components/table/table.module.ngfactory.d.ts +0 -3
  425. package/lib/components/toggle/toggle.component.ngfactory.d.ts +0 -1
  426. package/lib/components/toggle/toggle.module.ngfactory.d.ts +0 -3
  427. package/lib/components/wizard/wizard.component.ngfactory.d.ts +0 -1
  428. package/lib/components/wizard/wizard.module.ngfactory.d.ts +0 -3
  429. package/lib/monkey-style-guide.module.ngfactory.d.ts +0 -3
  430. package/monkey-style-guide-2.0.92.tgz +0 -0
  431. package/monkey-style-guide.metadata.json +0 -1
@@ -3,9 +3,13 @@
3
3
  * This style guide was developed by Monkey Exchange Team
4
4
  * MIT Licence
5
5
  **************************/
6
- import { Component, ViewEncapsulation, HostListener, ChangeDetectorRef, Input, EventEmitter, Output, } from '@angular/core';
7
- import { DomSanitizer } from '@angular/platform-browser';
6
+ import { Component, ViewEncapsulation, HostListener, Input, EventEmitter, Output, } from '@angular/core';
8
7
  import { MonkeyUtils } from '../../core';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/platform-browser";
10
+ import * as i2 from "../file-upload/file-upload.component";
11
+ import * as i3 from "../button/button.component";
12
+ import * as i4 from "@angular/common";
9
13
  export class MonkeyImageCropComponent {
10
14
  constructor(cdr, sanitizer) {
11
15
  this.cdr = cdr;
@@ -234,10 +238,123 @@ export class MonkeyImageCropComponent {
234
238
  this.onHandlePreviewReady.next(file);
235
239
  }
236
240
  }
237
- MonkeyImageCropComponent.decorators = [
238
- { type: Component, args: [{
239
- selector: 'monkey-image-crop',
240
- template: `
241
+ MonkeyImageCropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
242
+ MonkeyImageCropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: MonkeyImageCropComponent, selector: "monkey-image-crop", inputs: { label: "label", cropTitle: "cropTitle", labelChangeImage: "labelChangeImage", labelPreviewImage: "labelPreviewImage", helperMessage: "helperMessage", placeholder: "placeholder", maxSize: "maxSize", maxSizeErrorMessage: "maxSizeErrorMessage", allowedExtensionErrorMessage: "allowedExtensionErrorMessage", fileUpload: "fileUpload", onHandleGetFilesReady: "onHandleGetFilesReady" }, outputs: { onHandleFilesReady: "onHandleFilesReady", onHandlePreviewReady: "onHandlePreviewReady" }, host: { listeners: { "mousemove": "moveImg($event)", "touchmove": "moveImg($event)", "document:mouseup": "moveStop()", "document:touchend": "moveStop()" } }, ngImport: i0, template: `
243
+ <monkey-file-upload
244
+ [label]="label"
245
+ [helperMessage]="helperMessage"
246
+ icon="upload-16"
247
+ [placeholder]="placeholder"
248
+ [maxSize]="maxSize"
249
+ [maxSizeErrorMessage]="maxSizeErrorMessage"
250
+ [allowedExtensionErrorMessage]="allowedExtensionErrorMessage"
251
+ (onHandleFilesReady)="onHandleFileUploadFilesReady($event)"
252
+ listenFiles="true"
253
+ [maxFiles]="1"
254
+ [allowedExtensions]="['.jpg', '.jpeg', '.png']"
255
+ *ngIf="!_loadCompleted"
256
+ >
257
+ </monkey-file-upload>
258
+ <div *ngIf="_loadPreview">
259
+ <progress class="monkey-progress monkey-progress__grey"></progress>
260
+ </div>
261
+ <div class="box-cut-title" *ngIf="_loadCompleted">
262
+ {{ cropTitle }} {{ _fileNameToCut }}
263
+ </div>
264
+ <div
265
+ id="imageCropSource"
266
+ name="imageCropSource"
267
+ #imageCropSource
268
+ class="box-cut"
269
+ *ngIf="_loadCompleted"
270
+ >
271
+ <div class="edit-resize-cut">
272
+ <img class="source-image" [src]="_safeImgDataUrl" />
273
+ <div
274
+ class="cut"
275
+ [style.top.px]="_cutCoords.y1"
276
+ [style.left.px]="_cutCoords.x1"
277
+ [style.width.px]="_cutCoords.x2 - _cutCoords.x1"
278
+ [style.height.px]="_cutCoords.y2 - _cutCoords.y1"
279
+ *ngIf="_loadCompleted"
280
+ >
281
+ <div
282
+ (mousedown)="startMove($event, 'move')"
283
+ (touchstart)="startMove($event, 'move')"
284
+ class="move"
285
+ ></div>
286
+ <span
287
+ class="resize top-left"
288
+ (mousedown)="startMove($event, 'resize', 'topleft')"
289
+ (touchstart)="startMove($event, 'resize', 'topleft')"
290
+ >
291
+ </span>
292
+ <span class="resize top"></span>
293
+ <span
294
+ class="resize top-right"
295
+ (mousedown)="startMove($event, 'resize', 'topright')"
296
+ (touchstart)="startMove($event, 'resize', 'topright')"
297
+ >
298
+ </span>
299
+ <span class="resize right"></span>
300
+ <span
301
+ class="resize bottom-right"
302
+ (mousedown)="startMove($event, 'resize', 'bottomright')"
303
+ (touchstart)="startMove($event, 'resize', 'bottomright')"
304
+ >
305
+ </span>
306
+ <span class="resize bottom"> </span>
307
+ <span
308
+ class="resize bottom-left"
309
+ (mousedown)="startMove($event, 'resize', 'bottomleft')"
310
+ (touchstart)="startMove($event, 'resize', 'bottomleft')"
311
+ >
312
+ </span>
313
+ <span class="resize left"> </span>
314
+ <span
315
+ class="resize-bar top"
316
+ (mousedown)="startMove($event, 'resize', 'top')"
317
+ (touchstart)="startMove($event, 'resize', 'top')"
318
+ >
319
+ </span>
320
+ <span
321
+ class="resize-bar right"
322
+ (mousedown)="startMove($event, 'resize', 'right')"
323
+ (touchstart)="startMove($event, 'resize', 'right')"
324
+ >
325
+ </span>
326
+ <span
327
+ class="resize-bar bottom"
328
+ (mousedown)="startMove($event, 'resize', 'bottom')"
329
+ (touchstart)="startMove($event, 'resize', 'bottom')"
330
+ >
331
+ </span>
332
+ <span
333
+ class="resize-bar left"
334
+ (mousedown)="startMove($event, 'resize', 'left')"
335
+ (touchstart)="startMove($event, 'resize', 'left')"
336
+ >
337
+ </span>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ <mecx-image-crop-upload-info *ngIf="_progress">
342
+ <span [style.width.%]="_progress"> {{ _progress }}%</span>
343
+ </mecx-image-crop-upload-info>
344
+ <monkey-button
345
+ type="tertiary"
346
+ color="theme"
347
+ (click)="onHandleImageChange()"
348
+ *ngIf="_loadCompleted"
349
+ >
350
+ {{ labelChangeImage }}
351
+ </monkey-button>
352
+ `, isInline: true, components: [{ type: i2.MonkeyFileUploadComponent, selector: "monkey-file-upload", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "infoMessage", "uploadOngoingMessage", "errorMessage", "listenFiles", "maxSize", "allowedExtensions", "maxSizeErrorMessage", "allowedExtensionErrorMessage", "fileUpload", "value"], outputs: ["onChange", "onHandleFilesReady"] }, { type: i3.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropComponent, decorators: [{
354
+ type: Component,
355
+ args: [{
356
+ selector: 'monkey-image-crop',
357
+ template: `
241
358
  <monkey-file-upload
242
359
  [label]="label"
243
360
  [helperMessage]="helperMessage"
@@ -348,28 +465,45 @@ MonkeyImageCropComponent.decorators = [
348
465
  {{ labelChangeImage }}
349
466
  </monkey-button>
350
467
  `,
351
- encapsulation: ViewEncapsulation.None
352
- },] }
353
- ];
354
- MonkeyImageCropComponent.ctorParameters = () => [
355
- { type: ChangeDetectorRef },
356
- { type: DomSanitizer }
357
- ];
358
- MonkeyImageCropComponent.propDecorators = {
359
- label: [{ type: Input }],
360
- cropTitle: [{ type: Input }],
361
- labelChangeImage: [{ type: Input }],
362
- labelPreviewImage: [{ type: Input }],
363
- helperMessage: [{ type: Input }],
364
- placeholder: [{ type: Input }],
365
- maxSize: [{ type: Input }],
366
- maxSizeErrorMessage: [{ type: Input }],
367
- allowedExtensionErrorMessage: [{ type: Input }],
368
- fileUpload: [{ type: Input }],
369
- onHandleGetFilesReady: [{ type: Input }],
370
- onHandleFilesReady: [{ type: Output }],
371
- onHandlePreviewReady: [{ type: Output }],
372
- moveImg: [{ type: HostListener, args: ['mousemove', ['$event'],] }, { type: HostListener, args: ['touchmove', ['$event'],] }],
373
- moveStop: [{ type: HostListener, args: ['document:mouseup',] }, { type: HostListener, args: ['document:touchend',] }]
374
- };
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksRUFDWixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFxSHpDLE1BQU0sT0FBTyx3QkFBd0I7SUFvQ25DLFlBQ1UsR0FBc0IsRUFDdEIsU0FBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQTNCeEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEQsZUFBVSxHQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBSzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6Qix3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFHaEMsZUFBVSxHQUFlLEVBQUUsS0FBSyxFQUFFLEdB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QjtnQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThHVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBMUhDLGlCQUFpQjtZQUtWLFlBQVk7OztvQkF1SGxCLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxLQUFLO2dDQUNMLEtBQUs7NEJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7a0NBQ0wsS0FBSzsyQ0FDTCxLQUFLO3lCQUNMLEtBQUs7b0NBQ0wsS0FBSztpQ0FDTCxNQUFNO21DQUNOLE1BQU07c0JBK1NOLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FDcEMsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzt1QkFnQnBDLFlBQVksU0FBQyxrQkFBa0IsY0FDL0IsWUFBWSxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE9uSW5pdCxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21vbmtleS1pbWFnZS1jcm9wJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1vbmtleS1maWxlLXVwbG9hZFxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbaGVscGVyTWVzc2FnZV09XCJoZWxwZXJNZXNzYWdlXCJcclxuICAgICAgaWNvbj1cInVwbG9hZC0xNlwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFttYXhTaXplXT1cIm1heFNpemVcIlxyXG4gICAgICBbbWF4U2l6ZUVycm9yTWVzc2FnZV09XCJtYXhTaXplRXJyb3JNZXNzYWdlXCJcclxuICAgICAgW2FsbG93ZWRFeHRlbnNpb25FcnJvck1lc3NhZ2VdPVwiYWxsb3dlZEV4dGVuc2lvbkVycm9yTWVzc2FnZVwiXHJcbiAgICAgIChvbkhhbmRsZUZpbGVzUmVhZHkpPVwib25IYW5kbGVGaWxlVXBsb2FkRmlsZXNSZWFkeSgkZXZlbnQpXCJcclxuICAgICAgbGlzdGVuRmlsZXM9XCJ0cnVlXCJcclxuICAgICAgW21heEZpbGVzXT1cIjFcIlxyXG4gICAgICBbYWxsb3dlZEV4dGVuc2lvbnNdPVwiWycuanBnJywgJy5qcGVnJywgJy5wbmcnXVwiXHJcbiAgICAgICpuZ0lmPVwiIV9sb2FkQ29tcGxldGVkXCJcclxuICAgID5cclxuICAgIDwvbW9ua2V5LWZpbGUtdXBsb2FkPlxyXG4gICAgPGRpdiAqbmdJZj1cIl9sb2FkUHJldmlld1wiPlxyXG4gICAgICA8cHJvZ3Jlc3MgY2xhc3M9XCJtb25rZXktcHJvZ3Jlc3MgbW9ua2V5LXByb2dyZXNzX19ncmV5XCI+PC9wcm9ncmVzcz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJveC1jdXQtdGl0bGVcIiAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCI+XHJcbiAgICAgIHt7IGNyb3BUaXRsZSB9fSB7eyBfZmlsZU5hbWVUb0N1dCB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGlkPVwiaW1hZ2VDcm9wU291cmNlXCJcclxuICAgICAgbmFtZT1cImltYWdlQ3JvcFNvdXJjZVwiXHJcbiAgICAgICNpbWFnZUNyb3BTb3VyY2VcclxuICAgICAgY2xhc3M9XCJib3gtY3V0XCJcclxuICAgICAgKm5nSWY9XCJfbG9hZENvbXBsZXRlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LXJlc2l6ZS1jdXRcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwic291cmNlLWltYWdlXCIgW3NyY109XCJfc2FmZUltZ0RhdGFVcmxcIiAvPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiY3V0XCJcclxuICAgICAgICAgIFtzdHlsZS50b3AucHhdPVwiX2N1dENvb3Jkcy55MVwiXHJcbiAgICAgICAgICBbc3R5bGUubGVmdC5weF09XCJfY3V0Q29vcmRzLngxXCJcclxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJfY3V0Q29vcmRzLngyIC0gX2N1dENvb3Jkcy54MVwiXHJcbiAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIl9jdXRDb29yZHMueTIgLSBfY3V0Q29vcmRzLnkxXCJcclxuICAgICAgICAgICpuZ0lmPVwiX2xvYWRDb21wbGV0ZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAnbW92ZScpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ21vdmUnKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibW92ZVwiXHJcbiAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZSB0b3AtbGVmdFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3BsZWZ0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcGxlZnQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc2l6ZSB0b3BcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZSB0b3AtcmlnaHRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wcmlnaHQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wcmlnaHQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc2l6ZSByaWdodFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplIGJvdHRvbS1yaWdodFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b21yaWdodCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b21yaWdodCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzaXplIGJvdHRvbVwiPiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZSBib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b21sZWZ0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbWxlZnQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc2l6ZSBsZWZ0XCI+IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWJhciB0b3BcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wJylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWJhciByaWdodFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdyaWdodCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdyaWdodCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWJhciBib3R0b21cIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tJylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbScpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicmVzaXplLWJhciBsZWZ0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2xlZnQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnbGVmdCcpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtZWN4LWltYWdlLWNyb3AtdXBsb2FkLWluZm8gKm5nSWY9XCJfcHJvZ3Jlc3NcIj5cclxuICAgICAgPHNwYW4gW3N0eWxlLndpZHRoLiVdPVwiX3Byb2dyZXNzXCI+IHt7IF9wcm9ncmVzcyB9fSU8L3NwYW4+XHJcbiAgICA8L21lY3gtaW1hZ2UtY3JvcC11cGxvYWQtaW5mbz5cclxuICAgIDxtb25rZXktYnV0dG9uXHJcbiAgICAgIHR5cGU9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgIGNvbG9yPVwidGhlbWVcIlxyXG4gICAgICAoY2xpY2spPVwib25IYW5kbGVJbWFnZUNoYW5nZSgpXCJcclxuICAgICAgKm5nSWY9XCJfbG9hZENvbXBsZXRlZFwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGxhYmVsQ2hhbmdlSW1hZ2UgfX1cclxuICAgIDwvbW9ua2V5LWJ1dHRvbj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlJbWFnZUNyb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY3JvcFRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWxDaGFuZ2VJbWFnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsUHJldmlld0ltYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVscGVyTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4U2l6ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG1heFNpemVFcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBhbGxvd2VkRXh0ZW5zaW9uRXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmlsZVVwbG9hZDogRnVuY3Rpb247XHJcbiAgQElucHV0KCkgb25IYW5kbGVHZXRGaWxlc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uSGFuZGxlRmlsZXNSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkhhbmRsZVByZXZpZXdSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBwdWJsaWMgX2N1dENvb3JkczogQ3V0Q29vcmRzID0geyB5MTogMCwgeTI6IDAsIHgxOiAwLCB4MjogMCB9O1xyXG4gIHB1YmxpYyBfZmlsZVR5cGVUb0N1dDogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIF9maWxlTmFtZVRvQ3V0OiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgX3Byb2dyZXNzaW5nQ3V0OiBib29sZWFuO1xyXG4gIHB1YmxpYyBfbG9hZENvbXBsZXRlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgX2xvYWRQcmV2aWV3OiBib29sZWFuO1xyXG4gIHB1YmxpYyBfc2FmZUltZ0RhdGFVcmw6IFNhZmVVcmwgfCBzdHJpbmc7XHJcbiAgcHVibGljIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBfcHJvZ3Jlc3M6IG51bWJlciA9IG51bGw7XHJcbiAgcHVibGljIF91cGxvYWRFcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIG1vdXNlTW92ZXM6IE1vdXNlTW92ZXM7XHJcbiAgcHJpdmF0ZSBhcmVNYXhTaXplOiBEaW1lbnNpb25zID0geyB3aWR0aDogMTUwLCBoZWlnaHQ6IDE1MCB9O1xyXG4gIHByaXZhdGUgY3V0U2NhbGVkTWluV2lkdGggPSAxMDA7XHJcbiAgcHJpdmF0ZSBjdXRTY2FsZWRNaW5IZWlnaHQgPSAxMDA7XHJcbiAgcHJpdmF0ZSBvcmlnaW5hbFNpemU6IERpbWVuc2lvbnMgPSB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcclxuICBwcml2YXRlIGZpbGVSZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHByaXZhdGUgb3JpZ2luYWxJbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gIHByaXZhdGUgaW1hZ2VDdXRSZWFkeTogQmxvYiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzYXZlZENhbGxiYWNrOiBGdW5jdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGluaXRDdXQoKSB7XHJcbiAgICB0aGlzLmFyZU1heFNpemUgPSB7XHJcbiAgICAgIHdpZHRoOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0V2lkdGggfHwgMTUwLFxyXG4gICAgICBoZWlnaHQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZUNyb3BTb3VyY2UnKS5vZmZzZXRIZWlnaHQgfHwgMTUwLFxyXG4gICAgfTtcclxuICAgIHRoaXMuX2N1dENvb3JkcyA9IHtcclxuICAgICAgeDE6IHRoaXMuYXJlTWF4U2l6ZS53aWR0aCAvIDIgLSB0aGlzLmN1dFNjYWxlZE1pbldpZHRoLFxyXG4gICAgICB5MTogdGhpcy5hcmVNYXhTaXplLmhlaWdodCAvIDIgLSB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodCxcclxuICAgICAgeDI6IHRoaXMuYXJlTWF4U2l6ZS53aWR0aCAvIDIgKyB0aGlzLmN1dFNjYWxlZE1pbldpZHRoLFxyXG4gICAgICB5MjogdGhpcy5hcmVNYXhTaXplLmhlaWdodCAvIDIgKyB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodCxcclxuICAgIH07XHJcbiAgICB0aGlzLmN1dCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQcm9ncmVzc2luZ0N1dCh0cDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcHJvZ3Jlc3NpbmdDdXQgPSB0cDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvZ3Jlc3NMb2FkQ29tcGxldGVkKHRwOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9sb2FkQ29tcGxldGVkID0gdHA7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFByb2dyZXNzTG9hZFByZXZpZXcodHA6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2xvYWRQcmV2aWV3ID0gdHA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGN1dCgpIHtcclxuICAgIHRoaXMuc2V0UHJvZ3Jlc3NpbmdDdXQodHJ1ZSk7XHJcbiAgICBjb25zdCBpbWFnZVBvc2l0aW9uID0gdGhpcy5nZXRJbWFnZVBvc2l0aW9uKCk7XHJcbiAgICBsZXQgd2lkdGggPSBpbWFnZVBvc2l0aW9uLngyIC0gaW1hZ2VQb3NpdGlvbi54MTtcclxuICAgIGxldCBoZWlnaHQgPSBpbWFnZVBvc2l0aW9uLnkyIC0gaW1hZ2VQb3NpdGlvbi55MTtcclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpIGFzIEhUTUxDYW52YXNFbGVtZW50O1xyXG4gICAgY2FudmFzLndpZHRoID0gd2lkdGg7XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG5cclxuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgY3R4LmRyYXdJbWFnZShcclxuICAgICAgdGhpcy5vcmlnaW5hbEltYWdlLFxyXG4gICAgICBpbWFnZVBvc2l0aW9uLngxLFxyXG4gICAgICBpbWFnZVBvc2l0aW9uLnkxLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgaGVpZ2h0LFxyXG4gICAgICAwLFxyXG4gICAgICAwLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgaGVpZ2h0XHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRDYW52YXNCbG9iKGNhbnZhcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEltYWdlUG9zaXRpb24oKTogQ3V0Q29vcmRzIHtcclxuICAgIGNvbnN0IHJhdGlvdyA9XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplLndpZHRoIC9cclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlQ3JvcFNvdXJjZScpLm9mZnNldFdpZHRoO1xyXG4gICAgY29uc3QgcmF0aW9oID1cclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0IC9cclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlQ3JvcFNvdXJjZScpLm9mZnNldEhlaWdodDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHgxOiBNYXRoLnJvdW5kKHRoaXMuX2N1dENvb3Jkcy54MSAqIHJhdGlvdyksXHJcbiAgICAgIHkxOiBNYXRoLnJvdW5kKHRoaXMuX2N1dENvb3Jkcy55MSAqIHJhdGlvaCksXHJcbiAgICAgIHgyOiBNYXRoLm1pbihcclxuICAgICAgICBNYXRoLnJvdW5kKHRoaXMuX2N1dENvb3Jkcy54MiAqIHJhdGlvdyksXHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbFNpemUud2lkdGhcclxuICAgICAgKSxcclxuICAgICAgeTI6IE1hdGgubWluKFxyXG4gICAgICAgIE1hdGgucm91bmQodGhpcy5fY3V0Q29vcmRzLnkyICogcmF0aW9oKSxcclxuICAgICAgICB0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHRcclxuICAgICAgKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENhbnZhc0Jsb2IoY3JvcENhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpIHtcclxuICAgIGNyb3BDYW52YXMudG9CbG9iKFxyXG4gICAgICAodmFsOiBCbG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pbWFnZUN1dFJlYWR5ID0gdmFsO1xyXG4gICAgICAgIHRoaXMuc2V0UHJvZ3Jlc3NpbmdDdXQoZmFsc2UpO1xyXG4gICAgICB9LFxyXG4gICAgICAnaW1hZ2UvanBlZycsXHJcbiAgICAgIDAuOTVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENsaWVudFgoZXZlbnQ6IGFueSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBldmVudC5jbGllbnRYIHx8XHJcbiAgICAgIChldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXNbMF0gJiYgZXZlbnQudG91Y2hlc1swXS5jbGllbnRYKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q2xpZW50WShldmVudDogYW55KTogbnVtYmVyIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGV2ZW50LmNsaWVudFkgfHxcclxuICAgICAgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlc1swXSAmJiBldmVudC50b3VjaGVzWzBdLmNsaWVudFkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemUoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZGlmZlggPSB0aGlzLmdldENsaWVudFgoZXZlbnQpIC0gdGhpcy5tb3VzZU1vdmVzLmNsaWVudFg7XHJcbiAgICBjb25zdCBkaWZmWSA9IHRoaXMuZ2V0Q2xpZW50WShldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WTtcclxuICAgIHN3aXRjaCAodGhpcy5tb3VzZU1vdmVzLnBvc2l0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngxICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgLSB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wbGVmdCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDEgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgLSB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTEgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wcmlnaHQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngyICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgKyB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MSArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b21yaWdodCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDIgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSArIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkyICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgKyB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gTWF0aC5tYXgoXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSArIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tbGVmdCc6XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueDEgKyBkaWZmWCxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiAtIHRoaXMuY3V0U2NhbGVkTWluV2lkdGhcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkyICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgKyB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1vdmUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZGlmZlggPSB0aGlzLmdldENsaWVudFgoZXZlbnQpIC0gdGhpcy5tb3VzZU1vdmVzLmNsaWVudFg7XHJcbiAgICBjb25zdCBkaWZmWSA9IHRoaXMuZ2V0Q2xpZW50WShldmVudCkgLSB0aGlzLm1vdXNlTW92ZXMuY2xpZW50WTtcclxuXHJcbiAgICB0aGlzLl9jdXRDb29yZHMueDEgPSB0aGlzLm1vdXNlTW92ZXMueDEgKyBkaWZmWDtcclxuICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IHRoaXMubW91c2VNb3Zlcy55MSArIGRpZmZZO1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzLngyID0gdGhpcy5tb3VzZU1vdmVzLngyICsgZGlmZlg7XHJcbiAgICB0aGlzLl9jdXRDb29yZHMueTIgPSB0aGlzLm1vdXNlTW92ZXMueTIgKyBkaWZmWTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tNb3Zlc1Bvc2l0aW9uKG1haW50YWluU2l6ZSA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fY3V0Q29vcmRzLngxIDwgMCkge1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueDIgLT0gbWFpbnRhaW5TaXplID8gdGhpcy5fY3V0Q29vcmRzLngxIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLngxID0gMDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jdXRDb29yZHMueTEgPCAwKSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiAtPSBtYWludGFpblNpemUgPyB0aGlzLl9jdXRDb29yZHMueTEgOiAwO1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueTEgPSAwO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy54MiA+IHRoaXMuYXJlTWF4U2l6ZS53aWR0aCkge1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueDEgLT0gbWFpbnRhaW5TaXplXHJcbiAgICAgICAgPyB0aGlzLl9jdXRDb29yZHMueDIgLSB0aGlzLmFyZU1heFNpemUud2lkdGhcclxuICAgICAgICA6IDA7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiA9IHRoaXMuYXJlTWF4U2l6ZS53aWR0aDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jdXRDb29yZHMueTIgPiB0aGlzLmFyZU1heFNpemUuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSAtPSBtYWludGFpblNpemVcclxuICAgICAgICA/IHRoaXMuX2N1dENvb3Jkcy55MiAtIHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHRcclxuICAgICAgICA6IDA7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uTG9hZEJlZ2luUHJldmlldyA9IChfZXZlbnQpID0+IHtcclxuICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkQ29tcGxldGVkKGZhbHNlKTtcclxuICAgIHRoaXMuc2V0UHJvZ3Jlc3NMb2FkUHJldmlldyh0cnVlKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIG9uTG9hZEVuZFByZXZpZXcgPSAoX2V2ZW50KSA9PiB7XHJcbiAgICB0aGlzLm9yaWdpbmFsSW1hZ2Uuc3JjID0gdGhpcy5maWxlUmVhZGVyLnJlc3VsdC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5vcmlnaW5hbEltYWdlLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbFNpemUud2lkdGggPSB0aGlzLm9yaWdpbmFsSW1hZ2Uud2lkdGg7XHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0ID0gdGhpcy5vcmlnaW5hbEltYWdlLmhlaWdodDtcclxuICAgICAgICB0aGlzLnNldFByb2dyZXNzTG9hZENvbXBsZXRlZCh0cnVlKTtcclxuICAgICAgICB0aGlzLnNldFByb2dyZXNzTG9hZFByZXZpZXcoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuaW5pdEN1dCgpO1xyXG4gICAgICB9LCAxMDAwKTtcclxuICAgIH07XHJcbiAgICB0aGlzLl9zYWZlSW1nRGF0YVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcclxuICAgICAgdGhpcy5maWxlUmVhZGVyLnJlc3VsdC50b1N0cmluZygpXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaW1hZ2VQcmV2aWV3KGZpbGU6IGFueSkge1xyXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlIH0gPSBmaWxlO1xyXG4gICAgdGhpcy5fZmlsZU5hbWVUb0N1dCA9IE1vbmtleVV0aWxzLnRydW5jYXRlKG5hbWUpO1xyXG4gICAgdGhpcy5fZmlsZVR5cGVUb0N1dCA9IHR5cGU7XHJcbiAgICB0aGlzLmZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQ2FsbGJhY2soXHJcbiAgICBwcm9ncmVzczogbnVtYmVyLFxyXG4gICAgcmVzcFVwbG9hZGVkOiBhbnksXHJcbiAgICB1cGxvYWRFcnJvcjogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcm9ncmVzcyA9IHByb2dyZXNzO1xyXG4gICAgdGhpcy5fdXBsb2FkRXJyb3JNZXNzYWdlID0gdXBsb2FkRXJyb3I7XHJcbiAgICBpZiAocmVzcFVwbG9hZGVkKSB7XHJcbiAgICAgIHRoaXMuc2F2ZWRDYWxsYmFjayhyZXNwVXBsb2FkZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IG9uSGFuZGxlR2V0RmlsZXNSZWFkeSB9ID0gdGhpcztcclxuICAgIHRoaXMuZmlsZVJlYWRlci5vbmxvYWRzdGFydCA9IHRoaXMub25Mb2FkQmVnaW5QcmV2aWV3O1xyXG4gICAgdGhpcy5maWxlUmVhZGVyLm9ubG9hZCA9IHRoaXMub25Mb2FkRW5kUHJldmlldztcclxuXHJcbiAgICBvbkhhbmRsZUdldEZpbGVzUmVhZHkuc3Vic2NyaWJlKCh2YWw6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMuc2F2ZWRDYWxsYmFjayA9IHZhbDtcclxuICAgICAgY29uc3QgZmlsZSA9IHRoaXMuaW1hZ2VDdXRSZWFkeVxyXG4gICAgICAgID8gTW9ua2V5VXRpbHMuaGFuZGxlQmxvYkZpbGUoXHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VDdXRSZWFkeSxcclxuICAgICAgICAgICAgdGhpcy5fZmlsZU5hbWVUb0N1dCxcclxuICAgICAgICAgICAgdGhpcy5fZmlsZVR5cGVUb0N1dFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIDogbnVsbDtcclxuICAgICAgdGhpcy5maWxlVXBsb2FkKGZpbGUsIHRoaXMuaGFuZGxlQ2FsbGJhY2suYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXJ0TW92ZShcclxuICAgIGV2ZW50OiBhbnksXHJcbiAgICBtb3ZlVHlwZTogc3RyaW5nLFxyXG4gICAgcG9zaXRpb246IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgKTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5tb3VzZU1vdmVzID0ge1xyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICAgIHR5cGU6IG1vdmVUeXBlLFxyXG4gICAgICBwb3NpdGlvbixcclxuICAgICAgY2xpZW50WDogdGhpcy5nZXRDbGllbnRYKGV2ZW50KSxcclxuICAgICAgY2xpZW50WTogdGhpcy5nZXRDbGllbnRZKGV2ZW50KSxcclxuICAgICAgLi4udGhpcy5fY3V0Q29vcmRzLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2htb3ZlJywgWyckZXZlbnQnXSlcclxuICBtb3ZlSW1nKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vdXNlTW92ZXMgJiYgdGhpcy5tb3VzZU1vdmVzLmFjdGl2ZSkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgaWYgKHRoaXMubW91c2VNb3Zlcy50eXBlID09PSAnbW92ZScpIHtcclxuICAgICAgICB0aGlzLm1vdmUoZXZlbnQpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tNb3Zlc1Bvc2l0aW9uKHRydWUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubW91c2VNb3Zlcy50eXBlID09PSAncmVzaXplJykge1xyXG4gICAgICAgIHRoaXMucmVzaXplKGV2ZW50KTtcclxuICAgICAgICB0aGlzLmNoZWNrTW92ZXNQb3NpdGlvbihmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcpXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6dG91Y2hlbmQnKVxyXG4gIG1vdmVTdG9wKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW91c2VNb3ZlcyAmJiB0aGlzLm1vdXNlTW92ZXMuYWN0aXZlKSB7XHJcbiAgICAgIHRoaXMubW91c2VNb3Zlcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jdXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSGFuZGxlRmlsZVVwbG9hZEZpbGVzUmVhZHkoZmlsZXM6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZVByZXZpZXcoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVJbWFnZUNoYW5nZSgpIHtcclxuICAgIHRoaXMuaW1hZ2VDdXRSZWFkeSA9IG51bGw7XHJcbiAgICB0aGlzLl9sb2FkQ29tcGxldGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLl9sb2FkUHJldmlldyA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZmlsZU5hbWVUb0N1dCA9ICcnO1xyXG4gICAgdGhpcy5fZmlsZVR5cGVUb0N1dCA9ICcnO1xyXG4gIH1cclxuXHJcbiAgb25IYW5kbGVJbWFnZVByZXZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWxlID0gTW9ua2V5VXRpbHMuaGFuZGxlQmxvYkZpbGUoXHJcbiAgICAgIHRoaXMuaW1hZ2VDdXRSZWFkeSxcclxuICAgICAgdGhpcy5fZmlsZU5hbWVUb0N1dCxcclxuICAgICAgdGhpcy5fZmlsZVR5cGVUb0N1dFxyXG4gICAgKTtcclxuICAgIHRoaXMub25IYW5kbGVQcmV2aWV3UmVhZHkubmV4dChmaWxlKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBEaW1lbnNpb25zIHtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQ3V0Q29vcmRzIHtcclxuICB4MT86IG51bWJlcjtcclxuICB5MT86IG51bWJlcjtcclxuICB4Mj86IG51bWJlcjtcclxuICB5Mj86IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIE1vdXNlTW92ZXMge1xyXG4gIGFjdGl2ZTogYm9vbGVhbjtcclxuICB0eXBlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc2l0aW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIHgxPzogbnVtYmVyO1xyXG4gIHkxPzogbnVtYmVyO1xyXG4gIHgyPzogbnVtYmVyO1xyXG4gIHkyPzogbnVtYmVyO1xyXG4gIGNsaWVudFg6IG51bWJlcjtcclxuICBjbGllbnRZOiBudW1iZXI7XHJcbn1cclxuIl19
468
+ encapsulation: ViewEncapsulation.None,
469
+ }]
470
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }]; }, propDecorators: { label: [{
471
+ type: Input
472
+ }], cropTitle: [{
473
+ type: Input
474
+ }], labelChangeImage: [{
475
+ type: Input
476
+ }], labelPreviewImage: [{
477
+ type: Input
478
+ }], helperMessage: [{
479
+ type: Input
480
+ }], placeholder: [{
481
+ type: Input
482
+ }], maxSize: [{
483
+ type: Input
484
+ }], maxSizeErrorMessage: [{
485
+ type: Input
486
+ }], allowedExtensionErrorMessage: [{
487
+ type: Input
488
+ }], fileUpload: [{
489
+ type: Input
490
+ }], onHandleGetFilesReady: [{
491
+ type: Input
492
+ }], onHandleFilesReady: [{
493
+ type: Output
494
+ }], onHandlePreviewReady: [{
495
+ type: Output
496
+ }], moveImg: [{
497
+ type: HostListener,
498
+ args: ['mousemove', ['$event']]
499
+ }, {
500
+ type: HostListener,
501
+ args: ['touchmove', ['$event']]
502
+ }], moveStop: [{
503
+ type: HostListener,
504
+ args: ['document:mouseup']
505
+ }, {
506
+ type: HostListener,
507
+ args: ['document:touchend']
508
+ }] } });
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksRUFFWixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFxSHpDLE1BQU0sT0FBTyx3QkFBd0I7SUFvQ25DLFlBQ1UsR0FBc0IsRUFDdEIsU0FBdUI7UUFEdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQTNCeEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzdDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEQsZUFBVSxHQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBSzVCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6Qix3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFHaEMsZUFBVSxHQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDckQsc0JBQWlCLEdBQUcs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4R1Q7NEZBR1Usd0JBQXdCO2tCQW5IcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEdUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzttSUFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQWlUUCxPQUFPO3NCQUZOLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDcEMsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBa0JyQyxRQUFRO3NCQUZQLFlBQVk7dUJBQUMsa0JBQWtCOztzQkFDL0IsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkluaXQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIElucHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNb25rZXlVdGlscyB9IGZyb20gJy4uLy4uL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtb25rZXktaW1hZ2UtY3JvcCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxtb25rZXktZmlsZS11cGxvYWRcclxuICAgICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgICAgW2hlbHBlck1lc3NhZ2VdPVwiaGVscGVyTWVzc2FnZVwiXHJcbiAgICAgIGljb249XCJ1cGxvYWQtMTZcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbbWF4U2l6ZV09XCJtYXhTaXplXCJcclxuICAgICAgW21heFNpemVFcnJvck1lc3NhZ2VdPVwibWF4U2l6ZUVycm9yTWVzc2FnZVwiXHJcbiAgICAgIFthbGxvd2VkRXh0ZW5zaW9uRXJyb3JNZXNzYWdlXT1cImFsbG93ZWRFeHRlbnNpb25FcnJvck1lc3NhZ2VcIlxyXG4gICAgICAob25IYW5kbGVGaWxlc1JlYWR5KT1cIm9uSGFuZGxlRmlsZVVwbG9hZEZpbGVzUmVhZHkoJGV2ZW50KVwiXHJcbiAgICAgIGxpc3RlbkZpbGVzPVwidHJ1ZVwiXHJcbiAgICAgIFttYXhGaWxlc109XCIxXCJcclxuICAgICAgW2FsbG93ZWRFeHRlbnNpb25zXT1cIlsnLmpwZycsICcuanBlZycsICcucG5nJ11cIlxyXG4gICAgICAqbmdJZj1cIiFfbG9hZENvbXBsZXRlZFwiXHJcbiAgICA+XHJcbiAgICA8L21vbmtleS1maWxlLXVwbG9hZD5cclxuICAgIDxkaXYgKm5nSWY9XCJfbG9hZFByZXZpZXdcIj5cclxuICAgICAgPHByb2dyZXNzIGNsYXNzPVwibW9ua2V5LXByb2dyZXNzIG1vbmtleS1wcm9ncmVzc19fZ3JleVwiPjwvcHJvZ3Jlc3M+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJib3gtY3V0LXRpdGxlXCIgKm5nSWY9XCJfbG9hZENvbXBsZXRlZFwiPlxyXG4gICAgICB7eyBjcm9wVGl0bGUgfX0ge3sgX2ZpbGVOYW1lVG9DdXQgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBpZD1cImltYWdlQ3JvcFNvdXJjZVwiXHJcbiAgICAgIG5hbWU9XCJpbWFnZUNyb3BTb3VyY2VcIlxyXG4gICAgICAjaW1hZ2VDcm9wU291cmNlXHJcbiAgICAgIGNsYXNzPVwiYm94LWN1dFwiXHJcbiAgICAgICpuZ0lmPVwiX2xvYWRDb21wbGV0ZWRcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdC1yZXNpemUtY3V0XCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cInNvdXJjZS1pbWFnZVwiIFtzcmNdPVwiX3NhZmVJbWdEYXRhVXJsXCIgLz5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImN1dFwiXHJcbiAgICAgICAgICBbc3R5bGUudG9wLnB4XT1cIl9jdXRDb29yZHMueTFcIlxyXG4gICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiX2N1dENvb3Jkcy54MVwiXHJcbiAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiX2N1dENvb3Jkcy54MiAtIF9jdXRDb29yZHMueDFcIlxyXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJfY3V0Q29vcmRzLnkyIC0gX2N1dENvb3Jkcy55MVwiXHJcbiAgICAgICAgICAqbmdJZj1cIl9sb2FkQ29tcGxldGVkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ21vdmUnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdtb3ZlJylcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1vdmVcIlxyXG4gICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUgdG9wLWxlZnRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAndG9wbGVmdCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3BsZWZ0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXNpemUgdG9wXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUgdG9wLXJpZ2h0XCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcHJpZ2h0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcHJpZ2h0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXNpemUgcmlnaHRcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZSBib3R0b20tcmlnaHRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tcmlnaHQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tcmlnaHQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc2l6ZSBib3R0b21cIj4gPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJyZXNpemUgYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAnYm90dG9tbGVmdCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b21sZWZ0JylcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXNpemUgbGVmdFwiPiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZS1iYXIgdG9wXCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ3RvcCcpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICd0b3AnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZS1iYXIgcmlnaHRcIlxyXG4gICAgICAgICAgICAobW91c2Vkb3duKT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAncmlnaHQnKVwiXHJcbiAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cInN0YXJ0TW92ZSgkZXZlbnQsICdyZXNpemUnLCAncmlnaHQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZS1iYXIgYm90dG9tXCJcclxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2JvdHRvbScpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdib3R0b20nKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cInJlc2l6ZS1iYXIgbGVmdFwiXHJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRNb3ZlKCRldmVudCwgJ3Jlc2l6ZScsICdsZWZ0JylcIlxyXG4gICAgICAgICAgICAodG91Y2hzdGFydCk9XCJzdGFydE1vdmUoJGV2ZW50LCAncmVzaXplJywgJ2xlZnQnKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWVjeC1pbWFnZS1jcm9wLXVwbG9hZC1pbmZvICpuZ0lmPVwiX3Byb2dyZXNzXCI+XHJcbiAgICAgIDxzcGFuIFtzdHlsZS53aWR0aC4lXT1cIl9wcm9ncmVzc1wiPiB7eyBfcHJvZ3Jlc3MgfX0lPC9zcGFuPlxyXG4gICAgPC9tZWN4LWltYWdlLWNyb3AtdXBsb2FkLWluZm8+XHJcbiAgICA8bW9ua2V5LWJ1dHRvblxyXG4gICAgICB0eXBlPVwidGVydGlhcnlcIlxyXG4gICAgICBjb2xvcj1cInRoZW1lXCJcclxuICAgICAgKGNsaWNrKT1cIm9uSGFuZGxlSW1hZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICpuZ0lmPVwiX2xvYWRDb21wbGV0ZWRcIlxyXG4gICAgPlxyXG4gICAgICB7eyBsYWJlbENoYW5nZUltYWdlIH19XHJcbiAgICA8L21vbmtleS1idXR0b24+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNyb3BUaXRsZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsQ2hhbmdlSW1hZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbFByZXZpZXdJbWFnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlbHBlck1lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heFNpemU6IG51bWJlcjtcclxuICBASW5wdXQoKSBtYXhTaXplRXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWxsb3dlZEV4dGVuc2lvbkVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZpbGVVcGxvYWQ6IEZ1bmN0aW9uO1xyXG4gIEBJbnB1dCgpIG9uSGFuZGxlR2V0RmlsZXNSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkhhbmRsZUZpbGVzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25IYW5kbGVQcmV2aWV3UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIF9jdXRDb29yZHM6IEN1dENvb3JkcyA9IHsgeTE6IDAsIHkyOiAwLCB4MTogMCwgeDI6IDAgfTtcclxuICBwdWJsaWMgX2ZpbGVUeXBlVG9DdXQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBfZmlsZU5hbWVUb0N1dDogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIF9wcm9ncmVzc2luZ0N1dDogYm9vbGVhbjtcclxuICBwdWJsaWMgX2xvYWRDb21wbGV0ZWQ6IGJvb2xlYW47XHJcbiAgcHVibGljIF9sb2FkUHJldmlldzogYm9vbGVhbjtcclxuICBwdWJsaWMgX3NhZmVJbWdEYXRhVXJsOiBTYWZlVXJsIHwgc3RyaW5nO1xyXG4gIHB1YmxpYyBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgX3Byb2dyZXNzOiBudW1iZXIgPSBudWxsO1xyXG4gIHB1YmxpYyBfdXBsb2FkRXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSBtb3VzZU1vdmVzOiBNb3VzZU1vdmVzO1xyXG4gIHByaXZhdGUgYXJlTWF4U2l6ZTogRGltZW5zaW9ucyA9IHsgd2lkdGg6IDE1MCwgaGVpZ2h0OiAxNTAgfTtcclxuICBwcml2YXRlIGN1dFNjYWxlZE1pbldpZHRoID0gMTAwO1xyXG4gIHByaXZhdGUgY3V0U2NhbGVkTWluSGVpZ2h0ID0gMTAwO1xyXG4gIHByaXZhdGUgb3JpZ2luYWxTaXplOiBEaW1lbnNpb25zID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XHJcbiAgcHJpdmF0ZSBmaWxlUmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICBwcml2YXRlIG9yaWdpbmFsSW1hZ2UgPSBuZXcgSW1hZ2UoKTtcclxuICBwcml2YXRlIGltYWdlQ3V0UmVhZHk6IEJsb2IgPSBudWxsO1xyXG4gIHByaXZhdGUgc2F2ZWRDYWxsYmFjazogRnVuY3Rpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBpbml0Q3V0KCkge1xyXG4gICAgdGhpcy5hcmVNYXhTaXplID0ge1xyXG4gICAgICB3aWR0aDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltYWdlQ3JvcFNvdXJjZScpLm9mZnNldFdpZHRoIHx8IDE1MCxcclxuICAgICAgaGVpZ2h0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1hZ2VDcm9wU291cmNlJykub2Zmc2V0SGVpZ2h0IHx8IDE1MCxcclxuICAgIH07XHJcbiAgICB0aGlzLl9jdXRDb29yZHMgPSB7XHJcbiAgICAgIHgxOiB0aGlzLmFyZU1heFNpemUud2lkdGggLyAyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aCxcclxuICAgICAgeTE6IHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHQgLyAyIC0gdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHQsXHJcbiAgICAgIHgyOiB0aGlzLmFyZU1heFNpemUud2lkdGggLyAyICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aCxcclxuICAgICAgeTI6IHRoaXMuYXJlTWF4U2l6ZS5oZWlnaHQgLyAyICsgdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jdXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvZ3Jlc3NpbmdDdXQodHA6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Byb2dyZXNzaW5nQ3V0ID0gdHA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFByb2dyZXNzTG9hZENvbXBsZXRlZCh0cDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbG9hZENvbXBsZXRlZCA9IHRwO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQcm9ncmVzc0xvYWRQcmV2aWV3KHRwOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9sb2FkUHJldmlldyA9IHRwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjdXQoKSB7XHJcbiAgICB0aGlzLnNldFByb2dyZXNzaW5nQ3V0KHRydWUpO1xyXG4gICAgY29uc3QgaW1hZ2VQb3NpdGlvbiA9IHRoaXMuZ2V0SW1hZ2VQb3NpdGlvbigpO1xyXG4gICAgbGV0IHdpZHRoID0gaW1hZ2VQb3NpdGlvbi54MiAtIGltYWdlUG9zaXRpb24ueDE7XHJcbiAgICBsZXQgaGVpZ2h0ID0gaW1hZ2VQb3NpdGlvbi55MiAtIGltYWdlUG9zaXRpb24ueTE7XHJcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSBhcyBIVE1MQ2FudmFzRWxlbWVudDtcclxuICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcclxuXHJcbiAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuICAgIGN0eC5kcmF3SW1hZ2UoXHJcbiAgICAgIHRoaXMub3JpZ2luYWxJbWFnZSxcclxuICAgICAgaW1hZ2VQb3NpdGlvbi54MSxcclxuICAgICAgaW1hZ2VQb3NpdGlvbi55MSxcclxuICAgICAgd2lkdGgsXHJcbiAgICAgIGhlaWdodCxcclxuICAgICAgMCxcclxuICAgICAgMCxcclxuICAgICAgd2lkdGgsXHJcbiAgICAgIGhlaWdodFxyXG4gICAgKTtcclxuICAgIHRoaXMuZ2V0Q2FudmFzQmxvYihjYW52YXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJbWFnZVBvc2l0aW9uKCk6IEN1dENvb3JkcyB7XHJcbiAgICBjb25zdCByYXRpb3cgPVxyXG4gICAgICB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCAvXHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZUNyb3BTb3VyY2UnKS5vZmZzZXRXaWR0aDtcclxuICAgIGNvbnN0IHJhdGlvaCA9XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCAvXHJcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZUNyb3BTb3VyY2UnKS5vZmZzZXRIZWlnaHQ7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB4MTogTWF0aC5yb3VuZCh0aGlzLl9jdXRDb29yZHMueDEgKiByYXRpb3cpLFxyXG4gICAgICB5MTogTWF0aC5yb3VuZCh0aGlzLl9jdXRDb29yZHMueTEgKiByYXRpb2gpLFxyXG4gICAgICB4MjogTWF0aC5taW4oXHJcbiAgICAgICAgTWF0aC5yb3VuZCh0aGlzLl9jdXRDb29yZHMueDIgKiByYXRpb3cpLFxyXG4gICAgICAgIHRoaXMub3JpZ2luYWxTaXplLndpZHRoXHJcbiAgICAgICksXHJcbiAgICAgIHkyOiBNYXRoLm1pbihcclxuICAgICAgICBNYXRoLnJvdW5kKHRoaXMuX2N1dENvb3Jkcy55MiAqIHJhdGlvaCksXHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0XHJcbiAgICAgICksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDYW52YXNCbG9iKGNyb3BDYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSB7XHJcbiAgICBjcm9wQ2FudmFzLnRvQmxvYihcclxuICAgICAgKHZhbDogQmxvYikgPT4ge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VDdXRSZWFkeSA9IHZhbDtcclxuICAgICAgICB0aGlzLnNldFByb2dyZXNzaW5nQ3V0KGZhbHNlKTtcclxuICAgICAgfSxcclxuICAgICAgJ2ltYWdlL2pwZWcnLFxyXG4gICAgICAwLjk1XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDbGllbnRYKGV2ZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgZXZlbnQuY2xpZW50WCB8fFxyXG4gICAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdICYmIGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENsaWVudFkoZXZlbnQ6IGFueSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBldmVudC5jbGllbnRZIHx8XHJcbiAgICAgIChldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXNbMF0gJiYgZXZlbnQudG91Y2hlc1swXS5jbGllbnRZKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpZmZYID0gdGhpcy5nZXRDbGllbnRYKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRYO1xyXG4gICAgY29uc3QgZGlmZlkgPSB0aGlzLmdldENsaWVudFkoZXZlbnQpIC0gdGhpcy5tb3VzZU1vdmVzLmNsaWVudFk7XHJcbiAgICBzd2l0Y2ggKHRoaXMubW91c2VNb3Zlcy5wb3NpdGlvbikge1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MSArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcGxlZnQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngxICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgLSB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgPSBNYXRoLm1pbihcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MSArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkyIC0gdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkxICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgLSB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcHJpZ2h0JzpcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLngxICsgdGhpcy5jdXRTY2FsZWRNaW5XaWR0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gTWF0aC5taW4oXHJcbiAgICAgICAgICB0aGlzLm1vdXNlTW92ZXMueTEgKyBkaWZmWSxcclxuICAgICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiAtIHRoaXMuY3V0U2NhbGVkTWluSGVpZ2h0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngyICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgKyB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tcmlnaHQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngyICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDEgKyB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxICsgdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy55MiA9IE1hdGgubWF4KFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLnkyICsgZGlmZlksXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueTEgKyB0aGlzLmN1dFNjYWxlZE1pbkhlaWdodFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbWxlZnQnOlxyXG4gICAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IE1hdGgubWluKFxyXG4gICAgICAgICAgdGhpcy5tb3VzZU1vdmVzLngxICsgZGlmZlgsXHJcbiAgICAgICAgICB0aGlzLl9jdXRDb29yZHMueDIgLSB0aGlzLmN1dFNjYWxlZE1pbldpZHRoXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLl9jdXRDb29yZHMueTIgPSBNYXRoLm1heChcclxuICAgICAgICAgIHRoaXMubW91c2VNb3Zlcy55MiArIGRpZmZZLFxyXG4gICAgICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxICsgdGhpcy5jdXRTY2FsZWRNaW5IZWlnaHRcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtb3ZlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpZmZYID0gdGhpcy5nZXRDbGllbnRYKGV2ZW50KSAtIHRoaXMubW91c2VNb3Zlcy5jbGllbnRYO1xyXG4gICAgY29uc3QgZGlmZlkgPSB0aGlzLmdldENsaWVudFkoZXZlbnQpIC0gdGhpcy5tb3VzZU1vdmVzLmNsaWVudFk7XHJcblxyXG4gICAgdGhpcy5fY3V0Q29vcmRzLngxID0gdGhpcy5tb3VzZU1vdmVzLngxICsgZGlmZlg7XHJcbiAgICB0aGlzLl9jdXRDb29yZHMueTEgPSB0aGlzLm1vdXNlTW92ZXMueTEgKyBkaWZmWTtcclxuICAgIHRoaXMuX2N1dENvb3Jkcy54MiA9IHRoaXMubW91c2VNb3Zlcy54MiArIGRpZmZYO1xyXG4gICAgdGhpcy5fY3V0Q29vcmRzLnkyID0gdGhpcy5tb3VzZU1vdmVzLnkyICsgZGlmZlk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrTW92ZXNQb3NpdGlvbihtYWludGFpblNpemUgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2N1dENvb3Jkcy54MSA8IDApIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLngyIC09IG1haW50YWluU2l6ZSA/IHRoaXMuX2N1dENvb3Jkcy54MSA6IDA7XHJcbiAgICAgIHRoaXMuX2N1dENvb3Jkcy54MSA9IDA7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY3V0Q29vcmRzLnkxIDwgMCkge1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueTIgLT0gbWFpbnRhaW5TaXplID8gdGhpcy5fY3V0Q29vcmRzLnkxIDogMDtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLnkxID0gMDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jdXRDb29yZHMueDIgPiB0aGlzLmFyZU1heFNpemUud2lkdGgpIHtcclxuICAgICAgdGhpcy5fY3V0Q29vcmRzLngxIC09IG1haW50YWluU2l6ZVxyXG4gICAgICAgID8gdGhpcy5fY3V0Q29vcmRzLngyIC0gdGhpcy5hcmVNYXhTaXplLndpZHRoXHJcbiAgICAgICAgOiAwO1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueDIgPSB0aGlzLmFyZU1heFNpemUud2lkdGg7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fY3V0Q29vcmRzLnkyID4gdGhpcy5hcmVNYXhTaXplLmhlaWdodCkge1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueTEgLT0gbWFpbnRhaW5TaXplXHJcbiAgICAgICAgPyB0aGlzLl9jdXRDb29yZHMueTIgLSB0aGlzLmFyZU1heFNpemUuaGVpZ2h0XHJcbiAgICAgICAgOiAwO1xyXG4gICAgICB0aGlzLl9jdXRDb29yZHMueTIgPSB0aGlzLmFyZU1heFNpemUuaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkxvYWRCZWdpblByZXZpZXcgPSAoX2V2ZW50KSA9PiB7XHJcbiAgICB0aGlzLnNldFByb2dyZXNzTG9hZENvbXBsZXRlZChmYWxzZSk7XHJcbiAgICB0aGlzLnNldFByb2dyZXNzTG9hZFByZXZpZXcodHJ1ZSk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvbkxvYWRFbmRQcmV2aWV3ID0gKF9ldmVudCkgPT4ge1xyXG4gICAgdGhpcy5vcmlnaW5hbEltYWdlLnNyYyA9IHRoaXMuZmlsZVJlYWRlci5yZXN1bHQudG9TdHJpbmcoKTtcclxuICAgIHRoaXMub3JpZ2luYWxJbWFnZS5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxTaXplLndpZHRoID0gdGhpcy5vcmlnaW5hbEltYWdlLndpZHRoO1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCA9IHRoaXMub3JpZ2luYWxJbWFnZS5oZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRDb21wbGV0ZWQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRQcm9ncmVzc0xvYWRQcmV2aWV3KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmluaXRDdXQoKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5fc2FmZUltZ0RhdGFVcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXHJcbiAgICAgIHRoaXMuZmlsZVJlYWRlci5yZXN1bHQudG9TdHJpbmcoKVxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBwcml2YXRlIGltYWdlUHJldmlldyhmaWxlOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdHlwZSB9ID0gZmlsZTtcclxuICAgIHRoaXMuX2ZpbGVOYW1lVG9DdXQgPSBNb25rZXlVdGlscy50cnVuY2F0ZShuYW1lKTtcclxuICAgIHRoaXMuX2ZpbGVUeXBlVG9DdXQgPSB0eXBlO1xyXG4gICAgdGhpcy5maWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUNhbGxiYWNrKFxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlcixcclxuICAgIHJlc3BVcGxvYWRlZDogYW55LFxyXG4gICAgdXBsb2FkRXJyb3I6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgdGhpcy5fcHJvZ3Jlc3MgPSBwcm9ncmVzcztcclxuICAgIHRoaXMuX3VwbG9hZEVycm9yTWVzc2FnZSA9IHVwbG9hZEVycm9yO1xyXG4gICAgaWYgKHJlc3BVcGxvYWRlZCkge1xyXG4gICAgICB0aGlzLnNhdmVkQ2FsbGJhY2socmVzcFVwbG9hZGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBvbkhhbmRsZUdldEZpbGVzUmVhZHkgfSA9IHRoaXM7XHJcbiAgICB0aGlzLmZpbGVSZWFkZXIub25sb2Fkc3RhcnQgPSB0aGlzLm9uTG9hZEJlZ2luUHJldmlldztcclxuICAgIHRoaXMuZmlsZVJlYWRlci5vbmxvYWQgPSB0aGlzLm9uTG9hZEVuZFByZXZpZXc7XHJcblxyXG4gICAgb25IYW5kbGVHZXRGaWxlc1JlYWR5LnN1YnNjcmliZSgodmFsOiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLnNhdmVkQ2FsbGJhY2sgPSB2YWw7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLmltYWdlQ3V0UmVhZHlcclxuICAgICAgICA/IE1vbmtleVV0aWxzLmhhbmRsZUJsb2JGaWxlKFxyXG4gICAgICAgICAgICB0aGlzLmltYWdlQ3V0UmVhZHksXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbGVOYW1lVG9DdXQsXHJcbiAgICAgICAgICAgIHRoaXMuX2ZpbGVUeXBlVG9DdXRcclxuICAgICAgICAgIClcclxuICAgICAgICA6IG51bGw7XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZChmaWxlLCB0aGlzLmhhbmRsZUNhbGxiYWNrLmJpbmQodGhpcykpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGFydE1vdmUoXHJcbiAgICBldmVudDogYW55LFxyXG4gICAgbW92ZVR5cGU6IHN0cmluZyxcclxuICAgIHBvc2l0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbFxyXG4gICk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMubW91c2VNb3ZlcyA9IHtcclxuICAgICAgYWN0aXZlOiB0cnVlLFxyXG4gICAgICB0eXBlOiBtb3ZlVHlwZSxcclxuICAgICAgcG9zaXRpb24sXHJcbiAgICAgIGNsaWVudFg6IHRoaXMuZ2V0Q2xpZW50WChldmVudCksXHJcbiAgICAgIGNsaWVudFk6IHRoaXMuZ2V0Q2xpZW50WShldmVudCksXHJcbiAgICAgIC4uLnRoaXMuX2N1dENvb3JkcyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3RvdWNobW92ZScsIFsnJGV2ZW50J10pXHJcbiAgbW92ZUltZyhldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb3VzZU1vdmVzICYmIHRoaXMubW91c2VNb3Zlcy5hY3RpdmUpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGlmICh0aGlzLm1vdXNlTW92ZXMudHlwZSA9PT0gJ21vdmUnKSB7XHJcbiAgICAgICAgdGhpcy5tb3ZlKGV2ZW50KTtcclxuICAgICAgICB0aGlzLmNoZWNrTW92ZXNQb3NpdGlvbih0cnVlKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLm1vdXNlTW92ZXMudHlwZSA9PT0gJ3Jlc2l6ZScpIHtcclxuICAgICAgICB0aGlzLnJlc2l6ZShldmVudCk7XHJcbiAgICAgICAgdGhpcy5jaGVja01vdmVzUG9zaXRpb24oZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNoZW5kJylcclxuICBtb3ZlU3RvcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vdXNlTW92ZXMgJiYgdGhpcy5tb3VzZU1vdmVzLmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLm1vdXNlTW92ZXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY3V0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkhhbmRsZUZpbGVVcGxvYWRGaWxlc1JlYWR5KGZpbGVzOiBhbnkpIHtcclxuICAgIHRoaXMuaW1hZ2VQcmV2aWV3KGZpbGVzKTtcclxuICB9XHJcblxyXG4gIG9uSGFuZGxlSW1hZ2VDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmltYWdlQ3V0UmVhZHkgPSBudWxsO1xyXG4gICAgdGhpcy5fbG9hZENvbXBsZXRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fbG9hZFByZXZpZXcgPSBmYWxzZTtcclxuICAgIHRoaXMuX2ZpbGVOYW1lVG9DdXQgPSAnJztcclxuICAgIHRoaXMuX2ZpbGVUeXBlVG9DdXQgPSAnJztcclxuICB9XHJcblxyXG4gIG9uSGFuZGxlSW1hZ2VQcmV2aWV3KCkge1xyXG4gICAgY29uc3QgZmlsZSA9IE1vbmtleVV0aWxzLmhhbmRsZUJsb2JGaWxlKFxyXG4gICAgICB0aGlzLmltYWdlQ3V0UmVhZHksXHJcbiAgICAgIHRoaXMuX2ZpbGVOYW1lVG9DdXQsXHJcbiAgICAgIHRoaXMuX2ZpbGVUeXBlVG9DdXRcclxuICAgICk7XHJcbiAgICB0aGlzLm9uSGFuZGxlUHJldmlld1JlYWR5Lm5leHQoZmlsZSk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgRGltZW5zaW9ucyB7XHJcbiAgd2lkdGg6IG51bWJlcjtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuaW50ZXJmYWNlIEN1dENvb3JkcyB7XHJcbiAgeDE/OiBudW1iZXI7XHJcbiAgeTE/OiBudW1iZXI7XHJcbiAgeDI/OiBudW1iZXI7XHJcbiAgeTI/OiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBNb3VzZU1vdmVzIHtcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgdHlwZTogc3RyaW5nIHwgbnVsbDtcclxuICBwb3NpdGlvbjogc3RyaW5nIHwgbnVsbDtcclxuICB4MT86IG51bWJlcjtcclxuICB5MT86IG51bWJlcjtcclxuICB4Mj86IG51bWJlcjtcclxuICB5Mj86IG51bWJlcjtcclxuICBjbGllbnRYOiBudW1iZXI7XHJcbiAgY2xpZW50WTogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -5,21 +5,37 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { NgxMaskModule } from 'ngx-mask';
6
6
  import { MonkeyFileUploadModule } from '../file-upload';
7
7
  import { MonkeyButtonModule } from '../button';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "ngx-mask";
8
10
  export class MonkeyImageCropModule {
9
11
  }
10
- MonkeyImageCropModule.decorators = [
11
- { type: NgModule, args: [{
12
- declarations: [MonkeyImageCropComponent],
13
- imports: [
14
- CommonModule,
15
- FormsModule,
16
- ReactiveFormsModule,
17
- NgxMaskModule.forRoot(),
18
- MonkeyButtonModule,
19
- MonkeyFileUploadModule,
20
- ],
21
- exports: [MonkeyImageCropComponent],
22
- schemas: [NO_ERRORS_SCHEMA],
23
- },] }
24
- ];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZS9DLE1BQU0sT0FBTyxxQkFBcUI7OztZQWJqQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3hDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO29CQUN2QixrQkFBa0I7b0JBQ2xCLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1jcm9wLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ3hNYXNrTW9kdWxlIH0gZnJvbSAnbmd4LW1hc2snO1xyXG5pbXBvcnQgeyBNb25rZXlGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAnLi4vZmlsZS11cGxvYWQnO1xyXG5pbXBvcnQgeyBNb25rZXlCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtNb25rZXlJbWFnZUNyb3BDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE5neE1hc2tNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgTW9ua2V5QnV0dG9uTW9kdWxlLFxyXG4gICAgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtNb25rZXlJbWFnZUNyb3BDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUltYWdlQ3JvcE1vZHVsZSB7fVxyXG4iXX0=
12
+ MonkeyImageCropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ MonkeyImageCropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropModule, declarations: [MonkeyImageCropComponent], imports: [CommonModule,
14
+ FormsModule,
15
+ ReactiveFormsModule, i1.NgxMaskModule, MonkeyButtonModule,
16
+ MonkeyFileUploadModule], exports: [MonkeyImageCropComponent] });
17
+ MonkeyImageCropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropModule, imports: [[
18
+ CommonModule,
19
+ FormsModule,
20
+ ReactiveFormsModule,
21
+ NgxMaskModule.forRoot(),
22
+ MonkeyButtonModule,
23
+ MonkeyFileUploadModule,
24
+ ]] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyImageCropModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [MonkeyImageCropComponent],
29
+ imports: [
30
+ CommonModule,
31
+ FormsModule,
32
+ ReactiveFormsModule,
33
+ NgxMaskModule.forRoot(),
34
+ MonkeyButtonModule,
35
+ MonkeyFileUploadModule,
36
+ ],
37
+ exports: [MonkeyImageCropComponent],
38
+ schemas: [NO_ERRORS_SCHEMA],
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQVpqQix3QkFBd0IsYUFFckMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUIsb0JBRW5CLGtCQUFrQjtRQUNsQixzQkFBc0IsYUFFZCx3QkFBd0I7b0hBR3ZCLHFCQUFxQixZQVh2QjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtTQUN2Qjs0RkFJVSxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUltYWdlQ3JvcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4TWFza01vZHVsZSB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgTW9ua2V5RmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJy4uL2ZpbGUtdXBsb2FkJztcclxuaW1wb3J0IHsgTW9ua2V5QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hNYXNrTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIE1vbmtleUJ1dHRvbk1vZHVsZSxcclxuICAgIE1vbmtleUZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTW9ua2V5SW1hZ2VDcm9wQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlJbWFnZUNyb3BNb2R1bGUge31cclxuIl19