monkey-style-guide 2.0.108 → 2.0.109

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 (235) hide show
  1. package/{esm2015/lib/components/badge/badge.component.js → esm2020/lib/components/badge/badge.component.mjs} +4 -4
  2. package/{esm2015/lib/components/badge/badge.module.js → esm2020/lib/components/badge/badge.module.mjs} +5 -5
  3. package/{esm2015/lib/components/badge/index.js → esm2020/lib/components/badge/index.mjs} +0 -0
  4. package/{esm2015/lib/components/button/button-avatar.component.js → esm2020/lib/components/button/button-avatar.component.mjs} +5 -5
  5. package/{esm2015/lib/components/button/button-dropdown.component.js → esm2020/lib/components/button/button-dropdown.component.mjs} +4 -4
  6. package/{esm2015/lib/components/button/button.component.js → esm2020/lib/components/button/button.component.mjs} +4 -4
  7. package/{esm2015/lib/components/button/button.module.js → esm2020/lib/components/button/button.module.mjs} +5 -5
  8. package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
  9. package/{esm2015/lib/components/checkbox/checkbox.component.js → esm2020/lib/components/checkbox/checkbox.component.mjs} +6 -6
  10. package/{esm2015/lib/components/checkbox/checkbox.module.js → esm2020/lib/components/checkbox/checkbox.module.mjs} +5 -5
  11. package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
  12. package/{esm2015/lib/components/date-range-picker/date-range-picker.component.js → esm2020/lib/components/date-range-picker/date-range-picker.component.mjs} +6 -6
  13. package/{esm2015/lib/components/date-range-picker/date-range-picker.module.js → esm2020/lib/components/date-range-picker/date-range-picker.module.mjs} +5 -5
  14. package/{esm2015/lib/components/date-range-picker/index.js → esm2020/lib/components/date-range-picker/index.mjs} +0 -0
  15. package/{esm2015/lib/components/expansion/expansion.component.js → esm2020/lib/components/expansion/expansion.component.mjs} +4 -4
  16. package/{esm2015/lib/components/expansion/expansion.module.js → esm2020/lib/components/expansion/expansion.module.mjs} +5 -5
  17. package/{esm2015/lib/components/expansion/index.js → esm2020/lib/components/expansion/index.mjs} +0 -0
  18. package/{esm2015/lib/components/file-upload/file-upload.component.js → esm2020/lib/components/file-upload/file-upload.component.mjs} +6 -6
  19. package/{esm2015/lib/components/file-upload/file-upload.module.js → esm2020/lib/components/file-upload/file-upload.module.mjs} +5 -5
  20. package/{esm2015/lib/components/file-upload/index.js → esm2020/lib/components/file-upload/index.mjs} +0 -0
  21. package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -0
  22. package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -0
  23. package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -0
  24. package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -0
  25. package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -0
  26. package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -0
  27. package/esm2020/lib/components/icon/icon-book.component.mjs +15 -0
  28. package/esm2020/lib/components/icon/icon-box.component.mjs +15 -0
  29. package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -0
  30. package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -0
  31. package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -0
  32. package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -0
  33. package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -0
  34. package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -0
  35. package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -0
  36. package/esm2020/lib/components/icon/icon-check.component.mjs +15 -0
  37. package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -0
  38. package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -0
  39. package/esm2020/lib/components/icon/icon-close.component.mjs +15 -0
  40. package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -0
  41. package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -0
  42. package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -0
  43. package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -0
  44. package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -0
  45. package/esm2020/lib/components/icon/icon-document.component.mjs +15 -0
  46. package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -0
  47. package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -0
  48. package/esm2020/lib/components/icon/icon-download.component.mjs +15 -0
  49. package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -0
  50. package/esm2020/lib/components/icon/icon-email.component.mjs +15 -0
  51. package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -0
  52. package/esm2020/lib/components/icon/icon-error.component.mjs +15 -0
  53. package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -0
  54. package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -0
  55. package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -0
  56. package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -0
  57. package/esm2020/lib/components/icon/icon-help.component.mjs +15 -0
  58. package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -0
  59. package/esm2020/lib/components/icon/icon-home.component.mjs +15 -0
  60. package/esm2020/lib/components/icon/icon-image.component.mjs +15 -0
  61. package/esm2020/lib/components/icon/icon-list.component.mjs +15 -0
  62. package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -0
  63. package/esm2020/lib/components/icon/icon-login.component.mjs +15 -0
  64. package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -0
  65. package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -0
  66. package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -0
  67. package/esm2020/lib/components/icon/icon-more.component.mjs +15 -0
  68. package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -0
  69. package/esm2020/lib/components/icon/icon-password.component.mjs +15 -0
  70. package/esm2020/lib/components/icon/icon-people.component.mjs +15 -0
  71. package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -0
  72. package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -0
  73. package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -0
  74. package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -0
  75. package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -0
  76. package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -0
  77. package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -0
  78. package/esm2020/lib/components/icon/icon-search.component.mjs +15 -0
  79. package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -0
  80. package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -0
  81. package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -0
  82. package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -0
  83. package/esm2020/lib/components/icon/icon-user.component.mjs +15 -0
  84. package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -0
  85. package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -0
  86. package/{esm2015/lib/components/icon/icon.component.js → esm2020/lib/components/icon/icon.component.mjs} +6 -6
  87. package/{esm2015/lib/components/icon/icon.module.js → esm2020/lib/components/icon/icon.module.mjs} +5 -5
  88. package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
  89. package/{esm2015/lib/components/image-crop/image-crop.component.js → esm2020/lib/components/image-crop/image-crop.component.mjs} +12 -5
  90. package/{esm2015/lib/components/image-crop/image-crop.module.js → esm2020/lib/components/image-crop/image-crop.module.mjs} +5 -5
  91. package/{esm2015/lib/components/image-crop/index.js → esm2020/lib/components/image-crop/index.mjs} +0 -0
  92. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  93. package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
  94. package/esm2020/lib/components/input/input-filter.component.mjs +261 -0
  95. package/esm2020/lib/components/input/input.component.mjs +380 -0
  96. package/{esm2015/lib/components/input/input.module.js → esm2020/lib/components/input/input.module.mjs} +5 -5
  97. package/{esm2015/lib/components/input-phone/index.js → esm2020/lib/components/input-phone/index.mjs} +0 -0
  98. package/esm2020/lib/components/input-phone/input-phone.component.mjs +304 -0
  99. package/{esm2015/lib/components/input-phone/input-phone.module.js → esm2020/lib/components/input-phone/input-phone.module.mjs} +5 -5
  100. package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
  101. package/esm2020/lib/components/modal/modal.component.mjs +236 -0
  102. package/{esm2015/lib/components/modal/modal.module.js → esm2020/lib/components/modal/modal.module.mjs} +5 -5
  103. package/{esm2015/lib/components/option/index.js → esm2020/lib/components/option/index.mjs} +0 -0
  104. package/{esm2015/lib/components/option/option.component.js → esm2020/lib/components/option/option.component.mjs} +4 -4
  105. package/{esm2015/lib/components/option/option.module.js → esm2020/lib/components/option/option.module.mjs} +5 -5
  106. package/{esm2015/lib/components/radiobutton/index.js → esm2020/lib/components/radiobutton/index.mjs} +0 -0
  107. package/{esm2015/lib/components/radiobutton/radiobutton.component.js → esm2020/lib/components/radiobutton/radiobutton.component.mjs} +6 -6
  108. package/{esm2015/lib/components/radiobutton/radiobutton.module.js → esm2020/lib/components/radiobutton/radiobutton.module.mjs} +5 -5
  109. package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
  110. package/{esm2015/lib/components/select/select-filter.component.js → esm2020/lib/components/select/select-filter.component.mjs} +6 -6
  111. package/esm2020/lib/components/select/select-multiple.component.mjs +304 -0
  112. package/esm2020/lib/components/select/select-search.component.mjs +306 -0
  113. package/{esm2015/lib/components/select/select.component.js → esm2020/lib/components/select/select.component.mjs} +6 -6
  114. package/{esm2015/lib/components/select/select.module.js → esm2020/lib/components/select/select.module.mjs} +5 -5
  115. package/{esm2015/lib/components/stepper/index.js → esm2020/lib/components/stepper/index.mjs} +0 -0
  116. package/{esm2015/lib/components/stepper/stepper.component.js → esm2020/lib/components/stepper/stepper.component.mjs} +4 -4
  117. package/{esm2015/lib/components/stepper/stepper.module.js → esm2020/lib/components/stepper/stepper.module.mjs} +5 -5
  118. package/{esm2015/lib/components/tab/index.js → esm2020/lib/components/tab/index.mjs} +0 -0
  119. package/{esm2015/lib/components/tab/tab.component.js → esm2020/lib/components/tab/tab.component.mjs} +4 -4
  120. package/{esm2015/lib/components/tab/tab.module.js → esm2020/lib/components/tab/tab.module.mjs} +5 -5
  121. package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
  122. package/{esm2015/lib/components/table/table-column.component.js → esm2020/lib/components/table/table-column.component.mjs} +4 -4
  123. package/esm2020/lib/components/table/table.component.mjs +203 -0
  124. package/{esm2015/lib/components/table/table.module.js → esm2020/lib/components/table/table.module.mjs} +5 -5
  125. package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +0 -0
  126. package/esm2020/lib/components/toggle/toggle.component.mjs +56 -0
  127. package/{esm2015/lib/components/toggle/toggle.module.js → esm2020/lib/components/toggle/toggle.module.mjs} +5 -5
  128. package/{esm2015/lib/components/wizard/index.js → esm2020/lib/components/wizard/index.mjs} +0 -0
  129. package/{esm2015/lib/components/wizard/wizard.component.js → esm2020/lib/components/wizard/wizard.component.mjs} +4 -4
  130. package/{esm2015/lib/components/wizard/wizard.module.js → esm2020/lib/components/wizard/wizard.module.mjs} +5 -5
  131. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  132. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +0 -0
  133. package/{esm2015/lib/core/interfaces/monkey-modal-settings.js → esm2020/lib/core/interfaces/monkey-modal-settings.mjs} +0 -0
  134. package/{esm2015/lib/core/interfaces/monkey-style-settings.js → esm2020/lib/core/interfaces/monkey-style-settings.mjs} +0 -0
  135. package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
  136. package/{esm2015/lib/core/services/modal/index.js → esm2020/lib/core/services/modal/index.mjs} +0 -0
  137. package/{esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs} +4 -4
  138. package/{esm2015/lib/core/services/modal/monkey-style-guide-modal.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs} +4 -4
  139. package/{esm2015/lib/core/services/monkey-style-guide.service.js → esm2020/lib/core/services/monkey-style-guide.service.mjs} +4 -4
  140. package/{esm2015/lib/core/services/settings/index.js → esm2020/lib/core/services/settings/index.mjs} +0 -0
  141. package/{esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js → esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs} +4 -4
  142. package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -0
  143. package/{esm2015/lib/core/services/snackbar/index.js → esm2020/lib/core/services/snackbar/index.mjs} +0 -0
  144. package/{esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.js → esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs} +5 -5
  145. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
  146. package/esm2020/lib/core/utils/utils.mjs +235 -0
  147. package/{esm2015/lib/monkey-style-guide.module.js → esm2020/lib/monkey-style-guide.module.mjs} +5 -5
  148. package/{esm2015/monkey-style-guide.js → esm2020/monkey-style-guide.mjs} +0 -0
  149. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  150. package/fesm2015/{monkey-style-guide.js → monkey-style-guide.mjs} +454 -710
  151. package/fesm2015/monkey-style-guide.mjs.map +1 -0
  152. package/fesm2020/monkey-style-guide.mjs +7921 -0
  153. package/fesm2020/monkey-style-guide.mjs.map +1 -0
  154. package/lib/core/utils/utils.d.ts +3 -3
  155. package/monkey-style-guide-2.0.109.tgz +0 -0
  156. package/package.json +22 -9
  157. package/bundles/monkey-style-guide.umd.js +0 -6236
  158. package/bundles/monkey-style-guide.umd.js.map +0 -1
  159. package/esm2015/lib/components/icon/icon-arrow-down.component.js +0 -19
  160. package/esm2015/lib/components/icon/icon-arrow-left.component.js +0 -19
  161. package/esm2015/lib/components/icon/icon-arrow-right.component.js +0 -19
  162. package/esm2015/lib/components/icon/icon-arrow-up.component.js +0 -19
  163. package/esm2015/lib/components/icon/icon-bank.component.js +0 -19
  164. package/esm2015/lib/components/icon/icon-bell.component.js +0 -19
  165. package/esm2015/lib/components/icon/icon-book.component.js +0 -19
  166. package/esm2015/lib/components/icon/icon-box.component.js +0 -19
  167. package/esm2015/lib/components/icon/icon-calendar.component.js +0 -19
  168. package/esm2015/lib/components/icon/icon-camera.component.js +0 -19
  169. package/esm2015/lib/components/icon/icon-chat.component.js +0 -19
  170. package/esm2015/lib/components/icon/icon-check-circle-out.component.js +0 -19
  171. package/esm2015/lib/components/icon/icon-check-circle.component.js +0 -19
  172. package/esm2015/lib/components/icon/icon-check-grey.component.js +0 -19
  173. package/esm2015/lib/components/icon/icon-check-white.component.js +0 -19
  174. package/esm2015/lib/components/icon/icon-check.component.js +0 -19
  175. package/esm2015/lib/components/icon/icon-clipboard.component.js +0 -19
  176. package/esm2015/lib/components/icon/icon-clock.component.js +0 -19
  177. package/esm2015/lib/components/icon/icon-close.component.js +0 -19
  178. package/esm2015/lib/components/icon/icon-cnpj.component.js +0 -19
  179. package/esm2015/lib/components/icon/icon-codepen.component.js +0 -19
  180. package/esm2015/lib/components/icon/icon-company-name.component.js +0 -19
  181. package/esm2015/lib/components/icon/icon-contract.component.js +0 -19
  182. package/esm2015/lib/components/icon/icon-delete.component.js +0 -19
  183. package/esm2015/lib/components/icon/icon-document.component.js +0 -19
  184. package/esm2015/lib/components/icon/icon-dollar-sign.component.js +0 -19
  185. package/esm2015/lib/components/icon/icon-domain.component.js +0 -19
  186. package/esm2015/lib/components/icon/icon-download.component.js +0 -19
  187. package/esm2015/lib/components/icon/icon-edit.component.js +0 -19
  188. package/esm2015/lib/components/icon/icon-email.component.js +0 -19
  189. package/esm2015/lib/components/icon/icon-empty-doc.component.js +0 -19
  190. package/esm2015/lib/components/icon/icon-error.component.js +0 -19
  191. package/esm2015/lib/components/icon/icon-eye-closed.component.js +0 -19
  192. package/esm2015/lib/components/icon/icon-eye-open.component.js +0 -19
  193. package/esm2015/lib/components/icon/icon-filter.component.js +0 -19
  194. package/esm2015/lib/components/icon/icon-grid.component.js +0 -19
  195. package/esm2015/lib/components/icon/icon-help.component.js +0 -19
  196. package/esm2015/lib/components/icon/icon-hexagon.component.js +0 -19
  197. package/esm2015/lib/components/icon/icon-home.component.js +0 -19
  198. package/esm2015/lib/components/icon/icon-image.component.js +0 -19
  199. package/esm2015/lib/components/icon/icon-list.component.js +0 -19
  200. package/esm2015/lib/components/icon/icon-location-pin.component.js +0 -19
  201. package/esm2015/lib/components/icon/icon-login.component.js +0 -19
  202. package/esm2015/lib/components/icon/icon-logout.component.js +0 -19
  203. package/esm2015/lib/components/icon/icon-menu.component.js +0 -19
  204. package/esm2015/lib/components/icon/icon-money-sign.component.js +0 -19
  205. package/esm2015/lib/components/icon/icon-more.component.js +0 -19
  206. package/esm2015/lib/components/icon/icon-offered.component.js +0 -19
  207. package/esm2015/lib/components/icon/icon-password.component.js +0 -19
  208. package/esm2015/lib/components/icon/icon-people.component.js +0 -19
  209. package/esm2015/lib/components/icon/icon-percent.component.js +0 -19
  210. package/esm2015/lib/components/icon/icon-person-document.component.js +0 -19
  211. package/esm2015/lib/components/icon/icon-person-sad.component.js +0 -19
  212. package/esm2015/lib/components/icon/icon-phone.component.js +0 -19
  213. package/esm2015/lib/components/icon/icon-pork.component.js +0 -19
  214. package/esm2015/lib/components/icon/icon-refresh.component.js +0 -19
  215. package/esm2015/lib/components/icon/icon-repeat.component.js +0 -19
  216. package/esm2015/lib/components/icon/icon-search.component.js +0 -19
  217. package/esm2015/lib/components/icon/icon-second-warning.component.js +0 -19
  218. package/esm2015/lib/components/icon/icon-settings.component.js +0 -19
  219. package/esm2015/lib/components/icon/icon-trash.component.js +0 -19
  220. package/esm2015/lib/components/icon/icon-upload.component.js +0 -19
  221. package/esm2015/lib/components/icon/icon-user.component.js +0 -19
  222. package/esm2015/lib/components/icon/icon-wallet.component.js +0 -19
  223. package/esm2015/lib/components/icon/icon-warning.component.js +0 -19
  224. package/esm2015/lib/components/input/input-filter.component.js +0 -262
  225. package/esm2015/lib/components/input/input.component.js +0 -384
  226. package/esm2015/lib/components/input-phone/input-phone.component.js +0 -307
  227. package/esm2015/lib/components/modal/modal.component.js +0 -241
  228. package/esm2015/lib/components/select/select-multiple.component.js +0 -308
  229. package/esm2015/lib/components/select/select-search.component.js +0 -308
  230. package/esm2015/lib/components/table/table.component.js +0 -204
  231. package/esm2015/lib/components/toggle/toggle.component.js +0 -56
  232. package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.js +0 -70
  233. package/esm2015/lib/core/utils/utils.js +0 -237
  234. package/fesm2015/monkey-style-guide.js.map +0 -1
  235. package/monkey-style-guide-2.0.108.tgz +0 -0
@@ -9,9 +9,9 @@ export class MonkeyStyleGuideService {
9
9
  return this.http.get(url, options);
10
10
  }
11
11
  }
12
- MonkeyStyleGuideService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
13
- MonkeyStyleGuideService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideService });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideService, decorators: [{
12
+ MonkeyStyleGuideService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ MonkeyStyleGuideService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService, decorators: [{
15
15
  type: Injectable
16
16
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL21vbmtleS1zdHlsZS1ndWlkZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRWpDLEdBQUcsQ0FBSSxHQUFXLEVBQUUsT0FBVztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOztxSEFMVSx1QkFBdUI7eUhBQXZCLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogVCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odXJsLCBvcHRpb25zKTtcclxuICB9XHJcbn1cclxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL21vbmtleS1zdHlsZS1ndWlkZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRWpDLEdBQUcsQ0FBSSxHQUFXLEVBQUUsT0FBVztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOztvSEFMVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogVCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odXJsLCBvcHRpb25zKTtcclxuICB9XHJcbn1cclxuIl19
@@ -33,9 +33,9 @@ export class MonkeyStyleGuideSettingsService {
33
33
  return this.settingsSubject$.asObservable();
34
34
  }
35
35
  }
36
- MonkeyStyleGuideSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSettingsService, deps: [{ token: i1.MonkeyStyleGuideService }, { token: i2.MonkeyStyleGuideThemeSettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
37
- MonkeyStyleGuideSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSettingsService });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSettingsService, decorators: [{
36
+ MonkeyStyleGuideSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService, deps: [{ token: i1.MonkeyStyleGuideService }, { token: i2.MonkeyStyleGuideThemeSettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
37
+ MonkeyStyleGuideSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService, decorators: [{
39
39
  type: Injectable
40
40
  }], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideService }, { type: i2.MonkeyStyleGuideThemeSettingsService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NldHRpbmdzL21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzRCQUk0QjtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBSS9ELE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFDVSxlQUF3QyxFQUN4QywwQkFBZ0U7UUFEaEUsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQ3hDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBc0M7UUFKekQscUJBQWdCLEdBQXlDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSy9GLENBQUM7SUFFRyxRQUFRLENBQUMsV0FBbUIsRUFBRSxRQUFtQjtRQUN0RCxNQUFNLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRS9FLGVBQWUsQ0FBQyxHQUFHLENBQU0sV0FBVyxJQUFJLHlDQUF5QyxDQUFDLENBQUMsU0FBUyxDQUMxRixDQUFDLENBQXNCLEVBQUUsRUFBRTtZQUN6QiwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsUUFBbUI7UUFDcEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7NkhBL0JVLCtCQUErQjtpSUFBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVRoZW1lU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXktc3R5bGUtZ3VpZGUtdGhlbWUtc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlTdHlsZVNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbW9ua2V5U0dTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVUaGVtZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwKHNldHRpbmdzVXJsOiBzdHJpbmcsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5U0dTZXJ2aWNlLCBzZXR0aW5nc1N1YmplY3QkLCBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZSB9ID0gdGhpcztcclxuXHJcbiAgICBtb25rZXlTR1NlcnZpY2UuZ2V0PGFueT4oc2V0dGluZ3NVcmwgfHwgYGFzc2V0cy9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmApLnN1YnNjcmliZShcclxuICAgICAgKF86IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgICBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZS5hcHBseShfLCBjYWxsYmFjayk7XHJcbiAgICAgICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KF8pO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ01vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncyBub3QgZm91bmQhJyk7XHJcbiAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwV2l0aERhdGEoZGF0YTogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU3ViamVjdCQsIG1vbmtleVNHVGhlbWVDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG4gICAgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2UuYXBwbHkoZGF0YSwgY2FsbGJhY2spO1xyXG4gICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NldHRpbmdzL21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzRCQUk0QjtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBSS9ELE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFDVSxlQUF3QyxFQUN4QywwQkFBZ0U7UUFEaEUsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQ3hDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBc0M7UUFKekQscUJBQWdCLEdBQXlDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSy9GLENBQUM7SUFFRyxRQUFRLENBQUMsV0FBbUIsRUFBRSxRQUFtQjtRQUN0RCxNQUFNLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRS9FLGVBQWUsQ0FBQyxHQUFHLENBQU0sV0FBVyxJQUFJLHlDQUF5QyxDQUFDLENBQUMsU0FBUyxDQUMxRixDQUFDLENBQXNCLEVBQUUsRUFBRTtZQUN6QiwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsUUFBbUI7UUFDcEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7NEhBL0JVLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVRoZW1lU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXktc3R5bGUtZ3VpZGUtdGhlbWUtc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlTdHlsZVNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbW9ua2V5U0dTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVUaGVtZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwKHNldHRpbmdzVXJsOiBzdHJpbmcsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5U0dTZXJ2aWNlLCBzZXR0aW5nc1N1YmplY3QkLCBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZSB9ID0gdGhpcztcclxuXHJcbiAgICBtb25rZXlTR1NlcnZpY2UuZ2V0PGFueT4oc2V0dGluZ3NVcmwgfHwgYGFzc2V0cy9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmApLnN1YnNjcmliZShcclxuICAgICAgKF86IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgICBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZS5hcHBseShfLCBjYWxsYmFjayk7XHJcbiAgICAgICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KF8pO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ01vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncyBub3QgZm91bmQhJyk7XHJcbiAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwV2l0aERhdGEoZGF0YTogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU3ViamVjdCQsIG1vbmtleVNHVGhlbWVDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG4gICAgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2UuYXBwbHkoZGF0YSwgY2FsbGJhY2spO1xyXG4gICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,80 @@
1
+ /**************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ **************************/
6
+ import { Injectable, Inject } from '@angular/core';
7
+ import { DOCUMENT } from '@angular/common';
8
+ import * as i0 from "@angular/core";
9
+ export class MonkeyStyleGuideThemeSettingsService {
10
+ constructor(doc) {
11
+ this.doc = doc;
12
+ }
13
+ applyColors(settings) {
14
+ const colors = settings.colors;
15
+ let bucketColors = null;
16
+ ['theme', 'error', 'warning', 'success', 'question'].forEach((color) => {
17
+ Object.entries(colors[color]).forEach(([paletteKey, paletteValue]) => {
18
+ if (paletteKey === 'contrast') {
19
+ Object.entries(paletteValue).forEach(([paletteContrastKey, paletteContrastValue]) => {
20
+ document.documentElement.style.setProperty(`--mecx-color-${color}-contrast-${paletteContrastKey}`, `${paletteContrastValue}`);
21
+ bucketColors = {
22
+ ...bucketColors,
23
+ [`--mecx-color-${color}-contrast-${paletteContrastKey}`]: `${paletteContrastValue}`,
24
+ };
25
+ });
26
+ }
27
+ else {
28
+ document.documentElement.style.setProperty(`--mecx-color-${color}-${paletteKey}`, `${paletteValue}`);
29
+ bucketColors = {
30
+ ...bucketColors,
31
+ [`--mecx-color-${color}-${paletteKey}`]: `${paletteValue}`,
32
+ };
33
+ }
34
+ });
35
+ });
36
+ return bucketColors;
37
+ }
38
+ applyFonts(settings) {
39
+ const font = {
40
+ url: 'https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap',
41
+ name: 'Work Sans',
42
+ ...settings.font,
43
+ };
44
+ document.documentElement.style.setProperty(`--mecx-font-name`, `${font.name}`);
45
+ let link = this.doc.createElement('link');
46
+ link.setAttribute('rel', 'stylesheet');
47
+ link.setAttribute('type', 'text/css');
48
+ link.setAttribute('href', `${font.url}`);
49
+ this.doc.head.appendChild(link);
50
+ }
51
+ applyTheme(settings) {
52
+ const { theme } = settings;
53
+ document.title = `${theme.title}`;
54
+ let link = this.doc.createElement('link');
55
+ link.setAttribute('rel', 'icon');
56
+ link.setAttribute('type', 'image/x-icon');
57
+ link.setAttribute('href', `${theme.favicon}`);
58
+ this.doc.head.appendChild(link);
59
+ }
60
+ apply(config, callback) {
61
+ const bucketColors = this.applyColors(config);
62
+ this.applyFonts(config);
63
+ this.applyTheme(config);
64
+ setTimeout(() => {
65
+ if (callback)
66
+ callback({
67
+ bucketColors,
68
+ });
69
+ }, 500);
70
+ }
71
+ }
72
+ MonkeyStyleGuideThemeSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ MonkeyStyleGuideThemeSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService, decorators: [{
75
+ type: Injectable
76
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
77
+ type: Inject,
78
+ args: [DOCUMENT]
79
+ }] }]; } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NldHRpbmdzL21vbmtleS1zdHlsZS1ndWlkZS10aGVtZS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzRCQUk0QjtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFDL0MsWUFBc0MsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7SUFBRyxDQUFDO0lBRTFDLFdBQVcsQ0FBQyxRQUE2QjtRQUMvQyxNQUFNLE1BQU0sR0FBUSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRXBDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztRQUV4QixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDMUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO2dCQUM3QixJQUFJLFVBQVUsS0FBSyxVQUFVLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUNsQyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFO3dCQUM3QyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENB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QyxvQ0FBb0M7a0JBRGhELFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZVNldHRpbmdzLCBNb25rZXlTdHlsZUZvbnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBhbnkpIHt9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlDb2xvcnMoc2V0dGluZ3M6IE1vbmtleVN0eWxlU2V0dGluZ3MpOiBhbnkge1xyXG4gICAgY29uc3QgY29sb3JzOiBhbnkgPSBzZXR0aW5ncy5jb2xvcnM7XHJcblxyXG4gICAgbGV0IGJ1Y2tldENvbG9ycyA9IG51bGw7XHJcblxyXG4gICAgWyd0aGVtZScsICdlcnJvcicsICd3YXJuaW5nJywgJ3N1Y2Nlc3MnLCAncXVlc3Rpb24nXS5mb3JFYWNoKChjb2xvcikgPT4ge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhjb2xvcnNbY29sb3JdIGFzIGFueSkuZm9yRWFjaChcclxuICAgICAgICAoW3BhbGV0dGVLZXksIHBhbGV0dGVWYWx1ZV0pID0+IHtcclxuICAgICAgICAgIGlmIChwYWxldHRlS2V5ID09PSAnY29udHJhc3QnKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHBhbGV0dGVWYWx1ZSkuZm9yRWFjaChcclxuICAgICAgICAgICAgICAoW3BhbGV0dGVDb250cmFzdEtleSwgcGFsZXR0ZUNvbnRyYXN0VmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgICAgIGAtLW1lY3gtY29sb3ItJHtjb2xvcn0tY29udHJhc3QtJHtwYWxldHRlQ29udHJhc3RLZXl9YCxcclxuICAgICAgICAgICAgICAgICAgYCR7cGFsZXR0ZUNvbnRyYXN0VmFsdWV9YFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGJ1Y2tldENvbG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgLi4uYnVja2V0Q29sb3JzLFxyXG4gICAgICAgICAgICAgICAgICBbYC0tbWVjeC1jb2xvci0ke2NvbG9yfS1jb250cmFzdC0ke3BhbGV0dGVDb250cmFzdEtleX1gXTogYCR7cGFsZXR0ZUNvbnRyYXN0VmFsdWV9YCxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgIGAtLW1lY3gtY29sb3ItJHtjb2xvcn0tJHtwYWxldHRlS2V5fWAsXHJcbiAgICAgICAgICAgICAgYCR7cGFsZXR0ZVZhbHVlfWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnVja2V0Q29sb3JzID0ge1xyXG4gICAgICAgICAgICAgIC4uLmJ1Y2tldENvbG9ycyxcclxuICAgICAgICAgICAgICBbYC0tbWVjeC1jb2xvci0ke2NvbG9yfS0ke3BhbGV0dGVLZXl9YF06IGAke3BhbGV0dGVWYWx1ZX1gLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBidWNrZXRDb2xvcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5Rm9udHMoc2V0dGluZ3M6IE1vbmtleVN0eWxlU2V0dGluZ3MpIHtcclxuICAgIGNvbnN0IGZvbnQ6IE1vbmtleVN0eWxlRm9udFNldHRpbmdzID0ge1xyXG4gICAgICB1cmw6XHJcbiAgICAgICAgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9V29yaytTYW5zOml0YWwsd2dodEAwLDIwMDswLDMwMDswLDQwMDswLDUwMDswLDYwMDswLDcwMDswLDgwMDswLDkwMDsxLDQwMDsxLDUwMDsxLDYwMDsxLDcwMDsxLDgwMDsxLDkwMCZkaXNwbGF5PXN3YXAnLFxyXG4gICAgICBuYW1lOiAnV29yayBTYW5zJyxcclxuICAgICAgLi4uc2V0dGluZ3MuZm9udCxcclxuICAgIH07XHJcblxyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICBgLS1tZWN4LWZvbnQtbmFtZWAsXHJcbiAgICAgIGAke2ZvbnQubmFtZX1gXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBsaW5rOiBIVE1MTGlua0VsZW1lbnQgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGAke2ZvbnQudXJsfWApO1xyXG4gICAgdGhpcy5kb2MuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlUaGVtZShzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncykge1xyXG4gICAgY29uc3QgeyB0aGVtZSB9ID0gc2V0dGluZ3M7XHJcbiAgICBkb2N1bWVudC50aXRsZSA9IGAke3RoZW1lLnRpdGxlfWA7XHJcblxyXG4gICAgbGV0IGxpbms6IEhUTUxMaW5rRWxlbWVudCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAnaWNvbicpO1xyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaW1hZ2UveC1pY29uJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGAke3RoZW1lLmZhdmljb259YCk7XHJcbiAgICB0aGlzLmRvYy5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGx5KGNvbmZpZzogTW9ua2V5U3R5bGVTZXR0aW5ncywgY2FsbGJhY2s/OiBGdW5jdGlvbikge1xyXG4gICAgY29uc3QgYnVja2V0Q29sb3JzID0gdGhpcy5hcHBseUNvbG9ycyhjb25maWcpO1xyXG4gICAgdGhpcy5hcHBseUZvbnRzKGNvbmZpZyk7XHJcbiAgICB0aGlzLmFwcGx5VGhlbWUoY29uZmlnKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spXHJcbiAgICAgICAgY2FsbGJhY2soe1xyXG4gICAgICAgICAgYnVja2V0Q29sb3JzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbn1cclxuIl19
@@ -200,7 +200,7 @@ export class MonkeyStyleGuideSnackbarService {
200
200
  this.buildAction(id);
201
201
  this.buildIcon();
202
202
  this.finish(id);
203
- if (config === null || config === void 0 ? void 0 : config.blinkTab) {
203
+ if (config?.blinkTab) {
204
204
  this.blinkTab();
205
205
  }
206
206
  }
@@ -209,9 +209,9 @@ export class MonkeyStyleGuideSnackbarService {
209
209
  snackbarElements.removeAll();
210
210
  }
211
211
  }
212
- MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSnackbarService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
213
- MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSnackbarService });
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideSnackbarService, decorators: [{
212
+ MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
213
+ MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService });
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService, decorators: [{
215
215
  type: Injectable
216
216
  }], ctorParameters: function () { return [{ type: i1.Location }]; } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzZIQXhMVSwrQkFBK0I7aUlBQS9CLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gIGNvbmZpcm0/OiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgYWN0aW9uOiBGdW5jdGlvbjtcclxuICB9O1xyXG4gIGNhbmNlbD86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTbmFja2JhckNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICB0eXBlPzogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHwgJ2xvYWRpbmcnO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhvcml6b250YWxQb3NpdGlvbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcclxuICBhY3Rpb24/OiBTbmFja2JhckFjdGlvbkNvbmZpZztcclxuICBrZWVwT3Blbj86IGJvb2xlYW47XHJcbiAgYmxpbmtUYWI/OiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBTbmFja2JhckVsZW1lbnRzIHtcclxuICBlbGVtZW50czoge1xyXG4gICAgZWxlbWVudD86IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaW50ZXJ2YWw/OiBhbnk7XHJcbiAgfVtdID0gW107XHJcbiAgbGFzdFNjcm9sbFRvcDogbnVtYmVyID0gMTU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYWRkKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyLCBjYWxsYmFjazogRnVuY3Rpb24sIHZlcnRpY2FsUG9zaXRpb246IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudHMgJiYgdGhpcy5lbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB9XHJcbiAgICBlbGVtZW50LnN0eWxlW3ZlcnRpY2FsUG9zaXRpb25dID0gYCR7dGhpcy5sYXN0U2Nyb2xsVG9wfXB4YDtcclxuXHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xyXG4gICAgICBlbGVtZW50OiBlbGVtZW50LFxyXG4gICAgICBpbnRlcnZhbDogaW50ZXJ2YWwsXHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSB0aGlzLmxhc3RTY3JvbGxUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50LmlkKS5vZmZzZXRIZWlnaHQgKyAxNTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShyZW1vdmVJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCA9PT0gcmVtb3ZlSWQpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50cyA9XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5maWx0ZXIoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkICE9PSBlbGVtZW50LmVsZW1lbnQuaWQpIHx8IFtdO1xyXG4gICAgICBlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lID0gYCR7ZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZX0gZmFkZS1vdXQgaGlkZWA7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9XHJcbiAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgLSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocmVtb3ZlSWQpLm9mZnNldEhlaWdodCArIDE1KTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnOiBTbmFja2JhckNvbmZpZztcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnRzOiBTbmFja2JhckVsZW1lbnRzO1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbGRUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGltZW91dEJsaW5rVGFiID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvblJvdXRlcjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cyA9IG5ldyBTbmFja2JhckVsZW1lbnRzKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uUm91dGVyLm9uVXJsQ2hhbmdlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRIQXhMVSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gIGNvbmZpcm0/OiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgYWN0aW9uOiBGdW5jdGlvbjtcclxuICB9O1xyXG4gIGNhbmNlbD86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTbmFja2JhckNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICB0eXBlPzogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHwgJ2xvYWRpbmcnO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhvcml6b250YWxQb3NpdGlvbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcclxuICBhY3Rpb24/OiBTbmFja2JhckFjdGlvbkNvbmZpZztcclxuICBrZWVwT3Blbj86IGJvb2xlYW47XHJcbiAgYmxpbmtUYWI/OiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBTbmFja2JhckVsZW1lbnRzIHtcclxuICBlbGVtZW50czoge1xyXG4gICAgZWxlbWVudD86IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaW50ZXJ2YWw/OiBhbnk7XHJcbiAgfVtdID0gW107XHJcbiAgbGFzdFNjcm9sbFRvcDogbnVtYmVyID0gMTU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYWRkKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyLCBjYWxsYmFjazogRnVuY3Rpb24sIHZlcnRpY2FsUG9zaXRpb246IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudHMgJiYgdGhpcy5lbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB9XHJcbiAgICBlbGVtZW50LnN0eWxlW3ZlcnRpY2FsUG9zaXRpb25dID0gYCR7dGhpcy5sYXN0U2Nyb2xsVG9wfXB4YDtcclxuXHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xyXG4gICAgICBlbGVtZW50OiBlbGVtZW50LFxyXG4gICAgICBpbnRlcnZhbDogaW50ZXJ2YWwsXHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSB0aGlzLmxhc3RTY3JvbGxUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50LmlkKS5vZmZzZXRIZWlnaHQgKyAxNTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShyZW1vdmVJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCA9PT0gcmVtb3ZlSWQpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50cyA9XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5maWx0ZXIoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkICE9PSBlbGVtZW50LmVsZW1lbnQuaWQpIHx8IFtdO1xyXG4gICAgICBlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lID0gYCR7ZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZX0gZmFkZS1vdXQgaGlkZWA7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9XHJcbiAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgLSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocmVtb3ZlSWQpLm9mZnNldEhlaWdodCArIDE1KTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnOiBTbmFja2JhckNvbmZpZztcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnRzOiBTbmFja2JhckVsZW1lbnRzO1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbGRUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGltZW91dEJsaW5rVGFiID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvblJvdXRlcjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cyA9IG5ldyBTbmFja2JhckVsZW1lbnRzKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uUm91dGVyLm9uVXJsQ2hhbmdlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,235 @@
1
+ import { PhoneNumberUtil } from 'google-libphonenumber';
2
+ const phoneUtil = PhoneNumberUtil.getInstance();
3
+ export class MonkeyUtils {
4
+ static persistNullEmptyUndefined(tp) {
5
+ return tp !== null && tp !== undefined && tp !== '';
6
+ }
7
+ static getDocumentType(doc) {
8
+ if (!doc)
9
+ return '';
10
+ return doc.length <= 11 ? 'CPF' : 'CNPJ';
11
+ }
12
+ static getDocumentMask(type) {
13
+ if (type === 'CPF')
14
+ return '000.000.000-00';
15
+ return '00.000.000/0000-00';
16
+ }
17
+ static formatDocumentWithMask(doc, withType) {
18
+ if (!doc)
19
+ return doc;
20
+ let formated = '';
21
+ if (doc.length === 14)
22
+ formated = doc
23
+ .replace(/^(\d{2})(\d)/, '$1.$2')
24
+ .replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3')
25
+ .replace(/\.(\d{3})(\d)/, '.$1/$2')
26
+ .replace(/(\d{4})(\d)/, '$1-$2');
27
+ else
28
+ formated = doc
29
+ .replace(/^(\d{3})(\d)/, '$1.$2')
30
+ .replace(/^(\d{3})\.(\d{3})(\d)/, '$1.$2.$3')
31
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
32
+ return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;
33
+ }
34
+ static cutFirstLastName(value, tp = 'first') {
35
+ const split = value?.trim()?.split(' ');
36
+ if (tp === 'first')
37
+ return split[0];
38
+ return split?.splice(1, split.length)?.join(' ');
39
+ }
40
+ static isCPFCNPJValid(document) {
41
+ document = document.replace(/[^\d]/g, '');
42
+ if (document.length === 11) {
43
+ let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
44
+ for (var i = 0, n = 0; i < 9; n += document[i] * base[i++])
45
+ ;
46
+ if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
47
+ return false;
48
+ }
49
+ base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
50
+ for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++])
51
+ ;
52
+ if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
53
+ return false;
54
+ }
55
+ return true;
56
+ }
57
+ else if (document.length === 14 || /0{14}/.test(document)) {
58
+ let base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
59
+ for (var i = 0, n = 0; i < 12; n += document[i] * base[++i])
60
+ ;
61
+ if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {
62
+ return false;
63
+ }
64
+ for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++])
65
+ ;
66
+ if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+ else
72
+ return false;
73
+ }
74
+ static isValidUrl(txt) {
75
+ const regex = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)+[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,5})?(\/.*)?$/gm);
76
+ return regex.test(txt);
77
+ }
78
+ static isValidZipCode(zipCode) {
79
+ return `${this.handleOnlyNumbers(zipCode)}`.length === 8;
80
+ }
81
+ static getRandomString(len, charSet) {
82
+ charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
83
+ let randomString = Array.apply(null, Array(len))
84
+ .map(function () {
85
+ return charSet.charAt(Math.floor(Math.random() * charSet.length));
86
+ })
87
+ .join('');
88
+ return randomString;
89
+ }
90
+ static handleOnlyNumbers(value) {
91
+ if (!value)
92
+ return null;
93
+ return value.replace(new RegExp(/[^0-9]/g), '');
94
+ }
95
+ static handleOnlyAlphaNumeric(value) {
96
+ if (!value)
97
+ return '';
98
+ return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');
99
+ }
100
+ static capitalize(value) {
101
+ return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
102
+ }
103
+ static formatZipCode(zipCode) {
104
+ if (!zipCode)
105
+ return zipCode;
106
+ const formated = zipCode
107
+ .replace(/^(\d{5})(\d)/, '$1-$2')
108
+ .replace(/\.(\d{3})(\d)/, '.$1-$2');
109
+ return `${formated}`;
110
+ }
111
+ static formatFileSize(size) {
112
+ let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
113
+ let l = 0;
114
+ while (size >= 1024 && ++l) {
115
+ size = size / 1024;
116
+ }
117
+ return size.toFixed(size < 10 && l > 0 ? 1 : 0) + ' ' + units[l];
118
+ }
119
+ static sufflue(data) {
120
+ for (let i = data.length - 1; i > 0; i--) {
121
+ const j = Math.floor(Math.random() * i);
122
+ const temp = data[i];
123
+ data[i] = data[j];
124
+ data[j] = temp;
125
+ }
126
+ return data;
127
+ }
128
+ static handleBlobFile(theBlob, fileName, fileType) {
129
+ function blobToFile(theBlob, fileName) {
130
+ const b = theBlob;
131
+ b.lastModifiedDate = new Date();
132
+ b.name = fileName;
133
+ return b;
134
+ }
135
+ let file;
136
+ if (!navigator.msSaveBlob) {
137
+ file = new File([theBlob], fileName, { type: fileType });
138
+ }
139
+ else {
140
+ file = new Blob([theBlob], { type: fileType });
141
+ file = blobToFile(file, fileName);
142
+ }
143
+ return file;
144
+ }
145
+ static truncate(text, maxLength = 25) {
146
+ const midChar = '...';
147
+ if (!text)
148
+ return midChar;
149
+ if (text && text.length <= maxLength)
150
+ return text;
151
+ const left = Math.ceil(maxLength / 2);
152
+ const right = text.length - left + 1;
153
+ return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;
154
+ }
155
+ static isLocalhost() {
156
+ const { href } = window?.location;
157
+ if (!href)
158
+ return false;
159
+ return href?.search('localhost') >= 0;
160
+ }
161
+ static getPhoneRegions() {
162
+ return phoneUtil
163
+ .getSupportedRegions()
164
+ .map((code) => {
165
+ return phoneUtil.getCountryCodeForRegion(code);
166
+ })
167
+ .filter((v, i, a) => a.indexOf(v) === i)
168
+ .sort((a, b) => (a < b ? -1 : 1));
169
+ }
170
+ static getPhoneHandle(internationalNumber = 55) {
171
+ let maxLength = 14;
172
+ let mask = 'XX XXXXX-XXXX';
173
+ try {
174
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
175
+ const exampleNumber = phoneUtil.getExampleNumber(country)['values_']['2'];
176
+ const number = phoneUtil.parse(`${exampleNumber}`, country);
177
+ const formated = phoneUtil.format(number, null);
178
+ if (formated) {
179
+ maxLength = `${formated}`.length;
180
+ mask = `${formated}`.replace(new RegExp(/[^0-9]/g), '0');
181
+ }
182
+ }
183
+ catch (e) {
184
+ //not to do
185
+ }
186
+ return {
187
+ maxLength,
188
+ mask,
189
+ };
190
+ }
191
+ static getPhoneCountryCode(phone) {
192
+ if (!phone)
193
+ return '';
194
+ let cc = `${this.handleOnlyNumbers(phone)}`?.substring(0, 2);
195
+ let code;
196
+ try {
197
+ const number = phoneUtil.parse(phone);
198
+ code = number.getCountryCodeOrDefault();
199
+ }
200
+ catch (e) {
201
+ //not to do
202
+ }
203
+ return code || cc;
204
+ }
205
+ static getPhoneNumberFormated(phone, internationalNumber = 55) {
206
+ if (!phone)
207
+ return '';
208
+ phone = phone.replace(`+${internationalNumber}`, '');
209
+ try {
210
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
211
+ const number = phoneUtil.parse(phone, country);
212
+ if (phoneUtil.isPossibleNumber(number)) {
213
+ return phoneUtil.format(number, null);
214
+ }
215
+ }
216
+ catch (e) {
217
+ //not to do
218
+ }
219
+ return phone;
220
+ }
221
+ static isPhoneNumberValid(phone, internationalNumber = 55) {
222
+ if (!phone)
223
+ return false;
224
+ try {
225
+ const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
226
+ const number = phoneUtil.parse(phone, country);
227
+ return phoneUtil.isValidNumberForRegion(number, country);
228
+ }
229
+ catch (e) {
230
+ //not to do
231
+ }
232
+ return false;
233
+ }
234
+ }
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3V0aWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFaEQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUM3QyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDdkMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ3hDLElBQUksSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPLGdCQUFnQixDQUFDO1FBQzVDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXLEVBQUUsUUFBa0I7UUFDbEUsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUU7WUFDbkIsUUFBUSxHQUFHLEdBQUc7aUJBQ1gsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLENB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TSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzFEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixXQUFXO1NBQ1o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBob25lTnVtYmVyVXRpbCB9IGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XHJcblxyXG5jb25zdCBwaG9uZVV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBwZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cCAhPT0gbnVsbCAmJiB0cCAhPT0gdW5kZWZpbmVkICYmIHRwICE9PSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRUeXBlKGRvYzogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWRvYykgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGRvYy5sZW5ndGggPD0gMTEgPyAnQ1BGJyA6ICdDTlBKJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRNYXNrKHR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHR5cGUgPT09ICdDUEYnKSByZXR1cm4gJzAwMC4wMDAuMDAwLTAwJztcclxuICAgIHJldHVybiAnMDAuMDAwLjAwMC8wMDAwLTAwJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0RG9jdW1lbnRXaXRoTWFzayhkb2M6IHN0cmluZywgd2l0aFR5cGU/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGlmICghZG9jKSByZXR1cm4gZG9jO1xyXG4gICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSAnJztcclxuICAgIGlmIChkb2MubGVuZ3RoID09PSAxNClcclxuICAgICAgZm9ybWF0ZWQgPSBkb2NcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pKFxcZCkvLCAnJDEuJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHsyfSlcXC4oXFxkezN9KShcXGQpLywgJyQxLiQyLiQzJylcclxuICAgICAgICAucmVwbGFjZSgvXFwuKFxcZHszfSkoXFxkKS8sICcuJDEvJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGQpLywgJyQxLSQyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGZvcm1hdGVkID0gZG9jXHJcbiAgICAgICAgLnJlcGxhY2UoL14oXFxkezN9KShcXGQpLywgJyQxLiQyJylcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7M30pXFwuKFxcZHszfSkoXFxkKS8sICckMS4kMi4kMycpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke3dpdGhUeXBlID8gYCR7dGhpcy5nZXREb2N1bWVudFR5cGUoZG9jKX06YCA6ICcnfSAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGN1dEZpcnN0TGFzdE5hbWUodmFsdWU6IHN0cmluZywgdHA6IHN0cmluZyA9ICdmaXJzdCcpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gdmFsdWU/LnRyaW0oKT8uc3BsaXQoJyAnKTtcclxuXHJcbiAgICBpZiAodHAgPT09ICdmaXJzdCcpIHJldHVybiBzcGxpdFswXTtcclxuICAgIHJldHVybiBzcGxpdD8uc3BsaWNlKDEsIHNwbGl0Lmxlbmd0aCk/LmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNDUEZDTlBKVmFsaWQoZG9jdW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgZG9jdW1lbnQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xyXG4gICAgaWYgKGRvY3VtZW50Lmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDEsIDBdO1xyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPCA5OyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzldICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGJhc2UgPSBbMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAwXTtcclxuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDw9IDk7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTBdICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChkb2N1bWVudC5sZW5ndGggPT09IDE0IHx8IC8wezE0fS8udGVzdChkb2N1bWVudCkpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbNiwgNSwgNCwgMywgMiwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl07XHJcbiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gMDsgaSA8IDEyOyBuICs9IGRvY3VtZW50W2ldICogYmFzZVsrK2ldKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzEyXSAhPSAoKG4gJT0gMTEpIDwgMiA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPD0gMTI7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTNdICE9ICgobiAlPSAxMSkgPCAyID8gMCA6IDExIC0gbikpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZFVybCh0eHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxyXG4gICAgICAvXihodHRwOlxcL1xcL3d3d1xcLnxodHRwczpcXC9cXC93d3dcXC58aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvKStbYS16MC05XSsoW1xcLVxcLl17MX1bYS16MC05XSspKlxcLlthLXpdezIsMTB9KDpbMC05XXsxLDV9KT8oXFwvLiopPyQvZ21cclxuICAgICk7XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdCh0eHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkWmlwQ29kZSh6aXBDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHppcENvZGUpfWAubGVuZ3RoID09PSA4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRSYW5kb21TdHJpbmcobGVuOiBudW1iZXIsIGNoYXJTZXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY2hhclNldCA9IGNoYXJTZXQgfHwgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcclxuICAgIGxldCByYW5kb21TdHJpbmc6IHN0cmluZyA9IEFycmF5LmFwcGx5KG51bGwsIEFycmF5KGxlbikpXHJcbiAgICAgIC5tYXAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBjaGFyU2V0LmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyU2V0Lmxlbmd0aCkpO1xyXG4gICAgICB9KVxyXG4gICAgICAuam9pbignJyk7XHJcbiAgICByZXR1cm4gcmFuZG9tU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5TnVtYmVycyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5QWxwaGFOdW1lcmljKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05QS1aYS16XS8sICdnJyksICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt2YWx1ZS5zbGljZSgxKX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRaaXBDb2RlKHppcENvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXppcENvZGUpIHJldHVybiB6aXBDb2RlO1xyXG4gICAgY29uc3QgZm9ybWF0ZWQ6IHN0cmluZyA9IHppcENvZGVcclxuICAgICAgLnJlcGxhY2UoL14oXFxkezV9KShcXGQpLywgJyQxLSQyJylcclxuICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcclxuICAgIGxldCBsID0gMDtcclxuICAgIHdoaWxlIChzaXplID49IDEwMjQgJiYgKytsKSB7XHJcbiAgICAgIHNpemUgPSBzaXplIC8gMTAyNDtcclxuICAgIH1cclxuICAgIHJldHVybiBzaXplLnRvRml4ZWQoc2l6ZSA8IDEwICYmIGwgPiAwID8gMSA6IDApICsgJyAnICsgdW5pdHNbbF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHN1ZmZsdWUoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBmb3IgKGxldCBpID0gZGF0YS5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpKTtcclxuICAgICAgY29uc3QgdGVtcCA9IGRhdGFbaV07XHJcbiAgICAgIGRhdGFbaV0gPSBkYXRhW2pdO1xyXG4gICAgICBkYXRhW2pdID0gdGVtcDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVCbG9iRmlsZSh0aGVCbG9iOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpIHtcclxuICAgIGZ1bmN0aW9uIGJsb2JUb0ZpbGUodGhlQmxvYiwgZmlsZU5hbWUpIHtcclxuICAgICAgY29uc3QgYiA9IHRoZUJsb2I7XHJcbiAgICAgIGIubGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGIubmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgICByZXR1cm4gYjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmlsZTogYW55O1xyXG4gICAgaWYgKCEobmF2aWdhdG9yIGFzIGFueSkubXNTYXZlQmxvYikge1xyXG4gICAgICBmaWxlID0gbmV3IEZpbGUoW3RoZUJsb2JdLCBmaWxlTmFtZSwgeyB0eXBlOiBmaWxlVHlwZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGUgPSBuZXcgQmxvYihbdGhlQmxvYl0sIHsgdHlwZTogZmlsZVR5cGUgfSk7XHJcbiAgICAgIGZpbGUgPSBibG9iVG9GaWxlKGZpbGUsIGZpbGVOYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0cnVuY2F0ZSh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gMjUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWlkQ2hhciA9ICcuLi4nO1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gbWlkQ2hhcjtcclxuICAgIGlmICh0ZXh0ICYmIHRleHQubGVuZ3RoIDw9IG1heExlbmd0aCkgcmV0dXJuIHRleHQ7XHJcblxyXG4gICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChtYXhMZW5ndGggLyAyKTtcclxuICAgIGNvbnN0IHJpZ2h0ID0gdGV4dC5sZW5ndGggLSBsZWZ0ICsgMTtcclxuXHJcbiAgICByZXR1cm4gYCR7dGV4dC5zdWJzdHIoMCwgbGVmdCl9ICR7bWlkQ2hhcn0gJHt0ZXh0LnN1YnN0cmluZyhyaWdodCl9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNMb2NhbGhvc3QoKSB7XHJcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdz8ubG9jYXRpb247XHJcbiAgICBpZiAoIWhyZWYpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBocmVmPy5zZWFyY2goJ2xvY2FsaG9zdCcpID49IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFBob25lUmVnaW9ucygpIHtcclxuICAgIHJldHVybiBwaG9uZVV0aWxcclxuICAgICAgLmdldFN1cHBvcnRlZFJlZ2lvbnMoKVxyXG4gICAgICAubWFwKChjb2RlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICByZXR1cm4gcGhvbmVVdGlsLmdldENvdW50cnlDb2RlRm9yUmVnaW9uKGNvZGUpO1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYSA8IGIgPyAtMSA6IDEpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVIYW5kbGUoaW50ZXJuYXRpb25hbE51bWJlciA9IDU1KSB7XHJcbiAgICBsZXQgbWF4TGVuZ3RoID0gMTQ7XHJcbiAgICBsZXQgbWFzayA9ICdYWCBYWFhYWC1YWFhYJztcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBleGFtcGxlTnVtYmVyID0gcGhvbmVVdGlsLmdldEV4YW1wbGVOdW1iZXIoY291bnRyeSlbJ3ZhbHVlc18nXVsnMiddO1xyXG5cclxuICAgICAgY29uc3QgbnVtYmVyID0gcGhvbmVVdGlsLnBhcnNlKGAke2V4YW1wbGVOdW1iZXJ9YCwgY291bnRyeSk7XHJcbiAgICAgIGNvbnN0IGZvcm1hdGVkID0gcGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIG51bGwpO1xyXG4gICAgICBpZiAoZm9ybWF0ZWQpIHtcclxuICAgICAgICBtYXhMZW5ndGggPSBgJHtmb3JtYXRlZH1gLmxlbmd0aDtcclxuICAgICAgICBtYXNrID0gYCR7Zm9ybWF0ZWR9YC5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJzAnKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbWF4TGVuZ3RoLFxyXG4gICAgICBtYXNrLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVDb3VudHJ5Q29kZShwaG9uZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gJyc7XHJcbiAgICBsZXQgY2MgPSBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHBob25lKX1gPy5zdWJzdHJpbmcoMCwgMik7XHJcbiAgICBsZXQgY29kZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSk7XHJcbiAgICAgIGNvZGUgPSBudW1iZXIuZ2V0Q291bnRyeUNvZGVPckRlZmF1bHQoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBjb2RlIHx8IGNjO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRQaG9uZU51bWJlckZvcm1hdGVkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuICcnO1xyXG4gICAgcGhvbmUgPSBwaG9uZS5yZXBsYWNlKGArJHtpbnRlcm5hdGlvbmFsTnVtYmVyfWAsICcnKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBudW1iZXIgPSBwaG9uZVV0aWwucGFyc2UocGhvbmUsIGNvdW50cnkpO1xyXG4gICAgICBpZiAocGhvbmVVdGlsLmlzUG9zc2libGVOdW1iZXIobnVtYmVyKSkge1xyXG4gICAgICAgIHJldHVybiBwaG9uZVV0aWwuZm9ybWF0KG51bWJlciwgbnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBwaG9uZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNQaG9uZU51bWJlclZhbGlkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY291bnRyeSA9IHBob25lVXRpbC5nZXRSZWdpb25Db2RlRm9yQ291bnRyeUNvZGUoaW50ZXJuYXRpb25hbE51bWJlcik7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSwgY291bnRyeSk7XHJcbiAgICAgIHJldHVybiBwaG9uZVV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihudW1iZXIsIGNvdW50cnkpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -8,15 +8,15 @@ import { CommonModule } from '@angular/common';
8
8
  import * as i0 from "@angular/core";
9
9
  export class MonkeyStyleGuideModule {
10
10
  }
11
- MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, imports: [HttpClientModule, CommonModule] });
13
- MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, providers: [
11
+ MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, imports: [HttpClientModule, CommonModule] });
13
+ MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, providers: [
14
14
  MonkeyStyleGuideService,
15
15
  MonkeyStyleGuideSettingsService,
16
16
  MonkeyStyleGuideThemeSettingsService,
17
17
  MonkeyStyleGuideSnackbarService,
18
18
  ], imports: [[HttpClientModule, CommonModule]] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyStyleGuideModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [HttpClientModule, CommonModule],
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
28
28
  ],
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL21vbmtleS1zdHlsZS1ndWlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixZQVJ2QixnQkFBZ0IsRUFBRSxZQUFZO3FIQVE3QixzQkFBc0IsYUFQdEI7UUFDVCx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQywrQkFBK0I7S0FDaEMsWUFOUSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQzs0RkFROUIsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkFDekMsU0FBUyxFQUFFO3dCQUNULHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9tb25rZXktc3R5bGUtZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MvbW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3NuYWNrYmFyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlTW9kdWxlIHt9XHJcbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL21vbmtleS1zdHlsZS1ndWlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixZQVJ2QixnQkFBZ0IsRUFBRSxZQUFZO29IQVE3QixzQkFBc0IsYUFQdEI7UUFDVCx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQywrQkFBK0I7S0FDaEMsWUFOUSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQzsyRkFROUIsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkFDekMsU0FBUyxFQUFFO3dCQUNULHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9tb25rZXktc3R5bGUtZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MvbW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3NuYWNrYmFyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlTW9kdWxlIHt9XHJcbiJdfQ==