@hitsoft/e-donusum 1.0.8 → 1.0.10

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 (622) hide show
  1. package/_metronic/kt/_utils/DomHelpers.ts +478 -0
  2. package/_metronic/kt/_utils/ElementAnimateUtil.ts +111 -0
  3. package/_metronic/kt/_utils/EventHandlerUtil.ts +144 -0
  4. package/_metronic/kt/_utils/_DOMEventHandlerUtil.ts +60 -0
  5. package/_metronic/kt/_utils/_DataUtil.ts +72 -0
  6. package/_metronic/kt/_utils/_ElementStyleUtil.ts +17 -0
  7. package/_metronic/kt/_utils/_TypesHelpers.ts +54 -0
  8. package/_metronic/kt/_utils/index.ts +12 -0
  9. package/_metronic/kt/_utils/models/OffsetModel.ts +4 -0
  10. package/_metronic/kt/_utils/models/ViewPortModel.ts +4 -0
  11. package/_metronic/kt/components/MenuComponent.ts +1093 -0
  12. package/_metronic/kt/components/_CookieComponent.ts +60 -0
  13. package/_metronic/kt/components/_DrawerComponent.ts +385 -0
  14. package/_metronic/kt/components/_FeedbackComponent.ts +152 -0
  15. package/_metronic/kt/components/_PasswordMeterComponent.ts +273 -0
  16. package/_metronic/kt/components/_ScrollComponent.ts +312 -0
  17. package/_metronic/kt/components/_ScrollTopComponent.ts +148 -0
  18. package/_metronic/kt/components/_StepperComponent.ts +354 -0
  19. package/_metronic/kt/components/_StickyComponent.ts +293 -0
  20. package/_metronic/kt/components/_SwapperComponent.ts +208 -0
  21. package/_metronic/kt/components/_ToggleComponent.ts +218 -0
  22. package/_metronic/kt/components/index.ts +11 -0
  23. package/_metronic/kt/index.ts +3 -0
  24. package/_metronic/kt/kt-helpers.ts +12 -0
  25. package/_metronic/kt/layout/ThemeMode.ts +211 -0
  26. package/_metronic/kt/layout/index.ts +1 -0
  27. package/_metronic/layout/components/content/content.component.html +12 -0
  28. package/_metronic/layout/components/content/content.component.scss +0 -0
  29. package/_metronic/layout/components/content/content.component.ts +35 -0
  30. package/_metronic/layout/components/footer/footer.component.html +32 -0
  31. package/_metronic/layout/components/footer/footer.component.scss +0 -0
  32. package/_metronic/layout/components/footer/footer.component.spec.ts +25 -0
  33. package/_metronic/layout/components/footer/footer.component.ts +13 -0
  34. package/_metronic/layout/components/header/header-menu/header-menu.component.html +546 -0
  35. package/_metronic/layout/components/header/header-menu/header-menu.component.scss +4 -0
  36. package/_metronic/layout/components/header/header-menu/header-menu.component.spec.ts +25 -0
  37. package/_metronic/layout/components/header/header-menu/header-menu.component.ts +53 -0
  38. package/_metronic/layout/components/header/header.component.html +87 -0
  39. package/_metronic/layout/components/header/header.component.scss +0 -0
  40. package/_metronic/layout/components/header/header.component.spec.ts +25 -0
  41. package/_metronic/layout/components/header/header.component.ts +139 -0
  42. package/_metronic/layout/components/header/navbar/navbar.component.html +92 -0
  43. package/_metronic/layout/components/header/navbar/navbar.component.scss +0 -0
  44. package/_metronic/layout/components/header/navbar/navbar.component.spec.ts +23 -0
  45. package/_metronic/layout/components/header/navbar/navbar.component.ts +26 -0
  46. package/_metronic/layout/components/header/page-title/page-title.component.html +57 -0
  47. package/_metronic/layout/components/header/page-title/page-title.component.ts +31 -0
  48. package/_metronic/layout/components/scripts-init/scripts-init.component.html +0 -0
  49. package/_metronic/layout/components/scripts-init/scripts-init.component.ts +82 -0
  50. package/_metronic/layout/components/sidebar/sidebar-footer/sidebar-footer.component.html +9 -0
  51. package/_metronic/layout/components/sidebar/sidebar-footer/sidebar-footer.component.scss +0 -0
  52. package/_metronic/layout/components/sidebar/sidebar-footer/sidebar-footer.component.spec.ts +23 -0
  53. package/_metronic/layout/components/sidebar/sidebar-footer/sidebar-footer.component.ts +15 -0
  54. package/_metronic/layout/components/sidebar/sidebar-logo/sidebar-logo.component.html +26 -0
  55. package/_metronic/layout/components/sidebar/sidebar-logo/sidebar-logo.component.scss +0 -0
  56. package/_metronic/layout/components/sidebar/sidebar-logo/sidebar-logo.component.spec.ts +23 -0
  57. package/_metronic/layout/components/sidebar/sidebar-logo/sidebar-logo.component.ts +36 -0
  58. package/_metronic/layout/components/sidebar/sidebar-menu/sidebar-menu.component.html +397 -0
  59. package/_metronic/layout/components/sidebar/sidebar-menu/sidebar-menu.component.scss +0 -0
  60. package/_metronic/layout/components/sidebar/sidebar-menu/sidebar-menu.component.spec.ts +23 -0
  61. package/_metronic/layout/components/sidebar/sidebar-menu/sidebar-menu.component.ts +15 -0
  62. package/_metronic/layout/components/sidebar/sidebar.component.html +16 -0
  63. package/_metronic/layout/components/sidebar/sidebar.component.scss +0 -0
  64. package/_metronic/layout/components/sidebar/sidebar.component.spec.ts +23 -0
  65. package/_metronic/layout/components/sidebar/sidebar.component.ts +203 -0
  66. package/_metronic/layout/components/toolbar/accounting/accounting.component.html +84 -0
  67. package/_metronic/layout/components/toolbar/accounting/accounting.component.scss +0 -0
  68. package/_metronic/layout/components/toolbar/accounting/accounting.component.spec.ts +23 -0
  69. package/_metronic/layout/components/toolbar/accounting/accounting.component.ts +14 -0
  70. package/_metronic/layout/components/toolbar/classic/classic.component.html +37 -0
  71. package/_metronic/layout/components/toolbar/classic/classic.component.scss +0 -0
  72. package/_metronic/layout/components/toolbar/classic/classic.component.spec.ts +23 -0
  73. package/_metronic/layout/components/toolbar/classic/classic.component.ts +88 -0
  74. package/_metronic/layout/components/toolbar/extended/extended.component.html +100 -0
  75. package/_metronic/layout/components/toolbar/extended/extended.component.scss +0 -0
  76. package/_metronic/layout/components/toolbar/extended/extended.component.spec.ts +23 -0
  77. package/_metronic/layout/components/toolbar/extended/extended.component.ts +12 -0
  78. package/_metronic/layout/components/toolbar/reports/reports.component.html +62 -0
  79. package/_metronic/layout/components/toolbar/reports/reports.component.scss +0 -0
  80. package/_metronic/layout/components/toolbar/reports/reports.component.spec.ts +23 -0
  81. package/_metronic/layout/components/toolbar/reports/reports.component.ts +14 -0
  82. package/_metronic/layout/components/toolbar/saas/saas.component.html +77 -0
  83. package/_metronic/layout/components/toolbar/saas/saas.component.scss +0 -0
  84. package/_metronic/layout/components/toolbar/saas/saas.component.spec.ts +23 -0
  85. package/_metronic/layout/components/toolbar/saas/saas.component.ts +14 -0
  86. package/_metronic/layout/components/toolbar/toolbar.component.html +27 -0
  87. package/_metronic/layout/components/toolbar/toolbar.component.scss +0 -0
  88. package/_metronic/layout/components/toolbar/toolbar.component.spec.ts +25 -0
  89. package/_metronic/layout/components/toolbar/toolbar.component.ts +126 -0
  90. package/_metronic/layout/components/topbar/topbar.component.html +90 -0
  91. package/_metronic/layout/components/topbar/topbar.component.scss +0 -0
  92. package/_metronic/layout/components/topbar/topbar.component.spec.ts +25 -0
  93. package/_metronic/layout/components/topbar/topbar.component.ts +21 -0
  94. package/_metronic/layout/core/configs/config.ts +215 -0
  95. package/_metronic/layout/core/configs/dark-header.config.ts +138 -0
  96. package/_metronic/layout/core/configs/dark-sidebar.config.ts +138 -0
  97. package/_metronic/layout/core/configs/light-header.config.ts +138 -0
  98. package/_metronic/layout/core/configs/light-sidebar.config.ts +138 -0
  99. package/_metronic/layout/core/layout-init.service.ts +133 -0
  100. package/_metronic/layout/core/layout.service.ts +227 -0
  101. package/_metronic/layout/core/page-info.service.ts +151 -0
  102. package/_metronic/layout/index.ts +3 -0
  103. package/_metronic/layout/layout.component.html +70 -0
  104. package/_metronic/layout/layout.component.scss +15 -0
  105. package/_metronic/layout/layout.component.ts +400 -0
  106. package/_metronic/layout/layout.module.ts +93 -0
  107. package/_metronic/partials/content/cards/card1/card1.component.html +80 -0
  108. package/_metronic/partials/content/cards/card1/card1.component.ts +19 -0
  109. package/_metronic/partials/content/cards/card2/card2.component.html +69 -0
  110. package/_metronic/partials/content/cards/card2/card2.component.ts +21 -0
  111. package/_metronic/partials/content/cards/card3/card3.component.html +78 -0
  112. package/_metronic/partials/content/cards/card3/card3.component.ts +18 -0
  113. package/_metronic/partials/content/cards/card4/card4.component.html +9 -0
  114. package/_metronic/partials/content/cards/card4/card4.component.ts +14 -0
  115. package/_metronic/partials/content/cards/card5/card5.component.html +58 -0
  116. package/_metronic/partials/content/cards/card5/card5.component.ts +19 -0
  117. package/_metronic/partials/content/cards/cards.module.ts +39 -0
  118. package/_metronic/partials/content/cards/icon-user.model.ts +6 -0
  119. package/_metronic/partials/content/cards/user-list/user-list.component.html +15 -0
  120. package/_metronic/partials/content/cards/user-list/user-list.component.scss +0 -0
  121. package/_metronic/partials/content/cards/user-list/user-list.component.spec.ts +25 -0
  122. package/_metronic/partials/content/cards/user-list/user-list.component.ts +15 -0
  123. package/_metronic/partials/content/chat-inner/chat-inner.component.html +122 -0
  124. package/_metronic/partials/content/chat-inner/chat-inner.component.ts +74 -0
  125. package/_metronic/partials/content/chat-inner/chat-inner.module.ts +11 -0
  126. package/_metronic/partials/content/chat-inner/dataExample.ts +209 -0
  127. package/_metronic/partials/content/dropdown-menus/dropdown-menu1/dropdown-menu1.component.html +88 -0
  128. package/_metronic/partials/content/dropdown-menus/dropdown-menu1/dropdown-menu1.component.ts +15 -0
  129. package/_metronic/partials/content/dropdown-menus/dropdown-menu2/dropdown-menu2.component.html +53 -0
  130. package/_metronic/partials/content/dropdown-menus/dropdown-menu2/dropdown-menu2.component.ts +15 -0
  131. package/_metronic/partials/content/dropdown-menus/dropdown-menu3/dropdown-menu3.component.html +74 -0
  132. package/_metronic/partials/content/dropdown-menus/dropdown-menu3/dropdown-menu3.component.ts +15 -0
  133. package/_metronic/partials/content/dropdown-menus/dropdown-menus.module.ts +20 -0
  134. package/_metronic/partials/content/widgets/_new/cards/cards-widget17/cards-widget17.component.html +100 -0
  135. package/_metronic/partials/content/widgets/_new/cards/cards-widget17/cards-widget17.component.scss +0 -0
  136. package/_metronic/partials/content/widgets/_new/cards/cards-widget17/cards-widget17.component.spec.ts +23 -0
  137. package/_metronic/partials/content/widgets/_new/cards/cards-widget17/cards-widget17.component.ts +89 -0
  138. package/_metronic/partials/content/widgets/_new/cards/cards-widget18/cards-widget18.component.html +154 -0
  139. package/_metronic/partials/content/widgets/_new/cards/cards-widget18/cards-widget18.component.scss +0 -0
  140. package/_metronic/partials/content/widgets/_new/cards/cards-widget18/cards-widget18.component.spec.ts +23 -0
  141. package/_metronic/partials/content/widgets/_new/cards/cards-widget18/cards-widget18.component.ts +28 -0
  142. package/_metronic/partials/content/widgets/_new/cards/cards-widget20/cards-widget20.component.html +40 -0
  143. package/_metronic/partials/content/widgets/_new/cards/cards-widget20/cards-widget20.component.scss +3 -0
  144. package/_metronic/partials/content/widgets/_new/cards/cards-widget20/cards-widget20.component.spec.ts +23 -0
  145. package/_metronic/partials/content/widgets/_new/cards/cards-widget20/cards-widget20.component.ts +16 -0
  146. package/_metronic/partials/content/widgets/_new/cards/cards-widget7/cards-widget7.component.html +47 -0
  147. package/_metronic/partials/content/widgets/_new/cards/cards-widget7/cards-widget7.component.scss +0 -0
  148. package/_metronic/partials/content/widgets/_new/cards/cards-widget7/cards-widget7.component.spec.ts +23 -0
  149. package/_metronic/partials/content/widgets/_new/cards/cards-widget7/cards-widget7.component.ts +29 -0
  150. package/_metronic/partials/content/widgets/_new/charts/new-charts-widget8/new-charts-widget8.component.html +298 -0
  151. package/_metronic/partials/content/widgets/_new/charts/new-charts-widget8/new-charts-widget8.component.scss +0 -0
  152. package/_metronic/partials/content/widgets/_new/charts/new-charts-widget8/new-charts-widget8.component.spec.ts +23 -0
  153. package/_metronic/partials/content/widgets/_new/charts/new-charts-widget8/new-charts-widget8.component.ts +357 -0
  154. package/_metronic/partials/content/widgets/_new/engage/engage-widget10/engage-widget10.component.html +47 -0
  155. package/_metronic/partials/content/widgets/_new/engage/engage-widget10/engage-widget10.component.scss +0 -0
  156. package/_metronic/partials/content/widgets/_new/engage/engage-widget10/engage-widget10.component.spec.ts +23 -0
  157. package/_metronic/partials/content/widgets/_new/engage/engage-widget10/engage-widget10.component.ts +15 -0
  158. package/_metronic/partials/content/widgets/_new/lists/lists-widget26/lists-widget26.component.html +46 -0
  159. package/_metronic/partials/content/widgets/_new/lists/lists-widget26/lists-widget26.component.scss +0 -0
  160. package/_metronic/partials/content/widgets/_new/lists/lists-widget26/lists-widget26.component.spec.ts +23 -0
  161. package/_metronic/partials/content/widgets/_new/lists/lists-widget26/lists-widget26.component.ts +20 -0
  162. package/_metronic/partials/content/widgets/_new/tables/tables-widget16/tables-widget16.component.html +1 -0
  163. package/_metronic/partials/content/widgets/_new/tables/tables-widget16/tables-widget16.component.scss +0 -0
  164. package/_metronic/partials/content/widgets/_new/tables/tables-widget16/tables-widget16.component.spec.ts +23 -0
  165. package/_metronic/partials/content/widgets/_new/tables/tables-widget16/tables-widget16.component.ts +15 -0
  166. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget1/advance-tables-widget1.component.html +400 -0
  167. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget1/advance-tables-widget1.component.ts +10 -0
  168. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget2/advance-tables-widget2.component.html +357 -0
  169. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget2/advance-tables-widget2.component.ts +17 -0
  170. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget7/advance-tables-widget7.component.html +1267 -0
  171. package/_metronic/partials/content/widgets/advance-tables/advance-tables-widget7/advance-tables-widget7.component.ts +16 -0
  172. package/_metronic/partials/content/widgets/base-tables/base-tables-widget1/base-tables-widget1.component.html +1108 -0
  173. package/_metronic/partials/content/widgets/base-tables/base-tables-widget1/base-tables-widget1.component.ts +25 -0
  174. package/_metronic/partials/content/widgets/base-tables/base-tables-widget2/base-tables-widget2.component.html +675 -0
  175. package/_metronic/partials/content/widgets/base-tables/base-tables-widget2/base-tables-widget2.component.ts +21 -0
  176. package/_metronic/partials/content/widgets/base-tables/base-tables-widget6/base-tables-widget6.component.html +985 -0
  177. package/_metronic/partials/content/widgets/base-tables/base-tables-widget6/base-tables-widget6.component.ts +21 -0
  178. package/_metronic/partials/content/widgets/charts/charts-widget1/charts-widget1.component.html +51 -0
  179. package/_metronic/partials/content/widgets/charts/charts-widget1/charts-widget1.component.ts +128 -0
  180. package/_metronic/partials/content/widgets/charts/charts-widget2/charts-widget2.component.html +62 -0
  181. package/_metronic/partials/content/widgets/charts/charts-widget2/charts-widget2.component.ts +129 -0
  182. package/_metronic/partials/content/widgets/charts/charts-widget3/charts-widget3.component.html +63 -0
  183. package/_metronic/partials/content/widgets/charts/charts-widget3/charts-widget3.component.ts +141 -0
  184. package/_metronic/partials/content/widgets/charts/charts-widget4/charts-widget4.component.html +55 -0
  185. package/_metronic/partials/content/widgets/charts/charts-widget4/charts-widget4.component.ts +146 -0
  186. package/_metronic/partials/content/widgets/charts/charts-widget5/charts-widget5.component.html +36 -0
  187. package/_metronic/partials/content/widgets/charts/charts-widget5/charts-widget5.component.ts +132 -0
  188. package/_metronic/partials/content/widgets/charts/charts-widget6/charts-widget6.component.html +54 -0
  189. package/_metronic/partials/content/widgets/charts/charts-widget6/charts-widget6.component.ts +146 -0
  190. package/_metronic/partials/content/widgets/charts/charts-widget7/charts-widget7.component.html +66 -0
  191. package/_metronic/partials/content/widgets/charts/charts-widget7/charts-widget7.component.ts +167 -0
  192. package/_metronic/partials/content/widgets/charts/charts-widget8/charts-widget8.component.html +66 -0
  193. package/_metronic/partials/content/widgets/charts/charts-widget8/charts-widget8.component.ts +170 -0
  194. package/_metronic/partials/content/widgets/feeds/feeds-widget2/feeds-widget2.component.html +107 -0
  195. package/_metronic/partials/content/widgets/feeds/feeds-widget2/feeds-widget2.component.ts +11 -0
  196. package/_metronic/partials/content/widgets/feeds/feeds-widget3/feeds-widget3.component.html +186 -0
  197. package/_metronic/partials/content/widgets/feeds/feeds-widget3/feeds-widget3.component.ts +11 -0
  198. package/_metronic/partials/content/widgets/feeds/feeds-widget4/feeds-widget4.component.html +106 -0
  199. package/_metronic/partials/content/widgets/feeds/feeds-widget4/feeds-widget4.component.ts +11 -0
  200. package/_metronic/partials/content/widgets/feeds/feeds-widget5/feeds-widget5.component.html +114 -0
  201. package/_metronic/partials/content/widgets/feeds/feeds-widget5/feeds-widget5.component.ts +11 -0
  202. package/_metronic/partials/content/widgets/feeds/feeds-widget6/feeds-widget6.component.html +117 -0
  203. package/_metronic/partials/content/widgets/feeds/feeds-widget6/feeds-widget6.component.ts +11 -0
  204. package/_metronic/partials/content/widgets/lists/lists-widget1/lists-widget1.component.html +123 -0
  205. package/_metronic/partials/content/widgets/lists/lists-widget1/lists-widget1.component.ts +9 -0
  206. package/_metronic/partials/content/widgets/lists/lists-widget2/lists-widget2.component.html +108 -0
  207. package/_metronic/partials/content/widgets/lists/lists-widget2/lists-widget2.component.ts +9 -0
  208. package/_metronic/partials/content/widgets/lists/lists-widget3/lists-widget3.component.html +149 -0
  209. package/_metronic/partials/content/widgets/lists/lists-widget3/lists-widget3.component.ts +9 -0
  210. package/_metronic/partials/content/widgets/lists/lists-widget4/lists-widget4.component.html +192 -0
  211. package/_metronic/partials/content/widgets/lists/lists-widget4/lists-widget4.component.ts +10 -0
  212. package/_metronic/partials/content/widgets/lists/lists-widget5/lists-widget5.component.html +169 -0
  213. package/_metronic/partials/content/widgets/lists/lists-widget5/lists-widget5.component.ts +9 -0
  214. package/_metronic/partials/content/widgets/lists/lists-widget6/lists-widget6.component.html +103 -0
  215. package/_metronic/partials/content/widgets/lists/lists-widget6/lists-widget6.component.ts +9 -0
  216. package/_metronic/partials/content/widgets/lists/lists-widget7/lists-widget7.component.html +130 -0
  217. package/_metronic/partials/content/widgets/lists/lists-widget7/lists-widget7.component.ts +9 -0
  218. package/_metronic/partials/content/widgets/lists/lists-widget8/lists-widget8.component.html +182 -0
  219. package/_metronic/partials/content/widgets/lists/lists-widget8/lists-widget8.component.ts +10 -0
  220. package/_metronic/partials/content/widgets/mixed/mixed-widget1/mixed-widget1.component.html +169 -0
  221. package/_metronic/partials/content/widgets/mixed/mixed-widget1/mixed-widget1.component.ts +10 -0
  222. package/_metronic/partials/content/widgets/mixed/mixed-widget10/mixed-widget10.component.html +39 -0
  223. package/_metronic/partials/content/widgets/mixed/mixed-widget10/mixed-widget10.component.ts +140 -0
  224. package/_metronic/partials/content/widgets/mixed/mixed-widget11/mixed-widget11.component.html +40 -0
  225. package/_metronic/partials/content/widgets/mixed/mixed-widget11/mixed-widget11.component.ts +133 -0
  226. package/_metronic/partials/content/widgets/mixed/mixed-widget2/mixed-widget2.component.html +84 -0
  227. package/_metronic/partials/content/widgets/mixed/mixed-widget2/mixed-widget2.component.ts +157 -0
  228. package/_metronic/partials/content/widgets/mixed/mixed-widget3/mixed-widget3.component.html +92 -0
  229. package/_metronic/partials/content/widgets/mixed/mixed-widget3/mixed-widget3.component.ts +141 -0
  230. package/_metronic/partials/content/widgets/mixed/mixed-widget4/mixed-widget4.component.html +101 -0
  231. package/_metronic/partials/content/widgets/mixed/mixed-widget4/mixed-widget4.component.ts +14 -0
  232. package/_metronic/partials/content/widgets/mixed/mixed-widget5/mixed-widget5.component.html +57 -0
  233. package/_metronic/partials/content/widgets/mixed/mixed-widget5/mixed-widget5.component.ts +14 -0
  234. package/_metronic/partials/content/widgets/mixed/mixed-widget6/mixed-widget6.component.html +118 -0
  235. package/_metronic/partials/content/widgets/mixed/mixed-widget6/mixed-widget6.component.ts +140 -0
  236. package/_metronic/partials/content/widgets/mixed/mixed-widget7/mixed-widget7.component.html +60 -0
  237. package/_metronic/partials/content/widgets/mixed/mixed-widget7/mixed-widget7.component.ts +65 -0
  238. package/_metronic/partials/content/widgets/mixed/mixed-widget8/mixed-widget8.component.html +158 -0
  239. package/_metronic/partials/content/widgets/mixed/mixed-widget8/mixed-widget8.component.ts +164 -0
  240. package/_metronic/partials/content/widgets/mixed/mixed-widget9/mixed-widget9.component.html +147 -0
  241. package/_metronic/partials/content/widgets/mixed/mixed-widget9/mixed-widget9.component.scss +0 -0
  242. package/_metronic/partials/content/widgets/mixed/mixed-widget9/mixed-widget9.component.spec.ts +25 -0
  243. package/_metronic/partials/content/widgets/mixed/mixed-widget9/mixed-widget9.component.ts +140 -0
  244. package/_metronic/partials/content/widgets/stats/stats-widget1/stats-widget1.component.html +12 -0
  245. package/_metronic/partials/content/widgets/stats/stats-widget1/stats-widget1.component.ts +13 -0
  246. package/_metronic/partials/content/widgets/stats/stats-widget2/stats-widget2.component.html +13 -0
  247. package/_metronic/partials/content/widgets/stats/stats-widget2/stats-widget2.component.ts +14 -0
  248. package/_metronic/partials/content/widgets/stats/stats-widget3/stats-widget3.component.html +46 -0
  249. package/_metronic/partials/content/widgets/stats/stats-widget3/stats-widget3.component.ts +160 -0
  250. package/_metronic/partials/content/widgets/stats/stats-widget4/stats-widget4.component.html +44 -0
  251. package/_metronic/partials/content/widgets/stats/stats-widget4/stats-widget4.component.ts +159 -0
  252. package/_metronic/partials/content/widgets/stats/stats-widget5/stats-widget5.component.html +14 -0
  253. package/_metronic/partials/content/widgets/stats/stats-widget5/stats-widget5.component.ts +15 -0
  254. package/_metronic/partials/content/widgets/stats/stats-widget6/stats-widget6.component.html +24 -0
  255. package/_metronic/partials/content/widgets/stats/stats-widget6/stats-widget6.component.ts +14 -0
  256. package/_metronic/partials/content/widgets/tables/tables-widget1/tables-widget1.component.html +273 -0
  257. package/_metronic/partials/content/widgets/tables/tables-widget1/tables-widget1.component.ts +9 -0
  258. package/_metronic/partials/content/widgets/tables/tables-widget10/tables-widget10.component.html +489 -0
  259. package/_metronic/partials/content/widgets/tables/tables-widget10/tables-widget10.component.ts +11 -0
  260. package/_metronic/partials/content/widgets/tables/tables-widget11/tables-widget11.component.html +464 -0
  261. package/_metronic/partials/content/widgets/tables/tables-widget11/tables-widget11.component.ts +11 -0
  262. package/_metronic/partials/content/widgets/tables/tables-widget12/tables-widget12.component.html +550 -0
  263. package/_metronic/partials/content/widgets/tables/tables-widget12/tables-widget12.component.ts +11 -0
  264. package/_metronic/partials/content/widgets/tables/tables-widget13/tables-widget13.component.html +485 -0
  265. package/_metronic/partials/content/widgets/tables/tables-widget13/tables-widget13.component.ts +11 -0
  266. package/_metronic/partials/content/widgets/tables/tables-widget14/tables-widget14.component.html +1 -0
  267. package/_metronic/partials/content/widgets/tables/tables-widget14/tables-widget14.component.scss +0 -0
  268. package/_metronic/partials/content/widgets/tables/tables-widget14/tables-widget14.component.spec.ts +25 -0
  269. package/_metronic/partials/content/widgets/tables/tables-widget14/tables-widget14.component.ts +15 -0
  270. package/_metronic/partials/content/widgets/tables/tables-widget2/tables-widget2.component.html +238 -0
  271. package/_metronic/partials/content/widgets/tables/tables-widget2/tables-widget2.component.ts +9 -0
  272. package/_metronic/partials/content/widgets/tables/tables-widget3/tables-widget3.component.html +150 -0
  273. package/_metronic/partials/content/widgets/tables/tables-widget3/tables-widget3.component.ts +11 -0
  274. package/_metronic/partials/content/widgets/tables/tables-widget4/tables-widget4.component.html +707 -0
  275. package/_metronic/partials/content/widgets/tables/tables-widget4/tables-widget4.component.ts +24 -0
  276. package/_metronic/partials/content/widgets/tables/tables-widget5/tables-widget5.component.html +608 -0
  277. package/_metronic/partials/content/widgets/tables/tables-widget5/tables-widget5.component.ts +26 -0
  278. package/_metronic/partials/content/widgets/tables/tables-widget6/tables-widget6.component.html +632 -0
  279. package/_metronic/partials/content/widgets/tables/tables-widget6/tables-widget6.component.ts +26 -0
  280. package/_metronic/partials/content/widgets/tables/tables-widget7/tables-widget7.component.html +616 -0
  281. package/_metronic/partials/content/widgets/tables/tables-widget7/tables-widget7.component.ts +26 -0
  282. package/_metronic/partials/content/widgets/tables/tables-widget8/tables-widget8.component.html +575 -0
  283. package/_metronic/partials/content/widgets/tables/tables-widget8/tables-widget8.component.ts +26 -0
  284. package/_metronic/partials/content/widgets/tables/tables-widget9/tables-widget9.component.html +489 -0
  285. package/_metronic/partials/content/widgets/tables/tables-widget9/tables-widget9.component.ts +9 -0
  286. package/_metronic/partials/content/widgets/tiles/tiles-widget1/tiles-widget1.component.html +175 -0
  287. package/_metronic/partials/content/widgets/tiles/tiles-widget1/tiles-widget1.component.ts +202 -0
  288. package/_metronic/partials/content/widgets/tiles/tiles-widget10/tiles-widget10.component.html +27 -0
  289. package/_metronic/partials/content/widgets/tiles/tiles-widget10/tiles-widget10.component.ts +12 -0
  290. package/_metronic/partials/content/widgets/tiles/tiles-widget11/tiles-widget11.component.html +28 -0
  291. package/_metronic/partials/content/widgets/tiles/tiles-widget11/tiles-widget11.component.ts +19 -0
  292. package/_metronic/partials/content/widgets/tiles/tiles-widget12/tiles-widget12.component.html +21 -0
  293. package/_metronic/partials/content/widgets/tiles/tiles-widget12/tiles-widget12.component.ts +18 -0
  294. package/_metronic/partials/content/widgets/tiles/tiles-widget13/tiles-widget13.component.html +26 -0
  295. package/_metronic/partials/content/widgets/tiles/tiles-widget13/tiles-widget13.component.ts +12 -0
  296. package/_metronic/partials/content/widgets/tiles/tiles-widget14/tiles-widget14.component.html +24 -0
  297. package/_metronic/partials/content/widgets/tiles/tiles-widget14/tiles-widget14.component.ts +10 -0
  298. package/_metronic/partials/content/widgets/tiles/tiles-widget3/tiles-widget3.component.html +23 -0
  299. package/_metronic/partials/content/widgets/tiles/tiles-widget3/tiles-widget3.component.ts +12 -0
  300. package/_metronic/partials/content/widgets/widgets.module.ts +262 -0
  301. package/_metronic/partials/index.ts +16 -0
  302. package/_metronic/partials/layout/drawers/activity-drawer/activity-drawer.component.html +649 -0
  303. package/_metronic/partials/layout/drawers/activity-drawer/activity-drawer.component.ts +11 -0
  304. package/_metronic/partials/layout/drawers/drawers.module.ts +21 -0
  305. package/_metronic/partials/layout/drawers/messenger-drawer/messenger-drawer.component.html +59 -0
  306. package/_metronic/partials/layout/drawers/messenger-drawer/messenger-drawer.component.ts +11 -0
  307. package/_metronic/partials/layout/engages/engages.component.html +29 -0
  308. package/_metronic/partials/layout/engages/engages.component.scss +0 -0
  309. package/_metronic/partials/layout/engages/engages.component.ts +15 -0
  310. package/_metronic/partials/layout/engages/engages.module.ts +29 -0
  311. package/_metronic/partials/layout/engages/explore-main-drawer/explore-main-drawer.component.html +177 -0
  312. package/_metronic/partials/layout/engages/explore-main-drawer/explore-main-drawer.component.ts +19 -0
  313. package/_metronic/partials/layout/engages/help-drawer/help-drawer.component.html +156 -0
  314. package/_metronic/partials/layout/engages/help-drawer/help-drawer.component.ts +17 -0
  315. package/_metronic/partials/layout/engages/purchase-toolbar/purchase-toolbar.component.html +8 -0
  316. package/_metronic/partials/layout/engages/purchase-toolbar/purchase-toolbar.component.ts +16 -0
  317. package/_metronic/partials/layout/extras/dropdown-inner/notifications-inner/notifications-inner.component.html +176 -0
  318. package/_metronic/partials/layout/extras/dropdown-inner/notifications-inner/notifications-inner.component.ts +155 -0
  319. package/_metronic/partials/layout/extras/dropdown-inner/quick-links-inner/quick-links-inner.component.html +77 -0
  320. package/_metronic/partials/layout/extras/dropdown-inner/quick-links-inner/quick-links-inner.component.ts +13 -0
  321. package/_metronic/partials/layout/extras/dropdown-inner/search-result-inner/search-result-inner.component.html +120 -0
  322. package/_metronic/partials/layout/extras/dropdown-inner/search-result-inner/search-result-inner.component.ts +104 -0
  323. package/_metronic/partials/layout/extras/dropdown-inner/user-inner/user-inner.component.html +161 -0
  324. package/_metronic/partials/layout/extras/dropdown-inner/user-inner/user-inner.component.ts +95 -0
  325. package/_metronic/partials/layout/extras/extras.module.ts +41 -0
  326. package/_metronic/partials/layout/extras/scroll-top/scroll-top.component.html +1 -0
  327. package/_metronic/partials/layout/extras/scroll-top/scroll-top.component.ts +75 -0
  328. package/_metronic/partials/layout/modals/invite-users-modal/invite-users-modal.component.html +0 -0
  329. package/_metronic/partials/layout/modals/invite-users-modal/invite-users-modal.component.ts +9 -0
  330. package/_metronic/partials/layout/modals/main-modal/main-modal.component.html +0 -0
  331. package/_metronic/partials/layout/modals/main-modal/main-modal.component.ts +9 -0
  332. package/_metronic/partials/layout/modals/modal/modal.component.html +31 -0
  333. package/_metronic/partials/layout/modals/modal/modal.component.ts +50 -0
  334. package/_metronic/partials/layout/modals/modal.config.ts +13 -0
  335. package/_metronic/partials/layout/modals/modals.module.ts +34 -0
  336. package/_metronic/partials/layout/modals/upgrade-plan-modal/upgrade-plan-modal.component.html +0 -0
  337. package/_metronic/partials/layout/modals/upgrade-plan-modal/upgrade-plan-modal.component.ts +9 -0
  338. package/_metronic/partials/layout/splash-screen/splash-screen.component.html +14 -0
  339. package/_metronic/partials/layout/splash-screen/splash-screen.component.scss +57 -0
  340. package/_metronic/partials/layout/splash-screen/splash-screen.component.ts +17 -0
  341. package/_metronic/partials/layout/splash-screen/splash-screen.module.ts +10 -0
  342. package/_metronic/partials/layout/splash-screen/splash-screen.service.ts +51 -0
  343. package/_metronic/partials/layout/theme-mode-switcher/theme-mode-switcher.component.html +56 -0
  344. package/_metronic/partials/layout/theme-mode-switcher/theme-mode-switcher.component.ts +27 -0
  345. package/_metronic/partials/layout/theme-mode-switcher/theme-mode.module.ts +16 -0
  346. package/_metronic/partials/layout/theme-mode-switcher/theme-mode.service.ts +87 -0
  347. package/_metronic/shared/keenicon/icons.json +1 -0
  348. package/_metronic/shared/keenicon/keenicon.component.html +4 -0
  349. package/_metronic/shared/keenicon/keenicon.component.scss +0 -0
  350. package/_metronic/shared/keenicon/keenicon.component.spec.ts +23 -0
  351. package/_metronic/shared/keenicon/keenicon.component.ts +30 -0
  352. package/_metronic/shared/shared.module.ts +17 -0
  353. package/assets/css/style.js +49 -0
  354. package/assets/css/style.rtl.css +49904 -0
  355. package/assets/plugins/keenicons/duotone/Read Me.txt +7 -0
  356. package/assets/plugins/keenicons/duotone/demo-files/demo.css +152 -0
  357. package/assets/plugins/keenicons/duotone/demo-files/demo.js +30 -0
  358. package/assets/plugins/keenicons/duotone/demo.html +8060 -0
  359. package/assets/plugins/keenicons/duotone/fonts/keenicons-duotone.eot +0 -0
  360. package/assets/plugins/keenicons/duotone/fonts/keenicons-duotone.svg +1720 -0
  361. package/assets/plugins/keenicons/duotone/fonts/keenicons-duotone.ttf +0 -0
  362. package/assets/plugins/keenicons/duotone/fonts/keenicons-duotone.woff +0 -0
  363. package/assets/plugins/keenicons/duotone/selection.json +1 -0
  364. package/assets/plugins/keenicons/duotone/style.css +8665 -0
  365. package/assets/plugins/keenicons/outline/Read Me.txt +7 -0
  366. package/assets/plugins/keenicons/outline/demo-files/demo.css +152 -0
  367. package/assets/plugins/keenicons/outline/demo-files/demo.js +30 -0
  368. package/assets/plugins/keenicons/outline/demo.html +8060 -0
  369. package/assets/plugins/keenicons/outline/fonts/keenicons-outline.eot +0 -0
  370. package/assets/plugins/keenicons/outline/fonts/keenicons-outline.svg +583 -0
  371. package/assets/plugins/keenicons/outline/fonts/keenicons-outline.ttf +0 -0
  372. package/assets/plugins/keenicons/outline/fonts/keenicons-outline.woff +0 -0
  373. package/assets/plugins/keenicons/outline/selection.json +1 -0
  374. package/assets/plugins/keenicons/outline/style.css +1746 -0
  375. package/assets/plugins/keenicons/solid/Read Me.txt +7 -0
  376. package/assets/plugins/keenicons/solid/demo-files/demo.css +152 -0
  377. package/assets/plugins/keenicons/solid/demo-files/demo.js +30 -0
  378. package/assets/plugins/keenicons/solid/demo.html +8060 -0
  379. package/assets/plugins/keenicons/solid/fonts/keenicons-solid.eot +0 -0
  380. package/assets/plugins/keenicons/solid/fonts/keenicons-solid.svg +583 -0
  381. package/assets/plugins/keenicons/solid/fonts/keenicons-solid.ttf +0 -0
  382. package/assets/plugins/keenicons/solid/fonts/keenicons-solid.woff +0 -0
  383. package/assets/plugins/keenicons/solid/selection.json +1 -0
  384. package/assets/plugins/keenicons/solid/style.css +1746 -0
  385. package/assets/sass/_init.scss +32 -0
  386. package/assets/sass/components/_btn-secondary.scss +36 -0
  387. package/assets/sass/components/_landing.scss +136 -0
  388. package/assets/sass/components/_variables.custom.scss +6 -0
  389. package/assets/sass/components/_variables.override.scss +15 -0
  390. package/assets/sass/components/components.scss +8 -0
  391. package/assets/sass/components/stepper/_multistep.scss +42 -0
  392. package/assets/sass/core/base/_functions.scss +10 -0
  393. package/assets/sass/core/base/_mixins.scss +11 -0
  394. package/assets/sass/core/base/functions/_get.scss +82 -0
  395. package/assets/sass/core/base/functions/_math.scss +15 -0
  396. package/assets/sass/core/base/functions/_set.scss +43 -0
  397. package/assets/sass/core/base/functions/_theme-colors.scss +15 -0
  398. package/assets/sass/core/base/functions/_valueif.scss +13 -0
  399. package/assets/sass/core/base/mixins/_breakpoints.scss +25 -0
  400. package/assets/sass/core/base/mixins/_browsers.scss +23 -0
  401. package/assets/sass/core/base/mixins/_fixes.scss +15 -0
  402. package/assets/sass/core/base/mixins/_placeholder.scss +16 -0
  403. package/assets/sass/core/base/mixins/_property.scss +9 -0
  404. package/assets/sass/core/base/mixins/_reset.scss +23 -0
  405. package/assets/sass/core/components/_accordion.scss +107 -0
  406. package/assets/sass/core/components/_alert.scss +15 -0
  407. package/assets/sass/core/components/_anchor.scss +37 -0
  408. package/assets/sass/core/components/_animation.scss +81 -0
  409. package/assets/sass/core/components/_badge.scss +75 -0
  410. package/assets/sass/core/components/_blockui.scss +53 -0
  411. package/assets/sass/core/components/_breadcrumb.scss +69 -0
  412. package/assets/sass/core/components/_bullet.scss +33 -0
  413. package/assets/sass/core/components/_buttons.scss +7 -0
  414. package/assets/sass/core/components/_card.scss +317 -0
  415. package/assets/sass/core/components/_carousel.scss +130 -0
  416. package/assets/sass/core/components/_code.scss +24 -0
  417. package/assets/sass/core/components/_cookiealert.scss +8 -0
  418. package/assets/sass/core/components/_drawer.scss +78 -0
  419. package/assets/sass/core/components/_dropdown.scss +12 -0
  420. package/assets/sass/core/components/_engage.scss +118 -0
  421. package/assets/sass/core/components/_explore.scss +104 -0
  422. package/assets/sass/core/components/_fixed.scss +18 -0
  423. package/assets/sass/core/components/_forms.scss +13 -0
  424. package/assets/sass/core/components/_helpers.scss +12 -0
  425. package/assets/sass/core/components/_hover.scss +53 -0
  426. package/assets/sass/core/components/_image-input.scss +111 -0
  427. package/assets/sass/core/components/_indicator.scss +17 -0
  428. package/assets/sass/core/components/_menu.scss +7 -0
  429. package/assets/sass/core/components/_mixins.scss +13 -0
  430. package/assets/sass/core/components/_modal.scss +7 -0
  431. package/assets/sass/core/components/_nav-line-tabs.scss +68 -0
  432. package/assets/sass/core/components/_nav-pills-custom.scss +91 -0
  433. package/assets/sass/core/components/_nav.scss +71 -0
  434. package/assets/sass/core/components/_offcanvas.scss +6 -0
  435. package/assets/sass/core/components/_overlay.scss +35 -0
  436. package/assets/sass/core/components/_page-loader.scss +28 -0
  437. package/assets/sass/core/components/_pagination.scss +176 -0
  438. package/assets/sass/core/components/_popover.scss +58 -0
  439. package/assets/sass/core/components/_print.scss +34 -0
  440. package/assets/sass/core/components/_progress.scss +27 -0
  441. package/assets/sass/core/components/_pulse.scss +39 -0
  442. package/assets/sass/core/components/_rating.scss +62 -0
  443. package/assets/sass/core/components/_reboot.scss +7 -0
  444. package/assets/sass/core/components/_ribbon.scss +195 -0
  445. package/assets/sass/core/components/_root.scss +332 -0
  446. package/assets/sass/core/components/_rotate.scss +47 -0
  447. package/assets/sass/core/components/_scroll.scss +119 -0
  448. package/assets/sass/core/components/_scrolltop.scss +69 -0
  449. package/assets/sass/core/components/_separator.scss +66 -0
  450. package/assets/sass/core/components/_shape.scss +13 -0
  451. package/assets/sass/core/components/_stepper.scss +8 -0
  452. package/assets/sass/core/components/_svg-icon.scss +30 -0
  453. package/assets/sass/core/components/_symbol.scss +133 -0
  454. package/assets/sass/core/components/_tables.scss +248 -0
  455. package/assets/sass/core/components/_testimonials-slider.scss +65 -0
  456. package/assets/sass/core/components/_theme-mode.scss +38 -0
  457. package/assets/sass/core/components/_timeline-label.scss +59 -0
  458. package/assets/sass/core/components/_timeline.scss +96 -0
  459. package/assets/sass/core/components/_toasts.scss +17 -0
  460. package/assets/sass/core/components/_toggle.scss +19 -0
  461. package/assets/sass/core/components/_tooltip.scss +32 -0
  462. package/assets/sass/core/components/_tree.scss +92 -0
  463. package/assets/sass/core/components/_type.scss +9 -0
  464. package/assets/sass/core/components/_utilities.scss +134 -0
  465. package/assets/sass/core/components/_variables-dark.scss +333 -0
  466. package/assets/sass/core/components/_variables.scss +1274 -0
  467. package/assets/sass/core/components/buttons/_base.scss +129 -0
  468. package/assets/sass/core/components/buttons/_theme.scss +277 -0
  469. package/assets/sass/core/components/buttons_new/_base.scss +74 -0
  470. package/assets/sass/core/components/buttons_new/_theme.scss +21 -0
  471. package/assets/sass/core/components/components.scss +68 -0
  472. package/assets/sass/core/components/forms/_floating-labels.scss +20 -0
  473. package/assets/sass/core/components/forms/_form-check.scss +193 -0
  474. package/assets/sass/core/components/forms/_form-control.scss +70 -0
  475. package/assets/sass/core/components/forms/_form-select.scss +68 -0
  476. package/assets/sass/core/components/forms/_input-group.scss +36 -0
  477. package/assets/sass/core/components/forms/_labels.scss +8 -0
  478. package/assets/sass/core/components/forms/_required.scss +14 -0
  479. package/assets/sass/core/components/helpers/_background.scss +248 -0
  480. package/assets/sass/core/components/helpers/_borders.scss +114 -0
  481. package/assets/sass/core/components/helpers/_flex.scss +57 -0
  482. package/assets/sass/core/components/helpers/_opacity.scss +18 -0
  483. package/assets/sass/core/components/helpers/_shadow.scss +19 -0
  484. package/assets/sass/core/components/helpers/_text.scss +146 -0
  485. package/assets/sass/core/components/helpers/_transform.scss +8 -0
  486. package/assets/sass/core/components/menu/_base.scss +316 -0
  487. package/assets/sass/core/components/menu/_theme.scss +519 -0
  488. package/assets/sass/core/components/mixins/_buttons.scss +84 -0
  489. package/assets/sass/core/components/mixins/_ki.scss +18 -0
  490. package/assets/sass/core/components/mixins/_menu.scss +301 -0
  491. package/assets/sass/core/components/mixins/_scroll.scss +34 -0
  492. package/assets/sass/core/components/mixins/_shape.scss +29 -0
  493. package/assets/sass/core/components/mixins/_svg-bg-icon.scss +68 -0
  494. package/assets/sass/core/components/mixins/_svg-icon.scss +11 -0
  495. package/assets/sass/core/components/mixins/_symbol.scss +42 -0
  496. package/assets/sass/core/components/stepper/_base.scss +111 -0
  497. package/assets/sass/core/components/stepper/_links.scss +61 -0
  498. package/assets/sass/core/components/stepper/_pills.scss +205 -0
  499. package/assets/sass/core/components/stepper/_variables.scss +3 -0
  500. package/assets/sass/core/layout/_base.scss +50 -0
  501. package/assets/sass/core/layout/base/_container.scss +30 -0
  502. package/assets/sass/core/layout/base/_content.scss +24 -0
  503. package/assets/sass/core/layout/base/_footer.scss +99 -0
  504. package/assets/sass/core/layout/base/_hero.scss +13 -0
  505. package/assets/sass/core/layout/base/_layout-builder.scss +19 -0
  506. package/assets/sass/core/layout/base/_layout.scss +29 -0
  507. package/assets/sass/core/layout/base/_main.scss +75 -0
  508. package/assets/sass/core/layout/base/_navbar.scss +19 -0
  509. package/assets/sass/core/layout/base/_page-loader.scss +31 -0
  510. package/assets/sass/core/layout/base/_page.scss +7 -0
  511. package/assets/sass/core/layout/base/_print.scss +34 -0
  512. package/assets/sass/core/layout/base/_reboot.scss +65 -0
  513. package/assets/sass/core/layout/base/_root.scss +368 -0
  514. package/assets/sass/core/layout/base/_toolbar.scss +171 -0
  515. package/assets/sass/core/layout/base/_variables.scss +615 -0
  516. package/assets/sass/core/layout/base/_wrapper.scss +100 -0
  517. package/assets/sass/core/layout/base/aside/_aside.scss +275 -0
  518. package/assets/sass/core/layout/base/header/_header-primary.scss +135 -0
  519. package/assets/sass/core/layout/base/header/_header-secondary.scss +139 -0
  520. package/assets/sass/core/layout/base/header/_header-tertiary.scss +138 -0
  521. package/assets/sass/core/layout/base/header/_header.scss +239 -0
  522. package/assets/sass/core/layout/base/mixins/_layout-minimize.scss +41 -0
  523. package/assets/sass/core/layout/base/mixins/_layout-transition.scss +7 -0
  524. package/assets/sass/core/layout/base/sidebar/_sidebar-panel.scss +281 -0
  525. package/assets/sass/core/layout/base/sidebar/_sidebar-primary.scss +230 -0
  526. package/assets/sass/core/layout/base/sidebar/_sidebar-secondary.scss +274 -0
  527. package/assets/sass/core/layout/base/sidebar/_sidebar.scss +284 -0
  528. package/assets/sass/core/vendors/plugins/_apexcharts.scss +129 -0
  529. package/assets/sass/core/vendors/plugins/_bootstrap-maxlength.scss +16 -0
  530. package/assets/sass/core/vendors/plugins/_ckeditor.scss +54 -0
  531. package/assets/sass/core/vendors/plugins/_datatables.scss +272 -0
  532. package/assets/sass/core/vendors/plugins/_daterangepicker.scss +272 -0
  533. package/assets/sass/core/vendors/plugins/_draggable.scss +28 -0
  534. package/assets/sass/core/vendors/plugins/_dropzone.scss +188 -0
  535. package/assets/sass/core/vendors/plugins/_flatpickr.scss +407 -0
  536. package/assets/sass/core/vendors/plugins/_formvalidation.scss +20 -0
  537. package/assets/sass/core/vendors/plugins/_fslightbox.scss +11 -0
  538. package/assets/sass/core/vendors/plugins/_fullcalendar.scss +297 -0
  539. package/assets/sass/core/vendors/plugins/_gmaps.scss +18 -0
  540. package/assets/sass/core/vendors/plugins/_jkanban.scss +94 -0
  541. package/assets/sass/core/vendors/plugins/_jstree.scss +150 -0
  542. package/assets/sass/core/vendors/plugins/_keenicons.scss +12 -0
  543. package/assets/sass/core/vendors/plugins/_leaflet.scss +23 -0
  544. package/assets/sass/core/vendors/plugins/_mixins.scss +5 -0
  545. package/assets/sass/core/vendors/plugins/_nouislider.scss +103 -0
  546. package/assets/sass/core/vendors/plugins/_plugins.angular.scss +12 -0
  547. package/assets/sass/core/vendors/plugins/_plugins.react.scss +12 -0
  548. package/assets/sass/core/vendors/plugins/_plugins.scss +34 -0
  549. package/assets/sass/core/vendors/plugins/_plugins.vue.scss +12 -0
  550. package/assets/sass/core/vendors/plugins/_prismjs.scss +84 -0
  551. package/assets/sass/core/vendors/plugins/_quill.scss +196 -0
  552. package/assets/sass/core/vendors/plugins/_recaptcha.scss +32 -0
  553. package/assets/sass/core/vendors/plugins/_root.scss +36 -0
  554. package/assets/sass/core/vendors/plugins/_select2.scss +418 -0
  555. package/assets/sass/core/vendors/plugins/_sweetalert2.scss +112 -0
  556. package/assets/sass/core/vendors/plugins/_tagify.scss +222 -0
  557. package/assets/sass/core/vendors/plugins/_tempus-dominus.scss +163 -0
  558. package/assets/sass/core/vendors/plugins/_tiny-slider.scss +141 -0
  559. package/assets/sass/core/vendors/plugins/_tinymce.scss +13 -0
  560. package/assets/sass/core/vendors/plugins/_toastr.scss +87 -0
  561. package/assets/sass/core/vendors/plugins/_variables-dark.scss +18 -0
  562. package/assets/sass/core/vendors/plugins/_variables.scss +27 -0
  563. package/assets/sass/core/vendors/plugins/_vis-timeline.scss +131 -0
  564. package/assets/sass/core/vendors/plugins/mixins/_nouislider.scss +13 -0
  565. package/assets/sass/layout/_aside.scss +22 -0
  566. package/assets/sass/layout/_content.scss +22 -0
  567. package/assets/sass/layout/_layout.scss +17 -0
  568. package/assets/sass/layout/_main.scss +21 -0
  569. package/assets/sass/layout/_page-title.scss +14 -0
  570. package/assets/sass/layout/_root.scss +49 -0
  571. package/assets/sass/layout/_toolbar.scss +42 -0
  572. package/assets/sass/layout/_variables.custom.scss +132 -0
  573. package/assets/sass/layout/header/_header-dark.scss +77 -0
  574. package/assets/sass/layout/header/_header-sidebar-light.scss +55 -0
  575. package/assets/sass/layout/header/_header.scss +170 -0
  576. package/assets/sass/layout/sidebar/_sidebar-dark.scss +105 -0
  577. package/assets/sass/layout/sidebar/_sidebar-light.scss +105 -0
  578. package/assets/sass/layout/sidebar/_sidebar-minimize.scss +64 -0
  579. package/assets/sass/layout/sidebar/_sidebar.scss +60 -0
  580. package/assets/sass/plugins.scss +13 -0
  581. package/assets/sass/style.angular.scss +9 -0
  582. package/assets/sass/style.scss +14 -0
  583. package/assets/splash-screen.css +49 -0
  584. package/esm2020/lib/components/hit-invoices/hit-invoice.component.mjs +6 -4
  585. package/esm2020/lib/components/hit-invoices/hit-invoice.module.mjs +7 -4
  586. package/esm2020/lib/components/hit-xslt-rules/hit-xslt-rule.component.mjs +2 -2
  587. package/esm2020/lib/despatches/despatch/components/despatch.component.mjs +4 -4
  588. package/esm2020/lib/despatches/despatch/despatch.module.mjs +1 -1
  589. package/esm2020/lib/e-donusum.module.mjs +4 -2
  590. package/esm2020/lib/invoices/invoice/components/invoice.component.mjs +4 -4
  591. package/esm2020/lib/invoices/invoice/invoice.module.mjs +1 -1
  592. package/esm2020/lib/note-rules/note-rule/note-rule.module.mjs +1 -1
  593. package/esm2020/lib/proxy/despatches/despatch.service.mjs +2 -2
  594. package/esm2020/lib/proxy/despatches/models.mjs +1 -1
  595. package/esm2020/lib/proxy/invoices/invoice.service.mjs +2 -2
  596. package/esm2020/lib/proxy/invoices/models.mjs +1 -1
  597. package/esm2020/lib/proxy/note-rule-doc-types/index.mjs +1 -1
  598. package/esm2020/lib/proxy/note-rule-scenarios/index.mjs +1 -1
  599. package/esm2020/lib/proxy/note-rules/index.mjs +1 -1
  600. package/esm2020/lib/proxy/params-companies/index.mjs +1 -1
  601. package/esm2020/lib/proxy/params-generals/index.mjs +1 -1
  602. package/esm2020/lib/proxy/params-integrators/index.mjs +1 -1
  603. package/esm2020/lib/proxy/paramse-dispatches/index.mjs +1 -1
  604. package/esm2020/lib/proxy/paramse-invoices/index.mjs +1 -1
  605. package/esm2020/lib/proxy/xslt-formats/index.mjs +1 -1
  606. package/esm2020/lib/proxy/xslt-rule-doc-types/index.mjs +1 -1
  607. package/esm2020/lib/proxy/xslt-rule-scenarios/index.mjs +1 -1
  608. package/esm2020/lib/proxy/xslt-rules/index.mjs +1 -1
  609. package/esm2020/lib/styles.mjs +49 -0
  610. package/esm2020/lib/xslt-rules/xslt-rule/xslt-rule.module.mjs +1 -1
  611. package/esm2020/public-api.mjs +5 -1
  612. package/fesm2015/hitsoft-e-donusum.mjs +76 -18
  613. package/fesm2015/hitsoft-e-donusum.mjs.map +1 -1
  614. package/fesm2020/hitsoft-e-donusum.mjs +76 -18
  615. package/fesm2020/hitsoft-e-donusum.mjs.map +1 -1
  616. package/lib/components/hit-invoices/hit-invoice.module.d.ts +1 -1
  617. package/lib/proxy/despatches/models.d.ts +5 -4
  618. package/lib/proxy/invoices/models.d.ts +5 -4
  619. package/lib/styles.d.ts +27 -0
  620. package/package.json +3 -3
  621. package/public-api.d.ts +1 -0
  622. package/src/lib/compatibility/styles-import.scss +30 -0
@@ -5,7 +5,7 @@ import { NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, } from '@ng-
5
5
  import { NgxValidateCoreModule } from '@ngx-validate/core';
6
6
  import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
7
7
  import { PageModule } from '@abp/ng.components/page';
8
- import { DxDataGridModule, DxHtmlEditorModule, DxLookupModule, DxSelectBoxModule, DxTabPanelModule, DxTextAreaModule, DxTextBoxModule } from 'devextreme-angular';
8
+ import { DxDataGridModule, DxHtmlEditorModule, DxLookupModule, DxNumberBoxModule, DxSelectBoxModule, DxTabPanelModule, DxTextAreaModule, DxTextBoxModule } from 'devextreme-angular';
9
9
  import { HitInvoiceComponent } from './hit-invoice.component';
10
10
  import { SanitizeHtmlPipe } from './sanitize-html.pipe';
11
11
  import * as i0 from "@angular/core";
@@ -26,7 +26,8 @@ HitInvoiceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
26
26
  DxSelectBoxModule,
27
27
  DxLookupModule,
28
28
  DxTabPanelModule,
29
- PageModule] });
29
+ PageModule,
30
+ DxNumberBoxModule] });
30
31
  HitInvoiceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitInvoiceModule, imports: [CoreModule,
31
32
  ThemeSharedModule,
32
33
  CommercialUiModule,
@@ -41,7 +42,8 @@ HitInvoiceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
41
42
  DxSelectBoxModule,
42
43
  DxLookupModule,
43
44
  DxTabPanelModule,
44
- PageModule] });
45
+ PageModule,
46
+ DxNumberBoxModule] });
45
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitInvoiceModule, decorators: [{
46
48
  type: NgModule,
47
49
  args: [{
@@ -62,10 +64,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
62
64
  DxLookupModule,
63
65
  DxTabPanelModule,
64
66
  PageModule,
67
+ DxNumberBoxModule
65
68
  ],
66
69
  }]
67
70
  }] });
68
71
  export function loadHitInvoiceModuleAsChild() {
69
72
  return Promise.resolve(HitInvoiceModule);
70
73
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWludm9pY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvY29tcG9uZW50cy9oaXQtaW52b2ljZXMvaGl0LWludm9pY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsSyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUF3QnhELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFwQlosbUJBQW1CLEVBQUUsZ0JBQWdCLGFBRWxELFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsVUFBVTs4R0FJRCxnQkFBZ0IsWUFsQnpCLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsVUFBVTsyRkFJRCxnQkFBZ0I7a0JBckI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUNyRCxPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFVBQVU7cUJBRVg7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIE5nYkNvbGxhcHNlTW9kdWxlLFxyXG4gIE5nYkRhdGVwaWNrZXJNb2R1bGUsXHJcbiAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbn0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tZXJjaWFsVWlNb2R1bGUgfSBmcm9tICdAdm9sby9hYnAuY29tbWVyY2lhbC5uZy51aSc7XHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRNb2R1bGUsIER4SHRtbEVkaXRvck1vZHVsZSwgRHhMb29rdXBNb2R1bGUsIER4U2VsZWN0Qm94TW9kdWxlLCBEeFRhYlBhbmVsTW9kdWxlLCBEeFRleHRBcmVhTW9kdWxlLCBEeFRleHRCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgZHhUZXh0Qm94IGZyb20gJ2RldmV4dHJlbWUvdWkvdGV4dF9ib3gnO1xyXG5pbXBvcnQgeyBIaXRJbnZvaWNlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXQtaW52b2ljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi9zYW5pdGl6ZS1odG1sLnBpcGUnO1xyXG5pbXBvcnQgeyBIdG1sUGFyc2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtIaXRJbnZvaWNlQ29tcG9uZW50LCBTYW5pdGl6ZUh0bWxQaXBlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcclxuICAgIE5nYkRhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIER4RGF0YUdyaWRNb2R1bGUsXHJcbiAgICBEeFRleHRBcmVhTW9kdWxlLFxyXG4gICAgRHhUZXh0Qm94TW9kdWxlLFxyXG4gICAgRHhIdG1sRWRpdG9yTW9kdWxlLFxyXG4gICAgRHhTZWxlY3RCb3hNb2R1bGUsXHJcbiAgICBEeExvb2t1cE1vZHVsZSxcclxuICAgIER4VGFiUGFuZWxNb2R1bGUsXHJcbiAgICBQYWdlTW9kdWxlLFxyXG4gICAgXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdEludm9pY2VNb2R1bGUge31cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkSGl0SW52b2ljZU1vZHVsZUFzQ2hpbGQoKSB7XHJcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShIaXRJbnZvaWNlTW9kdWxlKTtcclxufVxyXG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWludm9pY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvY29tcG9uZW50cy9oaXQtaW52b2ljZXMvaGl0LWludm9pY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyTCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUF3QnhELE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFwQlosbUJBQW1CLEVBQUUsZ0JBQWdCLGFBRWxELFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLGlCQUFpQjs4R0FHUixnQkFBZ0IsWUFsQnpCLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLGlCQUFpQjsyRkFHUixnQkFBZ0I7a0JBckI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUNyRCxPQUFPLEVBQUU7d0JBQ1AsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFVBQVU7d0JBQ1YsaUJBQWlCO3FCQUNsQjtpQkFDRjs7QUFHRCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgTmdiQ29sbGFwc2VNb2R1bGUsXHJcbiAgTmdiRGF0ZXBpY2tlck1vZHVsZSxcclxuICBOZ2JEcm9wZG93bk1vZHVsZSxcclxufSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbW1lcmNpYWxVaU1vZHVsZSB9IGZyb20gJ0B2b2xvL2FicC5jb21tZXJjaWFsLm5nLnVpJztcclxuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgRHhEYXRhR3JpZE1vZHVsZSwgRHhIdG1sRWRpdG9yTW9kdWxlLCBEeExvb2t1cE1vZHVsZSwgRHhOdW1iZXJCb3hNb2R1bGUsIER4U2VsZWN0Qm94TW9kdWxlLCBEeFRhYlBhbmVsTW9kdWxlLCBEeFRleHRBcmVhTW9kdWxlLCBEeFRleHRCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgZHhUZXh0Qm94IGZyb20gJ2RldmV4dHJlbWUvdWkvdGV4dF9ib3gnO1xyXG5pbXBvcnQgeyBIaXRJbnZvaWNlQ29tcG9uZW50IH0gZnJvbSAnLi9oaXQtaW52b2ljZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi9zYW5pdGl6ZS1odG1sLnBpcGUnO1xyXG5pbXBvcnQgeyBIdG1sUGFyc2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtIaXRJbnZvaWNlQ29tcG9uZW50LCBTYW5pdGl6ZUh0bWxQaXBlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICBDb21tZXJjaWFsVWlNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcclxuICAgIE5nYkRhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIER4RGF0YUdyaWRNb2R1bGUsXHJcbiAgICBEeFRleHRBcmVhTW9kdWxlLFxyXG4gICAgRHhUZXh0Qm94TW9kdWxlLFxyXG4gICAgRHhIdG1sRWRpdG9yTW9kdWxlLFxyXG4gICAgRHhTZWxlY3RCb3hNb2R1bGUsXHJcbiAgICBEeExvb2t1cE1vZHVsZSxcclxuICAgIER4VGFiUGFuZWxNb2R1bGUsXHJcbiAgICBQYWdlTW9kdWxlLFxyXG4gICAgRHhOdW1iZXJCb3hNb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0SW52b2ljZU1vZHVsZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRJbnZvaWNlTW9kdWxlQXNDaGlsZCgpIHtcclxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEhpdEludm9pY2VNb2R1bGUpO1xyXG59XHJcbiJdfQ==
@@ -174,7 +174,7 @@ export class HitXsltRuleComponent {
174
174
  messageLocalizationParams: [],
175
175
  })
176
176
  .pipe(filter(status => status === Confirmation.Status.confirm), switchMap(() => this.service.delete(record.xsltRule.id)))
177
- .subscribe(this.list.get);
177
+ .subscribe(() => this.dxXsltRuleInstance.instance.refresh());
178
178
  }
179
179
  xsltFormatGridBox_displayExpr(item) {
180
180
  this.form.controls.xsltFormatId.setValue(item.id.toString());
@@ -296,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
296
296
  type: HostListener,
297
297
  args: ['document:keydown', ['$event']]
298
298
  }] } });
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXhzbHQtcnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9jb21wb25lbnRzL2hpdC14c2x0LXJ1bGVzL2hpdC14c2x0LXJ1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvY29tcG9uZW50cy9oaXQteHNsdC1ydWxlcy9oaXQteHNsdC1ydWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQTZCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JuRixNQUFNLE9BQU8sb0JBQW9CO0lBa0M3QixZQUNvQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE0QixFQUNwQyxZQUFpQyxFQUN4QixjQUE4QixFQUN2QyxFQUFlLEVBQ2YsR0FBc0IsRUFDYixvQkFBNkMsRUFDN0Msb0JBQTZDLEVBQzdDLGdCQUFxQyxFQUNyQyxrQkFBd0MsRUFDeEMsdUJBQW1ELEVBQ25ELHdCQUFxRDtRQVp0RCxT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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgaXNOdWxsT3JFbXB0eSwgaXNOdWxsT3JVbmRlZmluZWQsIExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0bywgVHJhY2tCeVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlQWRhcHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgWHNsdEZvcm1hdER0bywgWHNsdEZvcm1hdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS94c2x0LWZvcm1hdHMnO1xyXG5pbXBvcnQgeyBEeERhdGFHcmlkQ29tcG9uZW50LCBEeEh0bWxFZGl0b3JDb21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFwLCBmaWx0ZXIsIHN3aXRjaE1hcCwgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIaXRYc2x0Rm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1mb3JtYXRzL2hpdC14c2x0LWZvcm1hdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udGVudE1hc3RlcklucHV0RHRvIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1jb250ZW50LW1hc3Rlci9tb2RlbHMnO1xyXG5pbXBvcnQgeyBOb3RlUnVsZUNyZWF0ZUR0byB9IGZyb20gJy4uLy4uL3Byb3h5L25vdGUtcnVsZXMnO1xyXG5pbXBvcnQgeyBYc2x0UnVsZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bywgWHNsdFJ1bGVTZXJ2aWNlLCBYc2x0UnVsZUNyZWF0ZUR0bywgWHNsdFJ1bGVEdG8gfSBmcm9tICcuLi8uLi9wcm94eS94c2x0LXJ1bGVzJztcclxuaW1wb3J0IHsgSGl0U2NlbmFyaW9UeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXNjZW5hcmlvLXR5cGVzL2hpdC1zY2VuYXJpby10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXREb2N1bWVudFR5cGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtZG9jdW1lbnQtdHlwZXMvaGl0LWRvY3VtZW50LXR5cGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdE5vdGVSdWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LW5vdGUtcnVsZXMvaGl0LW5vdGUtcnVsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1ydWxlcy9oaXQteHNsdC1ydWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmV2aWV3UnVsZVJlcXVlc3REdG8sIFhzbHRSdWxlQ3JlYXRlT3JVcGRhdGVEdG8gfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXhzbHQtcnVsZXMvbW9kZWxzJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXhzbHQtcnVsZS1kb2MtdHlwZXMvaGl0LXhzbHQtcnVsZS1kb2MtdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0WHNsdFJ1bGVTY2VuYXJpb3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC14c2x0LXJ1bGUtc2NlbmFyaW9zL2hpdC14c2x0LXJ1bGUtc2NlbmFyaW8uc2VydmljZSc7XHJcbmltcG9ydCB7IFByZXZpZXdRdWVyeVJlcXVlc3REdG8gfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LW5vdGUtcnVsZXMvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWIteHNsdC1ydWxlJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICAgIHByb3ZpZGVyczogW0xpc3RTZXJ2aWNlLCB7IHByb3ZpZGU6IE5nYkRhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUFkYXB0ZXIgfV0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGl0LXhzbHQtcnVsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFtdLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEhpdFhzbHRSdWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2R4WHNsdFJ1bGVJbnN0YW5jZScsIHsgc3RhdGljOiBmYWxzZSB9KSBkeFhzbHRSdWxlSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuICAgIEBWaWV3Q2hpbGQoJ2R4U2NlbmFyaW9JbnN0YW5jZScsIHsgc3RhdGljOiBmYWxzZSB9KSBkeFNjZW5hcmlvSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuICAgIEBWaWV3Q2hpbGQoJ2R4RG9jVHlwZUluc3RhbmNlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGR4RG9jVHlwZUluc3RhbmNlOiBEeERhdGFHcmlkQ29tcG9uZW50XHJcbiAgICBAVmlld0NoaWxkKCdkeFBhcmFtSW5zdGFuY2UnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHhQYXJhbUluc3RhbmNlOiBEeERhdGFHcmlkQ29tcG9uZW50XHJcblxyXG4gICAgeHNsdFJ1bGVEYXRhU291cmNlOiBhbnlcclxuICAgIGRvY1R5cGVEYXRhU291cmNlOiBhbnlcclxuICAgIHNjZW5hcmlvRGF0YVNvdXJjZTogYW55XHJcblxyXG4gICAgZm9ybTogRm9ybUdyb3VwO1xyXG4gICAgZW50ZXJQcmVzc2VkID0gZmFsc2U7XHJcblxyXG4gICAgaXNNb2RhbEJ1c3kgPSBmYWxzZTtcclxuICAgIGlzTW9kYWxPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgaHRtbE1lbnRpb25EYXRhU291cmNlID0gW107XHJcbiAgICB0YWJsZXNEYXRhU291cmNlID0gW107XHJcbiAgICB4c2x0Rm9ybWF0VHlwZXNEYXRhU291cmNlID0gW107XHJcblxyXG4gICAgeHNsdEZvcm1hdEdyaWRCb3hWYWx1ZTogYW55O1xyXG4gICAgaXNYc2x0Rm9ybWF0R3JpZEJveE9wZW5lZDogYm9vbGVhbjtcclxuICAgIHhzbHRGb3JtYXRzOiBhbnk7XHJcblxyXG4gICAgc2VsZWN0ZWQ/OiBYc2x0UnVsZUR0bztcclxuICAgIHNlbGVjdGVkRG9jVHlwZXMgPSBbXVxyXG4gICAgc2VsZWN0ZWRTY2VuYXJpb3MgPSBbXVxyXG5cclxuICAgIHByZXZpZXdEYXRhU291cmNlOiBbXSA9IFtdO1xyXG4gICAgcGFyYW1zRGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgaXNQYXJhbWV0ZXJsZXNzID0gZmFsc2U7XHJcbiAgICBpc01vZGFsQnVzeVByZXZpZXcgPSBmYWxzZTtcclxuICAgIGlzTW9kYWxPcGVuUHJldmlldyA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBIaXRYc2x0UnVsZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNjZW5hcmlvVHlwZXNTZXJ2aWNlOiBIaXRTY2VuYXJpb1R5cGVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50VHlwZXNTZXJ2aWNlOiBIaXREb2N1bWVudFR5cGVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGVSdWxlc1NlcnZpY2U6IEhpdE5vdGVSdWxlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB4c2x0Rm9ybWF0c1NlcnZpY2U6IEhpdFhzbHRGb3JtYXRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgeHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2U6IEhpdFhzbHRSdWxlRG9jVHlwZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgeHNsdFJ1bGVTY2VuYXJpb3NTZXJ2aWNlOiBIaXRYc2x0UnVsZVNjZW5hcmlvc1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hfZGlzcGxheUV4cHIgPSB0aGlzLnhzbHRGb3JtYXRHcmlkQm94X2Rpc3BsYXlFeHByLmJpbmQodGhpcylcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICB0aGlzLnhzbHRSdWxlRGF0YVNvdXJjZSA9IHRoaXMuc2VydmljZS5Mb2FkWHNsdFJ1bGVzO1xyXG4gICAgICAgIHRoaXMuc2NlbmFyaW9EYXRhU291cmNlID0gdGhpcy5zZXJ2aWNlLkxvYWRTY2VuYXJpb3M7XHJcbiAgICAgICAgdGhpcy5kb2NUeXBlRGF0YVNvdXJjZSA9IHRoaXMuc2VydmljZS5Mb2FkRG9jVHlwZXM7XHJcbiAgICAgICAgdGhpcy54c2x0Rm9ybWF0cyA9IHRoaXMueHNsdEZvcm1hdHNTZXJ2aWNlLkxvYWRYc2x0Rm9ybWF0c1dpdGhQYXJhbSgwKTtcclxuICAgICAgICB0aGlzLm5vdGVSdWxlc1NlcnZpY2UuZ2V0VGFibGVOYW1lcygpLnN1YnNjcmliZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZXNEYXRhU291cmNlLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGVsZW1lbnQuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCIvYXNzZXRzL2ltYWdlcy90YWJsZS1pY29uLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5odG1sTWVudGlvbkRhdGFTb3VyY2UucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZWxlbWVudC5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uOiBcIi9hc3NldHMvaW1hZ2VzL3RhYmxlLWljb24ucG5nXCJcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldFBhcmFtTmFtZXMoKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaHRtbE1lbnRpb25EYXRhU291cmNlLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGVsZW1lbnQuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCIvYXNzZXRzL2ltYWdlcy9rZXktaWNvbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdHNTZXJ2aWNlLmdldFR5cGVzKCkuc3Vic2NyaWJlKGxpc3QgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnhzbHRGb3JtYXRUeXBlc0RhdGFTb3VyY2UgPSBsaXN0O1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRGb3JtKCkge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIGNvbnN0IHsgcnVsZU5hbWUsIHhzbHRUeXBlLCBkb2N1bWVudCwgb3JkZXJObywgbm90ZVF1ZXJ5LCBub3RlUXVlcnlIVE1MLCBpc1Bhc3NpdmUsIGRlc2MsIHhzbHRGb3JtYXRJZCB9ID1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCB8fCB7fTtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgIHJ1bGVOYW1lOiBbcnVsZU5hbWUgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcclxuICAgICAgICAgICAgeHNsdFR5cGU6IFt4c2x0VHlwZSA/PyAwLCBbXV0sXHJcbiAgICAgICAgICAgIGRvY3VtZW50OiBbZG9jdW1lbnQgPz8gbnVsbCwgW11dLFxyXG4gICAgICAgICAgICBvcmRlck5vOiBbb3JkZXJObyA/PyAwLCBbXV0sXHJcbiAgICAgICAgICAgIG5vdGVRdWVyeTogW25vdGVRdWVyeSA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjA0OCldXSxcclxuICAgICAgICAgICAgbm90ZVF1ZXJ5SFRNTDogW25vdGVRdWVyeUhUTUwgPz8gbnVsbCwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwNDgpXV0sXHJcbiAgICAgICAgICAgIGlzUGFzc2l2ZTogW2lzUGFzc2l2ZSA/PyBmYWxzZSwgW11dLFxyXG4gICAgICAgICAgICBkZXNjOiBbZGVzYyA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTEyKV1dLFxyXG4gICAgICAgICAgICB4c2x0Rm9ybWF0SWQ6IFt4c2x0Rm9ybWF0SWQgPz8gbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLmZvcm0uY29udHJvbHMueHNsdFR5cGUudmFsdWUpKVxyXG4gICAgICAgICAgICB0aGlzLnhzbHRGb3JtYXRzID0gdGhpcy54c2x0Rm9ybWF0c1NlcnZpY2UuTG9hZFhzbHRGb3JtYXRzV2l0aFBhcmFtKHRoaXMuZm9ybS5jb250cm9scy54c2x0VHlwZS52YWx1ZSlcclxuICAgIH1cclxuXHJcbiAgICBoaWRlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLmlzTW9kYWxPcGVuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2hvd0Zvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgICAgICB0aGlzLmlzTW9kYWxPcGVuID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJtaXRGb3JtKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5lbnRlclByZXNzZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRlclByZXNzZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCB4c2x0UnVsZVJlcSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBYc2x0UnVsZUNyZWF0ZU9yVXBkYXRlRHRvXHJcbiAgICAgICAgbGV0IHhzbHRSdWxlU2NlbmFyaW9zUmVxID0gW107XHJcbiAgICAgICAgbGV0IHhzbHRSdWxlRG9jVHlwZXNSZXEgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5keFNjZW5hcmlvSW5zdGFuY2UuaW5zdGFuY2UuZ2V0VmlzaWJsZVJvd3MoKS5maWx0ZXIoaSA9PiBpLmlzU2VsZWN0ZWQgPT0gdHJ1ZSkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgeHNsdFJ1bGVTY2VuYXJpb3NSZXEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICB4c2x0UnVsZUlkOiB0aGlzLnNlbGVjdGVkPy5pZCxcclxuICAgICAgICAgICAgICAgIHNjZW5hcmlvOiBlbGVtZW50LmRhdGEuaWRcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLmR4RG9jVHlwZUluc3RhbmNlLmluc3RhbmNlLmdldFZpc2libGVSb3dzKCkuZmlsdGVyKGkgPT4gaS5pc1NlbGVjdGVkID09IHRydWUpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIHhzbHRSdWxlRG9jVHlwZXNSZXEucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBub3RlUnVsZUlkOiB0aGlzLnNlbGVjdGVkPy5pZCxcclxuICAgICAgICAgICAgICAgIGRvY1R5cGU6IGVsZW1lbnQuZGF0YS5pZFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHhzbHRSdWxlUmVxLmNvbmN1cnJlbmN5U3RhbXAgPSB0aGlzLnNlbGVjdGVkPy5jb25jdXJyZW5jeVN0YW1wO1xyXG4gICAgICAgIHhzbHRSdWxlUmVxLmlkID0gdGhpcy5zZWxlY3RlZD8uaWRcclxuXHJcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VsZWN0ZWRcclxuICAgICAgICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuc2VsZWN0ZWQuaWQsIHtcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlU2NlbmFyaW9zOiB4c2x0UnVsZVNjZW5hcmlvc1JlcSxcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlRG9jVHlwZXM6IHhzbHRSdWxlRG9jVHlwZXNSZXFcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgICAgICAgICB4c2x0UnVsZVNjZW5hcmlvczogeHNsdFJ1bGVTY2VuYXJpb3NSZXEsXHJcbiAgICAgICAgICAgICAgICAgICAgeHNsdFJ1bGVEb2NUeXBlczogeHNsdFJ1bGVEb2NUeXBlc1JlcVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuaXNNb2RhbEJ1c3kgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXF1ZXN0XHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuaXNNb2RhbEJ1c3kgPSBmYWxzZSkpLFxyXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuaGlkZUZvcm0oKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHhYc2x0UnVsZUluc3RhbmNlLmluc3RhbmNlLnJlZnJlc2goKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlKCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERvY1R5cGVzID0gW11cclxuICAgICAgICB0aGlzLnNlbGVjdGVkU2NlbmFyaW9zID0gW11cclxuICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlKHJlY29yZDogWHNsdFJ1bGVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gcmVjb3JkLnhzbHRSdWxlO1xyXG5cclxuICAgICAgICB0aGlzLnhzbHRSdWxlU2NlbmFyaW9zU2VydmljZS5nZXRTZWxlY3RlZFNjZW5hcmlvcyh0aGlzLnNlbGVjdGVkLmlkKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTY2VuYXJpb3MgPSBsaXN0Lm1hcChpID0+IGkuc2NlbmFyaW8pO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMueHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2UuZ2V0U2VsZWN0ZWREb2NUeXBlcyh0aGlzLnNlbGVjdGVkLmlkKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREb2NUeXBlcyA9IGxpc3QubWFwKGkgPT4gaS5kb2NUeXBlKTtcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlKHJlY29yZDogWHNsdFJ1bGVXaXRoTmF2aWdhdGlvblByb3BlcnRpZXNEdG8pIHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblxyXG4gICAgICAgICAgICAud2FybignZURvbnVzdW06OkRlbGV0ZUNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnZURvbnVzdW06OkFyZVlvdVN1cmUnLCB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbXSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnNlcnZpY2UuZGVsZXRlKHJlY29yZC54c2x0UnVsZS5pZCkpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmxpc3QuZ2V0KTtcclxuICAgIH1cclxuXHJcbiAgICB4c2x0Rm9ybWF0R3JpZEJveF9kaXNwbGF5RXhwcihpdGVtKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRGb3JtYXRJZC5zZXRWYWx1ZShpdGVtLmlkLnRvU3RyaW5nKCkpXHJcbiAgICAgICAgcmV0dXJuIGAke2l0ZW0uZmlsZU5hbWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBvblhzbHRGb3JtYXRHcmlkQm94T3B0aW9uQ2hhbmdlZChlKSB7XHJcblxyXG4gICAgICAgIGlmIChlLm5hbWUgPT09ICd2YWx1ZScpIHtcclxuICAgICAgICAgICAgdGhpcy5pc1hzbHRGb3JtYXRHcmlkQm94T3BlbmVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgeHNsdFR5cGVDaGFuZ2VkKCkge1xyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdHMgPSB0aGlzLnhzbHRGb3JtYXRzU2VydmljZS5Mb2FkWHNsdEZvcm1hdHNXaXRoUGFyYW0odGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRUeXBlLnZhbHVlKVxyXG4gICAgICAgIHRoaXMueHNsdEZvcm1hdEdyaWRCb3hWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRGb3JtYXRJZC5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aWV3UXVlcnkoKSB7XHJcblxyXG4gICAgICAgIGxldCB4c2x0UnVsZVJlcSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBOb3RlUnVsZUNyZWF0ZUR0b1xyXG4gICAgICAgIHRoaXMucHJldmlld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgICAgICB0aGlzLnBhcmFtc0RhdGFTb3VyY2UgPSBbXTtcclxuXHJcbiAgICAgICAgaWYoaXNOdWxsT3JFbXB0eSh4c2x0UnVsZVJlcS5ub3RlUXVlcnlIVE1MKSl7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnU29yZ3UgYnVsdW5hbWFkxLEuJylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG5vdGVRdWVyeSA9IHRoaXMuc3RyaXBIVE1MKHhzbHRSdWxlUmVxLm5vdGVRdWVyeUhUTUwpO1xyXG5cclxuICAgICAgICBpZihpc051bGxPclVuZGVmaW5lZCh0aGlzLmZvcm0uY29udHJvbHMuZG9jdW1lbnQudmFsdWUpKXtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS53YXJuKCdUYWJsbyBzZcOnaW5pei4nKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSB0aGlzLmNoZWNrVGFibGVBZnRlckZyb20obm90ZVF1ZXJ5KTtcclxuXHJcbiAgICAgICAgaWYgKCF0YWJsZU5hbWUpIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5lcnJvcihcIlNlw6dpbGkgdGFibG8gaWxlIHNvcmd1ZGEgYmHFn2xhbsSxbGFuIHRhYmxvIGF5bsSxIG9sbWFsxLEuXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcGFyYW1zID0gbm90ZVF1ZXJ5Lm1hdGNoKC8oQmVsZ2VLZXl8QmVsZ2VEZXRheUtleXxNdWhhdGFwS2V5fE11aGF0YXBHcnVwS2V5KS9nKTtcclxuXHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChwYXJhbXMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGFyYW1zRGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgICAgICAgICBwYXJhbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zRGF0YVNvdXJjZS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWU6IGVsZW1lbnQucmVwbGFjZShcIjpcIiwgXCJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1WYWx1ZTogXCJcIlxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpc051bGxPckVtcHR5KHRoaXMucGFyYW1zRGF0YVNvdXJjZSkgfHwgdGhpcy5wYXJhbXNEYXRhU291cmNlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuaW5mbygnZURvbnVzdW06OlF1ZXJ5UHJldmlld0lzUHJlcGFyaW5nJylcclxuICAgICAgICAgICAgdGhpcy5pc1BhcmFtZXRlcmxlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnJ1blF1ZXJ5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmlzUGFyYW1ldGVybGVzcyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pc01vZGFsT3BlblByZXZpZXcgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJ1blF1ZXJ5KCkge1xyXG5cclxuICAgICAgICBsZXQgcGFyYW1WYWx1ZXMgPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmlzUGFyYW1ldGVybGVzcykge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmluZm8oJ2VEb251c3VtOjpRdWVyeVByZXZpZXdJc1ByZXBhcmluZycpXHJcblxyXG4gICAgICAgICAgICB0aGlzLmR4UGFyYW1JbnN0YW5jZS5pbnN0YW5jZS5nZXRWaXNpYmxlUm93cygpLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbVZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbU5hbWU6IGVsZW1lbnQuZGF0YS5wYXJhbU5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1WYWx1ZTogZWxlbWVudC5kYXRhLnBhcmFtVmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHhzbHRSdWxlUmVxID0gdGhpcy5mb3JtLnZhbHVlIGFzIFhzbHRSdWxlQ3JlYXRlRHRvXHJcblxyXG4gICAgICAgIGxldCByZXF1ZXN0RHRvOiBQcmV2aWV3UnVsZVJlcXVlc3REdG8gPSB7XHJcbiAgICAgICAgICAgIHhzbHRSdWxlOiB4c2x0UnVsZVJlcSxcclxuICAgICAgICAgICAgcnVsZVBhcmFtZXRlcnM6IHBhcmFtVmFsdWVzXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlcnZpY2UucHJldmlld1J1bGVSZXN1bHQocmVxdWVzdER0bykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucHJldmlld0RhdGFTb3VyY2UgPSByZXN1bHQudmFsdWVcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXZpZXdEYXRhU291cmNlLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ2VEb251c3VtOjpRdWVyeVByZXZpZXdJc1JlYWR5JylcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS53YXJuKCdlRG9udXN1bTo6UXVlcnlQcmV2aWV3Tm9SZXN1bHQnKVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgICAgICB0aGlzLmVudGVyUHJlc3NlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0cmlwSFRNTChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzdHJpcHBlZEh0bWwgPSBpbnB1dC5yZXBsYWNlKFwiPC9wPjxwPlwiLCBcIiBcIik7XHJcbiAgICAgICAgcmV0dXJuIHN0cmlwcGVkSHRtbC5yZXBsYWNlKC9AL2csICcnKS5yZXBsYWNlKC88Lio/Pi9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tUYWJsZUFmdGVyRnJvbShxdWVyeTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgcmVnZXggPSAvRlJPTVxccysoW0BcXHddKykvaTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUYWJsZU5hbWUgPSB0aGlzLnRhYmxlc0RhdGFTb3VyY2UuZmlsdGVyKGkgPT4gaS5pZCA9PSB0aGlzLmZvcm0uY29udHJvbHMuZG9jdW1lbnQudmFsdWUpWzBdLnRleHRcclxuICAgICAgICBjb25zdCBtYXRjaCA9IHF1ZXJ5Lm1hdGNoKHJlZ2V4KTtcclxuXHJcbiAgICAgICAgaWYgKG1hdGNoICYmIG1hdGNoWzFdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IG1hdGNoWzFdO1xyXG4gICAgICAgICAgICBpZiAodGFibGVOYW1lID09PSAoXCJAXCIgKyBzZWxlY3RlZFRhYmxlTmFtZSkgfHwgdGFibGVOYW1lID09PSBzZWxlY3RlZFRhYmxlTmFtZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxufSIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ2VEb251c3VtOjpYc2x0UnVsZXMnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8YnV0dG9uICphYnBQZXJtaXNzaW9uPVwiJ2VEb251c3VtLlhzbHRSdWxlcy5DcmVhdGUnXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZSgpXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAge3sgJ2VEb251c3VtOjpOZXdYc2x0UnVsZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8ZHgtZGF0YS1ncmlkICNkeFhzbHRSdWxlSW5zdGFuY2UgW2RhdGFTb3VyY2VdPVwieHNsdFJ1bGVEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiIFthbGxvd0NvbHVtblJlb3JkZXJpbmddPVwidHJ1ZVwiIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA3NXZoO1wiPlxyXG4gICAgICAgIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwidHJ1ZVwiIFtzaG93SW5mb109XCJ0cnVlXCIgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzUwLDEwMCwyMDBdXCIgW3Nob3dOYXZpZ2F0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keG8tcGFnZXI+XHJcbiAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjUwXCI+PC9keG8tcGFnaW5nPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWNob29zZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbZW5hYmxlZF09XCJ0cnVlXCIgbW9kZT1cInNlbGVjdFwiPjwvZHhvLWNvbHVtbi1jaG9vc2VyPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICA8ZHhvLWdyb3VwLXBhbmVsIFt2aXNpYmxlXT1cInRydWVcIiBbYWxsb3dDb2x1bW5EcmFnZ2luZ109XCJ0cnVlXCI+PC9keG8tZ3JvdXAtcGFuZWw+XHJcbiAgICAgICAgPGR4by1ncm91cGluZyAjZXhwYW5kIFthdXRvRXhwYW5kQWxsXT1cImZhbHNlXCIgW2FsbG93Q29sbGFwc2luZ109XCJ0cnVlXCJcclxuICAgICAgICAgIFtjb250ZXh0TWVudUVuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWdyb3VwaW5nPlxyXG4gICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbYWxsb3dTZWFyY2hdPVwidHJ1ZVwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICAgICAgICA8ZHhvLWV4cG9ydCBbZW5hYmxlZF09XCJ0cnVlXCIgW2FsbG93RXhwb3J0U2VsZWN0ZWREYXRhXT1cImZhbHNlXCI+PC9keG8tZXhwb3J0PlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICA8ZHhvLWZpbHRlci1idWlsZGVyIFthbGxvd0hpZXJhcmNoaWNhbEZpZWxkc109XCJ0cnVlXCI+PC9keG8tZmlsdGVyLWJ1aWxkZXI+XHJcbiAgICAgICAgPGR4by1maWx0ZXItcGFuZWwgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1wYW5lbD5cclxuICAgICAgICA8ZHhvLXNvcnRpbmcgbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNvcnRpbmc+XHJcbiAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG4gICAgICAgIDxkeGktY29sdW1uIFtmaXhlZF09XCJ0cnVlXCIgZGF0YUZpZWxkPVwiaWRcIiB3aWR0aD1cIjEyMFwiIFthbGxvd0dyb3VwaW5nXT1cImZhbHNlXCIgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgIFthbGxvd0hlYWRlckZpbHRlcmluZ109XCJmYWxzZVwiIFthbGxvd0hpZGluZ109XCJmYWxzZVwiIFthbGxvd1Jlb3JkZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3BlcmF0aW9uVGVtcGxhdGVcIiBjYXB0aW9uPVwie3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPlxyXG4gICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ29wZXJhdGlvblRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNvbnRhaW5lcj1cImJvZHlcIiBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZHJvcGRvd24tdG9nZ2xlXCIgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duVG9nZ2xlIFtkaXNhYmxlZF09XCJkaXNhYmxlZElkQ29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWNvZyBtci0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuZ2JEcm9wZG93bkl0ZW0gKGNsaWNrKT1cInVwZGF0ZShyb3cuZGF0YSlcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJkZWxldGUocm93LmRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtdHJhc2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInhzbHRSdWxlLnJ1bGVOYW1lXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpSdWxlTmFtZSd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwieHNsdFJ1bGUub3JkZXJOb1wiIGNhcHRpb249XCJ7eydlRG9udXN1bTo6T3JkZXJObyd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwieHNsdFJ1bGUuaXNQYXNzaXZlXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpJc1Bhc3NpdmUnfGFicExvY2FsaXphdGlvbn19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbYnVzeV09XCJpc01vZGFsQnVzeVwiIFsodmlzaWJsZSldPVwiaXNNb2RhbE9wZW5cIiBbb3B0aW9uc109XCJ7IHNpemU6ICdsZycgfVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpOZXdYc2x0UnVsZScpIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwieHNsdC1ydWxlXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxkeC10YWItcGFuZWwgW2FuaW1hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiIFtzd2lwZUVuYWJsZWRdPVwidHJ1ZVwiIFtsb29wXT1cInRydWVcIiAjdGFiUGFuZWw+XHJcbiAgICAgICAgPGR4aS1pdGVtIHRpdGxlPVwie3sgJ2VEb251c3VtOjpSdWxlSW5mbycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBpY29uPVwiZmFzIGZhLWZpbGUtYWx0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1ydWxlLW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UnVsZU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19ICpcclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtdGV4dC1ib3ggaWQ9XCJ4c2x0LXJ1bGUtcnVsZS1uYW1lXCIgW2Rpc2FibGVkXT1cImlzVXBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwicnVsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBtYXhsZW5ndGg9XCIyNTZcIiBhdXRvZm9jdXM+PC9keC10ZXh0LWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwieHNsdC1ydWxlLW9yZGVyLW5vXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06Ok9yZGVyTm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbbWluXT1cIjBcIiBpZD1cInhzbHQtcnVsZS1vcmRlci1ub1wiIGZvcm1Db250cm9sTmFtZT1cIm9yZGVyTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1vcmRlci1ub1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpYc2x0VHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwieHNsdC1ydWxlLXhzbHQtdHlwZVwiIGZvcm1Db250cm9sTmFtZT1cInhzbHRUeXBlXCIgKG9uVmFsdWVDaGFuZ2VkKT1cInhzbHRUeXBlQ2hhbmdlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZGlzcGxheUV4cHI9XCJkaXNwbGF5TmFtZVwiIHZhbHVlRXhwcj1cImlkXCIgW2RhdGFTb3VyY2VdPVwieHNsdEZvcm1hdFR5cGVzRGF0YVNvdXJjZVwiIFt2YWx1ZV09XCJ4c2x0Rm9ybWF0VHlwZXNEYXRhU291cmNlWzBdLmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2VEb251c3VtOjpQaWNrJyB8IGFicExvY2FsaXphdGlvbiB9fS4uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ4c2x0LXJ1bGUteHNsdC1mb3JtYXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6WHNsdEZvcm1hdCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtZHJvcC1kb3duLWJveCBbKHZhbHVlKV09XCJ4c2x0Rm9ybWF0R3JpZEJveFZhbHVlXCIgWyhvcGVuZWQpXT1cImlzWHNsdEZvcm1hdEdyaWRCb3hPcGVuZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cImlkXCIgW2RlZmVyUmVuZGVyaW5nXT1cImZhbHNlXCIgW2Rpc3BsYXlFeHByXT1cInhzbHRGb3JtYXRHcmlkQm94X2Rpc3BsYXlFeHByXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlRG9udXN1bTo6U2VsZWN0QVZhbHVlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJmYWxzZVwiIFtkYXRhU291cmNlXT1cInhzbHRGb3JtYXRzXCIgZm9ybUNvbnRyb2xOYW1lPVwieHNsdEZvcm1hdElkXCJcclxuICAgICAgICAgICAgICAgICAgICAob25PcHRpb25DaGFuZ2VkKT1cIm9uWHNsdEZvcm1hdEdyaWRCb3hPcHRpb25DaGFuZ2VkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtZGF0YS1ncmlkIFtkYXRhU291cmNlXT1cInhzbHRGb3JtYXRzXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbaGVpZ2h0XT1cIjI1MFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFsoc2VsZWN0ZWRSb3dLZXlzKV09XCJ4c2x0Rm9ybWF0R3JpZEJveFZhbHVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJuYW1lXCIgY2FwdGlvbj1cIk5hbWVcIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImZpbGVOYW1lXCIgY2FwdGlvbj1cIkZpbGVOYW1lXCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwic2luZ2xlXCI+PC9keG8tc2VsZWN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJpbmZpbml0ZVwiPjwvZHhvLXNjcm9sbGluZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4by1wYWdpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiIFtwYWdlU2l6ZV09XCIxMFwiPjwvZHhvLXBhZ2luZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZHgtZHJvcC1kb3duLWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIm5vdGUtcnVsZS1ydWxlLXR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6RG9jdW1lbnQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3ggaWQ9XCJ4c2x0LXJ1bGUtZG9jdW1lbnRcIiBbZGlzYWJsZWRdPVwiaXNVcGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJkb2N1bWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiZG9jdW1lbnRDaGFuZ2VkKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwidGV4dFwiIHZhbHVlRXhwcj1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInRhYmxlc0RhdGFTb3VyY2VcIiBwbGFjZWhvbGRlcj1cInt7ICdlRG9udXN1bTo6UGljaycgfCBhYnBMb2NhbGl6YXRpb24gfX0uLlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3MgPSBcImNvbC1tZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwieHNsdC1ydWxlLW5vdGUtcXVlcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6UnVsZVF1ZXJ5JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LWh0bWwtZWRpdG9yICNkeEh0bWxFZGl0b3IgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cInhzbHQtcnVsZS1ub3RlLXF1ZXJ5LWh0bWxcIiBbaGVpZ2h0XT1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCI0MDk2XCIgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVF1ZXJ5SFRNTFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGR4aS1tZW50aW9uIHZhbHVlRXhwcj1cInRleHRcIiBkaXNwbGF5RXhwcj1cInRleHRcIiBzZWFyY2hFeHByPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImh0bWxNZW50aW9uRGF0YVNvdXJjZVwiPjwvZHhpLW1lbnRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keC1odG1sLWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRlc2MnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwieHNsdC1ydWxlLWRlc2NcIiBmb3JtQ29udHJvbE5hbWU9XCJkZXNjXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBtYXhsZW5ndGg9XCI1MTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInhzbHQtcnVsZS1pcy1wYXNzaXZlXCIgZm9ybUNvbnRyb2xOYW1lPVwiaXNQYXNzaXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIC8+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ4c2x0LXJ1bGUtaXMtcGFzc2l2ZVwiIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpJc1Bhc3NpdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgIDxkeGktaXRlbSB0aXRsZT1cInt7ICdlRG9udXN1bTo6U2NlbmFyaW9zJyB8IGFicExvY2FsaXphdGlvbiB9fVwiIGljb249XCJmYXMgZmEtcGVuY2lsLWFsdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBmYWRlLWluLXRvcFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDsgbWFyZ2luLWJvdHRvbToyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkeC1kYXRhLWdyaWQgI2R4U2NlbmFyaW9JbnN0YW5jZSBbZGF0YVNvdXJjZV09XCJzY2VuYXJpb0RhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCIgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTB2aDtcIiBrZXlFeHByPVwiaWRcIiBbKHNlbGVjdGVkUm93S2V5cyldPVwic2VsZWN0ZWRTY2VuYXJpb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwibXVsdGlwbGVcIiBzZWxlY3RBbGxNb2RlPVwicGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHhvLXNlbGVjdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc29ydGluZyBtb2RlPVwic2luZ2xlXCI+PC9keG8tc29ydGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJkaXNwbGF5TmFtZVwiIGNhcHRpb249XCJ7eyAnZURvbnVzdW06Ok5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgICAgPGR4aS1pdGVtIHRpdGxlPVwie3sgJ2VEb251c3VtOjpEb2NUeXBlcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBpY29uPVwiZmFzIGZhLWVudmVsb3BlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHB4OyBtYXJnaW4tYm90dG9tOjIwcHhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICAgICAgICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhEb2NUeXBlSW5zdGFuY2UgW2RhdGFTb3VyY2VdPVwiZG9jVHlwZURhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCIgW3JlbW90ZU9wZXJhdGlvbnNdPVwidHJ1ZVwiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCIgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImhlaWdodDogNTB2aDtcIiBrZXlFeHByPVwiaWRcIiBbKHNlbGVjdGVkUm93S2V5cyldPVwic2VsZWN0ZWREb2NUeXBlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc2VsZWN0aW9uIG1vZGU9XCJtdWx0aXBsZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keG8tc2VsZWN0aW9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbYWxsb3dTZWFyY2hdPVwidHJ1ZVwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNjcm9sbGluZyBtb2RlPVwiaG9yaXpvbnRhbFwiIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cImRpc3BsYXlOYW1lXCIgY2FwdGlvbj1cInt7ICdlRG9udXN1bTo6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgPC9keC10YWItcGFuZWw+XHJcblxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJwcmV2aWV3UXVlcnkoKVwiPlxyXG4gICAgICB7eyAnZURvbnVzdW06OlByZXZpZXdRdWVyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLSA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIGJ1dHRvblR5cGU9XCJzdWJtaXRcIiBmb3JtTmFtZT1cIm5vdGUtcnVsZVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+IC0tPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIGZvcm1OYW1lPVwieHNsdC1ydWxlXCIgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuXHJcbjxhYnAtbW9kYWwgW2J1c3ldPVwiaXNNb2RhbEJ1c3lQcmV2aWV3XCIgWyh2aXNpYmxlKV09XCJpc01vZGFsT3BlblByZXZpZXdcIiBbb3B0aW9uc109XCJ7IHNpemU6ICdsZycgfVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyAoc2VsZWN0ZWQgPyAnQWJwVWk6OkVkaXQnIDogJ2VEb251c3VtOjpQcmV2aWV3UXVlcnknKSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBpZD1cIm5vdGUtcnVsZS1wcmV2aWV3XCI+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzUGFyYW1ldGVybGVzc1wiPlxyXG4gICAgICAgIDxoMz57eyAnZURvbnVzdW06OlBhcmFtZXRlcnMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICAgICAgICA8aHI+XHJcbiAgICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhQYXJhbUluc3RhbmNlIFtkYXRhU291cmNlXT1cInBhcmFtc0RhdGFTb3VyY2VcIiBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIiBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCIgW2FsbG93Q29sdW1uUmVvcmRlcmluZ109XCJ0cnVlXCIgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIiBzdHlsZT1cImhlaWdodDogNDB2aDtcIj5cclxuXHJcbiAgICAgICAgICA8ZHhvLWVkaXRpbmcgbW9kZT1cImNlbGxcIiBbdXNlSWNvbnNdPVwiZmFsc2VcIiBbYWxsb3dVcGRhdGluZ109XCJ0cnVlXCIgW2FsbG93QWRkaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRpbmddPVwiZmFsc2VcIj5cclxuICAgICAgICAgIDwvZHhvLWVkaXRpbmc+XHJcblxyXG4gICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG4gICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG4gICAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG4gICAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG5cclxuICAgICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInBhcmFtTmFtZVwiIFthbGxvd0VkaXRpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3snZURvbnVzdW06OlBhcmFtTmFtZSd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJwYXJhbVZhbHVlXCIgY2FwdGlvbj1cInt7J2VEb251c3VtOjpQYXJhbVZhbHVlJ3xhYnBMb2NhbGl6YXRpb259fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICA8YnI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBzdHlsZT1cImZsb2F0OiByaWdodDtcIiAoY2xpY2spPVwicnVuUXVlcnkoKVwiPlxyXG4gICAgICAgICAge3sgJ2VEb251c3VtOjpSdW5RdWVyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnI+PGJyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxoMz57eyAnZURvbnVzdW06OlF1ZXJ5UmVzdWx0JyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICAgIDxocj5cclxuICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhQcmV2aWV3IFtkYXRhU291cmNlXT1cInByZXZpZXdEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiIFtyZXBhaW50Q2hhbmdlc09ubHldPVwidHJ1ZVwiIFthbGxvd0NvbHVtblJlc2l6aW5nXT1cInRydWVcIlxyXG4gICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiIFthbGxvd0NvbHVtblJlb3JkZXJpbmddPVwidHJ1ZVwiIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiIFtjb2x1bW5IaWRpbmdFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiA2MHZoO1wiPlxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFthbGxvd1NlYXJjaF09XCJ0cnVlXCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcblxyXG4gICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuXHJcbiAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICA8ZHhvLXNvcnRpbmcgbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNvcnRpbmc+XHJcblxyXG4gICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJob3Jpem9udGFsXCIgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuXHJcbiAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwVWk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPiJdfQ==
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXhzbHQtcnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lLWRvbnVzdW0vc3JjL2xpYi9jb21wb25lbnRzL2hpdC14c2x0LXJ1bGVzL2hpdC14c2x0LXJ1bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZS1kb251c3VtL3NyYy9saWIvY29tcG9uZW50cy9oaXQteHNsdC1ydWxlcy9oaXQteHNsdC1ydWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFrQyxNQUFNLGNBQWMsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQTZCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JuRixNQUFNLE9BQU8sb0JBQW9CO0lBa0M3QixZQUNvQixJQUFpQixFQUNqQixLQUFxQixFQUNyQixPQUE0QixFQUNwQyxZQUFpQyxFQUN4QixjQUE4QixFQUN2QyxFQUFlLEVBQ2YsR0FBc0IsRUFDYixvQkFBNkMsRUFDN0Msb0JBQTZDLEVBQzdDLGdCQUFxQyxFQUNyQyxrQkFBd0MsRUFDeEMsdUJBQW1ELEVBQ25ELHdCQUFxRDtRQVp0RCxT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QUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUJQLCBpc051bGxPckVtcHR5LCBpc051bGxPclVuZGVmaW5lZCwgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvLCBUcmFja0J5U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nYkRhdGVBZGFwdGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBYc2x0Rm9ybWF0RHRvLCBYc2x0Rm9ybWF0U2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3h5L3hzbHQtZm9ybWF0cyc7XHJcbmltcG9ydCB7IER4RGF0YUdyaWRDb21wb25lbnQsIER4SHRtbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YXAsIGZpbHRlciwgc3dpdGNoTWFwLCBSZXBsYXlTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEhpdFhzbHRGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC14c2x0LWZvcm1hdHMvaGl0LXhzbHQtZm9ybWF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250ZW50TWFzdGVySW5wdXREdG8gfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LWNvbnRlbnQtbWFzdGVyL21vZGVscyc7XHJcbmltcG9ydCB7IE5vdGVSdWxlQ3JlYXRlRHRvIH0gZnJvbSAnLi4vLi4vcHJveHkvbm90ZS1ydWxlcyc7XHJcbmltcG9ydCB7IFhzbHRSdWxlV2l0aE5hdmlnYXRpb25Qcm9wZXJ0aWVzRHRvLCBYc2x0UnVsZVNlcnZpY2UsIFhzbHRSdWxlQ3JlYXRlRHRvLCBYc2x0UnVsZUR0byB9IGZyb20gJy4uLy4uL3Byb3h5L3hzbHQtcnVsZXMnO1xyXG5pbXBvcnQgeyBIaXRTY2VuYXJpb1R5cGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtc2NlbmFyaW8tdHlwZXMvaGl0LXNjZW5hcmlvLXR5cGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpdERvY3VtZW50VHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC1kb2N1bWVudC10eXBlcy9oaXQtZG9jdW1lbnQtdHlwZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGl0Tm90ZVJ1bGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtbm90ZS1ydWxlcy9oaXQtbm90ZS1ydWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRYc2x0UnVsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaGl0LXByb3h5L2hpdC14c2x0LXJ1bGVzL2hpdC14c2x0LXJ1bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByZXZpZXdSdWxlUmVxdWVzdER0bywgWHNsdFJ1bGVDcmVhdGVPclVwZGF0ZUR0byB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1ydWxlcy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIaXRYc2x0UnVsZURvY1R5cGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQteHNsdC1ydWxlLWRvYy10eXBlcy9oaXQteHNsdC1ydWxlLWRvYy10eXBlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIaXRYc2x0UnVsZVNjZW5hcmlvc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXhzbHQtcnVsZS1zY2VuYXJpb3MvaGl0LXhzbHQtcnVsZS1zY2VuYXJpby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJldmlld1F1ZXJ5UmVxdWVzdER0byB9IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtbm90ZS1ydWxlcy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi14c2x0LXJ1bGUnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG4gICAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHsgcHJvdmlkZTogTmdiRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlQWRhcHRlciB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9oaXQteHNsdC1ydWxlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogW10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgSGl0WHNsdFJ1bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnZHhYc2x0UnVsZUluc3RhbmNlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGR4WHNsdFJ1bGVJbnN0YW5jZTogRHhEYXRhR3JpZENvbXBvbmVudFxyXG4gICAgQFZpZXdDaGlsZCgnZHhTY2VuYXJpb0luc3RhbmNlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGR4U2NlbmFyaW9JbnN0YW5jZTogRHhEYXRhR3JpZENvbXBvbmVudFxyXG4gICAgQFZpZXdDaGlsZCgnZHhEb2NUeXBlSW5zdGFuY2UnLCB7IHN0YXRpYzogZmFsc2UgfSkgZHhEb2NUeXBlSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuICAgIEBWaWV3Q2hpbGQoJ2R4UGFyYW1JbnN0YW5jZScsIHsgc3RhdGljOiBmYWxzZSB9KSBkeFBhcmFtSW5zdGFuY2U6IER4RGF0YUdyaWRDb21wb25lbnRcclxuXHJcbiAgICB4c2x0UnVsZURhdGFTb3VyY2U6IGFueVxyXG4gICAgZG9jVHlwZURhdGFTb3VyY2U6IGFueVxyXG4gICAgc2NlbmFyaW9EYXRhU291cmNlOiBhbnlcclxuXHJcbiAgICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBlbnRlclByZXNzZWQgPSBmYWxzZTtcclxuXHJcbiAgICBpc01vZGFsQnVzeSA9IGZhbHNlO1xyXG4gICAgaXNNb2RhbE9wZW4gPSBmYWxzZTtcclxuXHJcbiAgICBodG1sTWVudGlvbkRhdGFTb3VyY2UgPSBbXTtcclxuICAgIHRhYmxlc0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIHhzbHRGb3JtYXRUeXBlc0RhdGFTb3VyY2UgPSBbXTtcclxuXHJcbiAgICB4c2x0Rm9ybWF0R3JpZEJveFZhbHVlOiBhbnk7XHJcbiAgICBpc1hzbHRGb3JtYXRHcmlkQm94T3BlbmVkOiBib29sZWFuO1xyXG4gICAgeHNsdEZvcm1hdHM6IGFueTtcclxuXHJcbiAgICBzZWxlY3RlZD86IFhzbHRSdWxlRHRvO1xyXG4gICAgc2VsZWN0ZWREb2NUeXBlcyA9IFtdXHJcbiAgICBzZWxlY3RlZFNjZW5hcmlvcyA9IFtdXHJcblxyXG4gICAgcHJldmlld0RhdGFTb3VyY2U6IFtdID0gW107XHJcbiAgICBwYXJhbXNEYXRhU291cmNlID0gW107XHJcbiAgICBpc1BhcmFtZXRlcmxlc3MgPSBmYWxzZTtcclxuICAgIGlzTW9kYWxCdXN5UHJldmlldyA9IGZhbHNlO1xyXG4gICAgaXNNb2RhbE9wZW5QcmV2aWV3ID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IEhpdFhzbHRSdWxlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2NlbmFyaW9UeXBlc1NlcnZpY2U6IEhpdFNjZW5hcmlvVHlwZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRUeXBlc1NlcnZpY2U6IEhpdERvY3VtZW50VHlwZXNTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbm90ZVJ1bGVzU2VydmljZTogSGl0Tm90ZVJ1bGVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHhzbHRGb3JtYXRzU2VydmljZTogSGl0WHNsdEZvcm1hdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB4c2x0UnVsZURvY1R5cGVzU2VydmljZTogSGl0WHNsdFJ1bGVEb2NUeXBlc1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB4c2x0UnVsZVNjZW5hcmlvc1NlcnZpY2U6IEhpdFhzbHRSdWxlU2NlbmFyaW9zU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy54c2x0Rm9ybWF0R3JpZEJveF9kaXNwbGF5RXhwciA9IHRoaXMueHNsdEZvcm1hdEdyaWRCb3hfZGlzcGxheUV4cHIuYmluZCh0aGlzKVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHRoaXMueHNsdFJ1bGVEYXRhU291cmNlID0gdGhpcy5zZXJ2aWNlLkxvYWRYc2x0UnVsZXM7XHJcbiAgICAgICAgdGhpcy5zY2VuYXJpb0RhdGFTb3VyY2UgPSB0aGlzLnNlcnZpY2UuTG9hZFNjZW5hcmlvcztcclxuICAgICAgICB0aGlzLmRvY1R5cGVEYXRhU291cmNlID0gdGhpcy5zZXJ2aWNlLkxvYWREb2NUeXBlcztcclxuICAgICAgICB0aGlzLnhzbHRGb3JtYXRzID0gdGhpcy54c2x0Rm9ybWF0c1NlcnZpY2UuTG9hZFhzbHRGb3JtYXRzV2l0aFBhcmFtKDApO1xyXG4gICAgICAgIHRoaXMubm90ZVJ1bGVzU2VydmljZS5nZXRUYWJsZU5hbWVzKCkuc3Vic2NyaWJlKGxpc3QgPT4ge1xyXG4gICAgICAgICAgICBsaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlc0RhdGFTb3VyY2UucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZWxlbWVudC5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uOiBcIi9hc3NldHMvaW1hZ2VzL3RhYmxlLWljb24ucG5nXCJcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB0aGlzLmh0bWxNZW50aW9uRGF0YVNvdXJjZS5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBlbGVtZW50LmRpc3BsYXlOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGlkOiBlbGVtZW50LmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGljb246IFwiL2Fzc2V0cy9pbWFnZXMvdGFibGUtaWNvbi5wbmdcIlxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0UGFyYW1OYW1lcygpLnN1YnNjcmliZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgbGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5odG1sTWVudGlvbkRhdGFTb3VyY2UucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZWxlbWVudC5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBpZDogZWxlbWVudC5pZCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uOiBcIi9hc3NldHMvaW1hZ2VzL2tleS1pY29uLnBuZ1wiXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy54c2x0Rm9ybWF0c1NlcnZpY2UuZ2V0VHlwZXMoKS5zdWJzY3JpYmUobGlzdCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMueHNsdEZvcm1hdFR5cGVzRGF0YVNvdXJjZSA9IGxpc3Q7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBidWlsZEZvcm0oKSB7XHJcbiAgICAgICAgZGVidWdnZXI7XHJcbiAgICAgICAgY29uc3QgeyBydWxlTmFtZSwgeHNsdFR5cGUsIGRvY3VtZW50LCBvcmRlck5vLCBub3RlUXVlcnksIG5vdGVRdWVyeUhUTUwsIGlzUGFzc2l2ZSwgZGVzYywgeHNsdEZvcm1hdElkIH0gPVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkIHx8IHt9O1xyXG5cclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgcnVsZU5hbWU6IFtydWxlTmFtZSA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV1dLFxyXG4gICAgICAgICAgICB4c2x0VHlwZTogW3hzbHRUeXBlID8/IDAsIFtdXSxcclxuICAgICAgICAgICAgZG9jdW1lbnQ6IFtkb2N1bWVudCA/PyBudWxsLCBbXV0sXHJcbiAgICAgICAgICAgIG9yZGVyTm86IFtvcmRlck5vID8/IDAsIFtdXSxcclxuICAgICAgICAgICAgbm90ZVF1ZXJ5OiBbbm90ZVF1ZXJ5ID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgyMDQ4KV1dLFxyXG4gICAgICAgICAgICBub3RlUXVlcnlIVE1MOiBbbm90ZVF1ZXJ5SFRNTCA/PyBudWxsLCBbVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjA0OCldXSxcclxuICAgICAgICAgICAgaXNQYXNzaXZlOiBbaXNQYXNzaXZlID8/IGZhbHNlLCBbXV0sXHJcbiAgICAgICAgICAgIGRlc2M6IFtkZXNjID8/IG51bGwsIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXV0sXHJcbiAgICAgICAgICAgIHhzbHRGb3JtYXRJZDogW3hzbHRGb3JtYXRJZCA/PyBudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuZm9ybS5jb250cm9scy54c2x0VHlwZS52YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMueHNsdEZvcm1hdHMgPSB0aGlzLnhzbHRGb3JtYXRzU2VydmljZS5Mb2FkWHNsdEZvcm1hdHNXaXRoUGFyYW0odGhpcy5mb3JtLmNvbnRyb2xzLnhzbHRUeXBlLnZhbHVlKVxyXG4gICAgfVxyXG5cclxuICAgIGhpZGVGb3JtKCkge1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbE9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcm0ucmVzZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93Rm9ybSgpIHtcclxuICAgICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbE9wZW4gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN1Ym1pdEZvcm0oKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmVudGVyUHJlc3NlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmVudGVyUHJlc3NlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IHhzbHRSdWxlUmVxID0gdGhpcy5mb3JtLnZhbHVlIGFzIFhzbHRSdWxlQ3JlYXRlT3JVcGRhdGVEdG9cclxuICAgICAgICBsZXQgeHNsdFJ1bGVTY2VuYXJpb3NSZXEgPSBbXTtcclxuICAgICAgICBsZXQgeHNsdFJ1bGVEb2NUeXBlc1JlcSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLmR4U2NlbmFyaW9JbnN0YW5jZS5pbnN0YW5jZS5nZXRWaXNpYmxlUm93cygpLmZpbHRlcihpID0+IGkuaXNTZWxlY3RlZCA9PSB0cnVlKS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICB4c2x0UnVsZVNjZW5hcmlvc1JlcS5wdXNoKHtcclxuICAgICAgICAgICAgICAgIHhzbHRSdWxlSWQ6IHRoaXMuc2VsZWN0ZWQ/LmlkLFxyXG4gICAgICAgICAgICAgICAgc2NlbmFyaW86IGVsZW1lbnQuZGF0YS5pZFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMuZHhEb2NUeXBlSW5zdGFuY2UuaW5zdGFuY2UuZ2V0VmlzaWJsZVJvd3MoKS5maWx0ZXIoaSA9PiBpLmlzU2VsZWN0ZWQgPT0gdHJ1ZSkuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgeHNsdFJ1bGVEb2NUeXBlc1JlcS5wdXNoKHtcclxuICAgICAgICAgICAgICAgIG5vdGVSdWxlSWQ6IHRoaXMuc2VsZWN0ZWQ/LmlkLFxyXG4gICAgICAgICAgICAgICAgZG9jVHlwZTogZWxlbWVudC5kYXRhLmlkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgeHNsdFJ1bGVSZXEuY29uY3VycmVuY3lTdGFtcCA9IHRoaXMuc2VsZWN0ZWQ/LmNvbmN1cnJlbmN5U3RhbXA7XHJcbiAgICAgICAgeHNsdFJ1bGVSZXEuaWQgPSB0aGlzLnNlbGVjdGVkPy5pZFxyXG5cclxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5zZWxlY3RlZFxyXG4gICAgICAgICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUodGhpcy5zZWxlY3RlZC5pZCwge1xyXG4gICAgICAgICAgICAgICAgeHNsdFJ1bGU6IHhzbHRSdWxlUmVxLFxyXG4gICAgICAgICAgICAgICAgeHNsdFJ1bGVTY2VuYXJpb3M6IHhzbHRSdWxlU2NlbmFyaW9zUmVxLFxyXG4gICAgICAgICAgICAgICAgeHNsdFJ1bGVEb2NUeXBlczogeHNsdFJ1bGVEb2NUeXBlc1JlcVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgeHNsdFJ1bGU6IHhzbHRSdWxlUmVxLFxyXG4gICAgICAgICAgICAgICAgICAgIHhzbHRSdWxlU2NlbmFyaW9zOiB4c2x0UnVsZVNjZW5hcmlvc1JlcSxcclxuICAgICAgICAgICAgICAgICAgICB4c2x0UnVsZURvY1R5cGVzOiB4c2x0UnVsZURvY1R5cGVzUmVxXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5pc01vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgICAgIHJlcXVlc3RcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc01vZGFsQnVzeSA9IGZhbHNlKSksXHJcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5oaWRlRm9ybSgpKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5keFhzbHRSdWxlSW5zdGFuY2UuaW5zdGFuY2UucmVmcmVzaCgpKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGUoKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy54c2x0Rm9ybWF0R3JpZEJveFZhbHVlID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRG9jVHlwZXMgPSBbXVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTY2VuYXJpb3MgPSBbXVxyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGUocmVjb3JkOiBYc2x0UnVsZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSByZWNvcmQueHNsdFJ1bGU7XHJcblxyXG4gICAgICAgIHRoaXMueHNsdFJ1bGVTY2VuYXJpb3NTZXJ2aWNlLmdldFNlbGVjdGVkU2NlbmFyaW9zKHRoaXMuc2VsZWN0ZWQuaWQpLnN1YnNjcmliZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNjZW5hcmlvcyA9IGxpc3QubWFwKGkgPT4gaS5zY2VuYXJpbyk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgdGhpcy54c2x0UnVsZURvY1R5cGVzU2VydmljZS5nZXRTZWxlY3RlZERvY1R5cGVzKHRoaXMuc2VsZWN0ZWQuaWQpLnN1YnNjcmliZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERvY1R5cGVzID0gbGlzdC5tYXAoaSA9PiBpLmRvY1R5cGUpO1xyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGUocmVjb3JkOiBYc2x0UnVsZVdpdGhOYXZpZ2F0aW9uUHJvcGVydGllc0R0bykge1xyXG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uXHJcbiAgICAgICAgICAgIC53YXJuKCdlRG9udXN1bTo6RGVsZXRlQ29uZmlybWF0aW9uTWVzc2FnZScsICdlRG9udXN1bTo6QXJlWW91U3VyZScsIHtcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtdLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcihzdGF0dXMgPT4gc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2VydmljZS5kZWxldGUocmVjb3JkLnhzbHRSdWxlLmlkKSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHhYc2x0UnVsZUluc3RhbmNlLmluc3RhbmNlLnJlZnJlc2goKSk7XHJcbiAgICB9XHJcblxyXG4gICAgeHNsdEZvcm1hdEdyaWRCb3hfZGlzcGxheUV4cHIoaXRlbSkge1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy54c2x0Rm9ybWF0SWQuc2V0VmFsdWUoaXRlbS5pZC50b1N0cmluZygpKVxyXG4gICAgICAgIHJldHVybiBgJHtpdGVtLmZpbGVOYW1lfWA7XHJcbiAgICB9XHJcblxyXG4gICAgb25Yc2x0Rm9ybWF0R3JpZEJveE9wdGlvbkNoYW5nZWQoZSkge1xyXG5cclxuICAgICAgICBpZiAoZS5uYW1lID09PSAndmFsdWUnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNYc2x0Rm9ybWF0R3JpZEJveE9wZW5lZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHhzbHRUeXBlQ2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLnhzbHRGb3JtYXRzID0gdGhpcy54c2x0Rm9ybWF0c1NlcnZpY2UuTG9hZFhzbHRGb3JtYXRzV2l0aFBhcmFtKHRoaXMuZm9ybS5jb250cm9scy54c2x0VHlwZS52YWx1ZSlcclxuICAgICAgICB0aGlzLnhzbHRGb3JtYXRHcmlkQm94VmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy54c2x0Rm9ybWF0SWQuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlld1F1ZXJ5KCkge1xyXG5cclxuICAgICAgICBsZXQgeHNsdFJ1bGVSZXEgPSB0aGlzLmZvcm0udmFsdWUgYXMgTm90ZVJ1bGVDcmVhdGVEdG9cclxuICAgICAgICB0aGlzLnByZXZpZXdEYXRhU291cmNlID0gW107XHJcbiAgICAgICAgdGhpcy5wYXJhbXNEYXRhU291cmNlID0gW107XHJcblxyXG4gICAgICAgIGlmKGlzTnVsbE9yRW1wdHkoeHNsdFJ1bGVSZXEubm90ZVF1ZXJ5SFRNTCkpe1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmluZm8oJ1Nvcmd1IGJ1bHVuYW1hZMSxLicpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBub3RlUXVlcnkgPSB0aGlzLnN0cmlwSFRNTCh4c2x0UnVsZVJlcS5ub3RlUXVlcnlIVE1MKTtcclxuXHJcbiAgICAgICAgaWYoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5mb3JtLmNvbnRyb2xzLmRvY3VtZW50LnZhbHVlKSl7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uud2FybignVGFibG8gc2XDp2luaXouJylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGFibGVOYW1lID0gdGhpcy5jaGVja1RhYmxlQWZ0ZXJGcm9tKG5vdGVRdWVyeSk7XHJcblxyXG4gICAgICAgIGlmICghdGFibGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoXCJTZcOnaWxpIHRhYmxvIGlsZSBzb3JndWRhIGJhxZ9sYW7EsWxhbiB0YWJsbyBheW7EsSBvbG1hbMSxLlwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5vdGVRdWVyeS5tYXRjaCgvKEJlbGdlS2V5fEJlbGdlRGV0YXlLZXl8TXVoYXRhcEtleXxNdWhhdGFwR3J1cEtleSkvZyk7XHJcblxyXG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zKSkge1xyXG4gICAgICAgICAgICB0aGlzLnBhcmFtc0RhdGFTb3VyY2UgPSBbXTtcclxuICAgICAgICAgICAgcGFyYW1zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtc0RhdGFTb3VyY2UucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1OYW1lOiBlbGVtZW50LnJlcGxhY2UoXCI6XCIsIFwiXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtVmFsdWU6IFwiXCJcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXNOdWxsT3JFbXB0eSh0aGlzLnBhcmFtc0RhdGFTb3VyY2UpIHx8IHRoaXMucGFyYW1zRGF0YVNvdXJjZS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLmluZm8oJ2VEb251c3VtOjpRdWVyeVByZXZpZXdJc1ByZXBhcmluZycpXHJcbiAgICAgICAgICAgIHRoaXMuaXNQYXJhbWV0ZXJsZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ydW5RdWVyeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc1BhcmFtZXRlcmxlc3MgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaXNNb2RhbE9wZW5QcmV2aWV3ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBydW5RdWVyeSgpIHtcclxuXHJcbiAgICAgICAgbGV0IHBhcmFtVmFsdWVzID0gW107XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc1BhcmFtZXRlcmxlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5pbmZvKCdlRG9udXN1bTo6UXVlcnlQcmV2aWV3SXNQcmVwYXJpbmcnKVxyXG5cclxuICAgICAgICAgICAgdGhpcy5keFBhcmFtSW5zdGFuY2UuaW5zdGFuY2UuZ2V0VmlzaWJsZVJvd3MoKS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1WYWx1ZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1OYW1lOiBlbGVtZW50LmRhdGEucGFyYW1OYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtVmFsdWU6IGVsZW1lbnQuZGF0YS5wYXJhbVZhbHVlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB4c2x0UnVsZVJlcSA9IHRoaXMuZm9ybS52YWx1ZSBhcyBYc2x0UnVsZUNyZWF0ZUR0b1xyXG5cclxuICAgICAgICBsZXQgcmVxdWVzdER0bzogUHJldmlld1J1bGVSZXF1ZXN0RHRvID0ge1xyXG4gICAgICAgICAgICB4c2x0UnVsZTogeHNsdFJ1bGVSZXEsXHJcbiAgICAgICAgICAgIHJ1bGVQYXJhbWV0ZXJzOiBwYXJhbVZhbHVlc1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnByZXZpZXdSdWxlUmVzdWx0KHJlcXVlc3REdG8pLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnByZXZpZXdEYXRhU291cmNlID0gcmVzdWx0LnZhbHVlXHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2aWV3RGF0YVNvdXJjZS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdlRG9udXN1bTo6UXVlcnlQcmV2aWV3SXNSZWFkeScpXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uud2FybignZURvbnVzdW06OlF1ZXJ5UHJldmlld05vUmVzdWx0JylcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRlclByZXNzZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdHJpcEhUTUwoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgc3RyaXBwZWRIdG1sID0gaW5wdXQucmVwbGFjZShcIjwvcD48cD5cIiwgXCIgXCIpO1xyXG4gICAgICAgIHJldHVybiBzdHJpcHBlZEh0bWwucmVwbGFjZSgvQC9nLCAnJykucmVwbGFjZSgvPC4qPz4vZywgJycpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrVGFibGVBZnRlckZyb20ocXVlcnk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL0ZST01cXHMrKFtAXFx3XSspL2k7XHJcblxyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVGFibGVOYW1lID0gdGhpcy50YWJsZXNEYXRhU291cmNlLmZpbHRlcihpID0+IGkuaWQgPT0gdGhpcy5mb3JtLmNvbnRyb2xzLmRvY3VtZW50LnZhbHVlKVswXS50ZXh0XHJcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBxdWVyeS5tYXRjaChyZWdleCk7XHJcblxyXG4gICAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsxXSkge1xyXG4gICAgICAgICAgICBjb25zdCB0YWJsZU5hbWUgPSBtYXRjaFsxXTtcclxuICAgICAgICAgICAgaWYgKHRhYmxlTmFtZSA9PT0gKFwiQFwiICsgc2VsZWN0ZWRUYWJsZU5hbWUpIHx8IHRhYmxlTmFtZSA9PT0gc2VsZWN0ZWRUYWJsZU5hbWUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbn0iLCI8YWJwLXBhZ2UgW3RpdGxlXT1cIidlRG9udXN1bTo6WHNsdFJ1bGVzJyB8IGFicExvY2FsaXphdGlvblwiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtbGctZW5kIHB0LTJcIj5cclxuICAgICAgPGJ1dHRvbiAqYWJwUGVybWlzc2lvbj1cIidlRG9udXN1bS5Yc2x0UnVsZXMuQ3JlYXRlJ1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGUoKVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgIHt7ICdlRG9udXN1bTo6TmV3WHNsdFJ1bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGR4LWRhdGEtZ3JpZCAjZHhYc2x0UnVsZUluc3RhbmNlIFtkYXRhU291cmNlXT1cInhzbHRSdWxlRGF0YVNvdXJjZVwiIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICBbcmVtb3RlT3BlcmF0aW9uc109XCJ0cnVlXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIiBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogNzV2aDtcIj5cclxuICAgICAgICA8ZHhvLXBhZ2VyIFt2aXNpYmxlXT1cInRydWVcIiBbc2hvd0luZm9dPVwidHJ1ZVwiIFthbGxvd2VkUGFnZVNpemVzXT1cIls1MCwxMDAsMjAwXVwiIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHhvLXBhZ2VyPlxyXG4gICAgICAgIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCI1MFwiPjwvZHhvLXBhZ2luZz5cclxuICAgICAgICA8ZHhvLWNvbHVtbi1jaG9vc2VyIFthbGxvd1NlYXJjaF09XCJ0cnVlXCIgW2VuYWJsZWRdPVwidHJ1ZVwiIG1vZGU9XCJzZWxlY3RcIj48L2R4by1jb2x1bW4tY2hvb3Nlcj5cclxuICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcbiAgICAgICAgPGR4by1ncm91cC1wYW5lbCBbdmlzaWJsZV09XCJ0cnVlXCIgW2FsbG93Q29sdW1uRHJhZ2dpbmddPVwidHJ1ZVwiPjwvZHhvLWdyb3VwLXBhbmVsPlxyXG4gICAgICAgIDxkeG8tZ3JvdXBpbmcgI2V4cGFuZCBbYXV0b0V4cGFuZEFsbF09XCJmYWxzZVwiIFthbGxvd0NvbGxhcHNpbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbY29udGV4dE1lbnVFbmFibGVkXT1cInRydWVcIj48L2R4by1ncm91cGluZz5cclxuICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgICAgICAgPGR4by1leHBvcnQgW2VuYWJsZWRdPVwidHJ1ZVwiIFthbGxvd0V4cG9ydFNlbGVjdGVkRGF0YV09XCJmYWxzZVwiPjwvZHhvLWV4cG9ydD5cclxuICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcbiAgICAgICAgPGR4by1maWx0ZXItYnVpbGRlciBbYWxsb3dIaWVyYXJjaGljYWxGaWVsZHNdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1idWlsZGVyPlxyXG4gICAgICAgIDxkeG8tZmlsdGVyLXBhbmVsIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcGFuZWw+XHJcbiAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG4gICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJob3Jpem9udGFsXCIgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBbZml4ZWRdPVwidHJ1ZVwiIGRhdGFGaWVsZD1cImlkXCIgd2lkdGg9XCIxMjBcIiBbYWxsb3dHcm91cGluZ109XCJmYWxzZVwiIFthbGxvd0ZpbHRlcmluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICBbYWxsb3dIZWFkZXJGaWx0ZXJpbmddPVwiZmFsc2VcIiBbYWxsb3dIaWRpbmddPVwiZmFsc2VcIiBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZT1cIm9wZXJhdGlvblRlbXBsYXRlXCIgY2FwdGlvbj1cInt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIj5cclxuICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgcm93IG9mICdvcGVyYXRpb25UZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGRyb3Bkb3duLXRvZ2dsZVwiIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZSBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJZENvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbXItMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudT5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIChjbGljayk9XCJ1cGRhdGUocm93LmRhdGEpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWRpdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT4ge3sgJ0FicFVpOjpFZGl0JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG5nYkRyb3Bkb3duSXRlbSAoY2xpY2spPVwiZGVsZXRlKHJvdy5kYXRhKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXRyYXNoXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7eyAnQWJwVWk6OkRlbGV0ZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJ4c2x0UnVsZS5ydWxlTmFtZVwiIGNhcHRpb249XCJ7eydlRG9udXN1bTo6UnVsZU5hbWUnfGFicExvY2FsaXphdGlvbn19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInhzbHRSdWxlLm9yZGVyTm9cIiBjYXB0aW9uPVwie3snZURvbnVzdW06Ok9yZGVyTm8nfGFicExvY2FsaXphdGlvbn19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgIDxkeGktY29sdW1uIGRhdGFGaWVsZD1cInhzbHRSdWxlLmlzUGFzc2l2ZVwiIGNhcHRpb249XCJ7eydlRG9udXN1bTo6SXNQYXNzaXZlJ3xhYnBMb2NhbGl6YXRpb259fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hYnAtcGFnZT5cclxuXHJcbjxhYnAtbW9kYWwgW2J1c3ldPVwiaXNNb2RhbEJ1c3lcIiBbKHZpc2libGUpXT1cImlzTW9kYWxPcGVuXCIgW29wdGlvbnNdPVwieyBzaXplOiAnbGcnIH1cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz5cclxuICAgICAge3sgKHNlbGVjdGVkID8gJ0FicFVpOjpFZGl0JyA6ICdlRG9udXN1bTo6TmV3WHNsdFJ1bGUnKSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBpZD1cInhzbHQtcnVsZVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIiB2YWxpZGF0ZU9uU3VibWl0PlxyXG4gICAgICA8ZHgtdGFiLXBhbmVsIFthbmltYXRpb25FbmFibGVkXT1cInRydWVcIiBbc3dpcGVFbmFibGVkXT1cInRydWVcIiBbbG9vcF09XCJ0cnVlXCIgI3RhYlBhbmVsPlxyXG4gICAgICAgIDxkeGktaXRlbSB0aXRsZT1cInt7ICdlRG9udXN1bTo6UnVsZUluZm8nIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgaWNvbj1cImZhcyBmYS1maWxlLWFsdFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBmYWRlLWluLXRvcFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ4c2x0LXJ1bGUtcnVsZS1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlJ1bGVOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fSAqXHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LXRleHQtYm94IGlkPVwieHNsdC1ydWxlLXJ1bGUtbmFtZVwiIFtkaXNhYmxlZF09XCJpc1VwZGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cInJ1bGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiMjU2XCIgYXV0b2ZvY3VzPjwvZHgtdGV4dC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1vcmRlci1ub1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpPcmRlck5vJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW21pbl09XCIwXCIgaWQ9XCJ4c2x0LXJ1bGUtb3JkZXItbm9cIiBmb3JtQ29udHJvbE5hbWU9XCJvcmRlck5vXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ4c2x0LXJ1bGUtb3JkZXItbm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6WHNsdFR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveCBpZD1cInhzbHQtcnVsZS14c2x0LXR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ4c2x0VHlwZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJ4c2x0VHlwZUNoYW5nZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiIGRpc3BsYXlFeHByPVwiZGlzcGxheU5hbWVcIiB2YWx1ZUV4cHI9XCJpZFwiIFtkYXRhU291cmNlXT1cInhzbHRGb3JtYXRUeXBlc0RhdGFTb3VyY2VcIiBbdmFsdWVdPVwieHNsdEZvcm1hdFR5cGVzRGF0YVNvdXJjZVswXS5pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlRG9udXN1bTo6UGljaycgfCBhYnBMb2NhbGl6YXRpb24gfX0uLlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwieHNsdC1ydWxlLXhzbHQtZm9ybWF0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlhzbHRGb3JtYXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LWRyb3AtZG93bi1ib3ggWyh2YWx1ZSldPVwieHNsdEZvcm1hdEdyaWRCb3hWYWx1ZVwiIFsob3BlbmVkKV09XCJpc1hzbHRGb3JtYXRHcmlkQm94T3BlbmVkXCJcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJpZFwiIFtkZWZlclJlbmRlcmluZ109XCJmYWxzZVwiIFtkaXNwbGF5RXhwcl09XCJ4c2x0Rm9ybWF0R3JpZEJveF9kaXNwbGF5RXhwclwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZURvbnVzdW06OlNlbGVjdEFWYWx1ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwiZmFsc2VcIiBbZGF0YVNvdXJjZV09XCJ4c2x0Rm9ybWF0c1wiIGZvcm1Db250cm9sTmFtZT1cInhzbHRGb3JtYXRJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uT3B0aW9uQ2hhbmdlZCk9XCJvblhzbHRGb3JtYXRHcmlkQm94T3B0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4LWRhdGEtZ3JpZCBbZGF0YVNvdXJjZV09XCJ4c2x0Rm9ybWF0c1wiIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCIgW2hlaWdodF09XCIyNTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkUm93S2V5cyldPVwieHNsdEZvcm1hdEdyaWRCb3hWYWx1ZVwiIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwibmFtZVwiIGNhcHRpb249XCJOYW1lXCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJmaWxlTmFtZVwiIGNhcHRpb249XCJGaWxlTmFtZVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4by1zZWxlY3Rpb24gbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZHhvLXNjcm9sbGluZyBtb2RlPVwiaW5maW5pdGVcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkeG8tcGFnaW5nIFtlbmFibGVkXT1cInRydWVcIiBbcGFnZVNpemVdPVwiMTBcIj48L2R4by1wYWdpbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICAgICAgICAgICAgICA8L2R4LWRyb3AtZG93bi1ib3g+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJub3RlLXJ1bGUtcnVsZS10eXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OkRvY3VtZW50JyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94IGlkPVwieHNsdC1ydWxlLWRvY3VtZW50XCIgW2Rpc2FibGVkXT1cImlzVXBkYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZG9jdW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImRvY3VtZW50Q2hhbmdlZCgpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBkaXNwbGF5RXhwcj1cInRleHRcIiB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ0YWJsZXNEYXRhU291cmNlXCIgcGxhY2Vob2xkZXI9XCJ7eyAnZURvbnVzdW06OlBpY2snIHwgYWJwTG9jYWxpemF0aW9uIH19Li5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzID0gXCJjb2wtbWRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cInhzbHQtcnVsZS1ub3RlLXF1ZXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyAnZURvbnVzdW06OlJ1bGVRdWVyeScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkeC1odG1sLWVkaXRvciAjZHhIdG1sRWRpdG9yIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJ4c2x0LXJ1bGUtbm90ZS1xdWVyeS1odG1sXCIgW2hlaWdodF09XCIxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNDA5NlwiIGZvcm1Db250cm9sTmFtZT1cIm5vdGVRdWVyeUhUTUxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkeGktbWVudGlvbiB2YWx1ZUV4cHI9XCJ0ZXh0XCIgZGlzcGxheUV4cHI9XCJ0ZXh0XCIgc2VhcmNoRXhwcj1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJodG1sTWVudGlvbkRhdGFTb3VyY2VcIj48L2R4aS1tZW50aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHgtaHRtbC1lZGl0b3I+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ4c2x0LXJ1bGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgJ2VEb251c3VtOjpEZXNjJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInhzbHQtcnVsZS1kZXNjXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbWF4bGVuZ3RoPVwiNTEyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgaWQ9XCJ4c2x0LXJ1bGUtaXMtcGFzc2l2ZVwiIGZvcm1Db250cm9sTmFtZT1cImlzUGFzc2l2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwieHNsdC1ydWxlLWlzLXBhc3NpdmVcIiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdlRG9udXN1bTo6SXNQYXNzaXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9keGktaXRlbT5cclxuICAgICAgICA8ZHhpLWl0ZW0gdGl0bGU9XCJ7eyAnZURvbnVzdW06OlNjZW5hcmlvcycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIiBpY29uPVwiZmFzIGZhLXBlbmNpbC1hbHRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZmFkZS1pbi10b3BcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tdG9wOjIwcHg7IG1hcmdpbi1ib3R0b206MjBweFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZHgtZGF0YS1ncmlkICNkeFNjZW5hcmlvSW5zdGFuY2UgW2RhdGFTb3VyY2VdPVwic2NlbmFyaW9EYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlcGFpbnRDaGFuZ2VzT25seV09XCJ0cnVlXCIgW2FsbG93Q29sdW1uUmVzaXppbmddPVwidHJ1ZVwiIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FsbG93Q29sdW1uUmVvcmRlcmluZ109XCJ0cnVlXCIgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCIgW2NvbHVtbkhpZGluZ0VuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDUwdmg7XCIga2V5RXhwcj1cImlkXCIgWyhzZWxlY3RlZFJvd0tleXMpXT1cInNlbGVjdGVkU2NlbmFyaW9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zZWxlY3Rpb24gbW9kZT1cIm11bHRpcGxlXCIgc2VsZWN0QWxsTW9kZT1cInBhZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2R4by1zZWxlY3Rpb24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1oZWFkZXItZmlsdGVyIFthbGxvd1NlYXJjaF09XCJ0cnVlXCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNvcnRpbmcgbW9kZT1cInNpbmdsZVwiPjwvZHhvLXNvcnRpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJob3Jpem9udGFsXCIgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwiZGlzcGxheU5hbWVcIiBjYXB0aW9uPVwie3sgJ2VEb251c3VtOjpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgICAgICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgIDxkeGktaXRlbSB0aXRsZT1cInt7ICdlRG9udXN1bTo6RG9jVHlwZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19XCIgaWNvbj1cImZhcyBmYS1lbnZlbG9wZVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBmYWRlLWluLXRvcFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6MjBweDsgbWFyZ2luLWJvdHRvbToyMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkeC1kYXRhLWdyaWQgI2R4RG9jVHlwZUluc3RhbmNlIFtkYXRhU291cmNlXT1cImRvY1R5cGVEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiIFtyZW1vdGVPcGVyYXRpb25zXT1cInRydWVcIiBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3JlcGFpbnRDaGFuZ2VzT25seV09XCJ0cnVlXCIgW2FsbG93Q29sdW1uUmVzaXppbmddPVwidHJ1ZVwiIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FsbG93Q29sdW1uUmVvcmRlcmluZ109XCJ0cnVlXCIgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCIgW2NvbHVtbkhpZGluZ0VuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDUwdmg7XCIga2V5RXhwcj1cImlkXCIgWyhzZWxlY3RlZFJvd0tleXMpXT1cInNlbGVjdGVkRG9jVHlwZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwibXVsdGlwbGVcIiBzZWxlY3RBbGxNb2RlPVwicGFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZHhvLXNlbGVjdGlvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1jb2x1bW4tZml4aW5nIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1jb2x1bW4tZml4aW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW2FsbG93U2VhcmNoXT1cInRydWVcIiBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkeG8tc29ydGluZyBtb2RlPVwic2luZ2xlXCI+PC9keG8tc29ydGluZz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1zY3JvbGxpbmcgbW9kZT1cImhvcml6b250YWxcIiBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJkaXNwbGF5TmFtZVwiIGNhcHRpb249XCJ7eyAnZURvbnVzdW06Ok5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHhpLWl0ZW0+XHJcbiAgICAgIDwvZHgtdGFiLXBhbmVsPlxyXG5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwicHJldmlld1F1ZXJ5KClcIj5cclxuICAgICAge3sgJ2VEb251c3VtOjpQcmV2aWV3UXVlcnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDwhLS0gPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBidXR0b25UeXBlPVwic3VibWl0XCIgZm9ybU5hbWU9XCJub3RlLXJ1bGVcIj5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9hYnAtYnV0dG9uPiAtLT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBmb3JtTmFtZT1cInhzbHQtcnVsZVwiIChjbGljayk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgICAge3sgJ0FicFVpOjpTYXZlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcblxyXG48YWJwLW1vZGFsIFtidXN5XT1cImlzTW9kYWxCdXN5UHJldmlld1wiIFsodmlzaWJsZSldPVwiaXNNb2RhbE9wZW5QcmV2aWV3XCIgW29wdGlvbnNdPVwieyBzaXplOiAnbGcnIH1cIj5cclxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cclxuICAgIDxoMz5cclxuICAgICAge3sgKHNlbGVjdGVkID8gJ0FicFVpOjpFZGl0JyA6ICdlRG9udXN1bTo6UHJldmlld1F1ZXJ5JykgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gaWQ9XCJub3RlLXJ1bGUtcHJldmlld1wiPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFpc1BhcmFtZXRlcmxlc3NcIj5cclxuICAgICAgICA8aDM+e3sgJ2VEb251c3VtOjpQYXJhbWV0ZXJzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICAgICAgPGhyPlxyXG4gICAgICAgIDxkeC1kYXRhLWdyaWQgI2R4UGFyYW1JbnN0YW5jZSBbZGF0YVNvdXJjZV09XCJwYXJhbXNEYXRhU291cmNlXCIgW3Nob3dSb3dMaW5lc109XCJ0cnVlXCIgW3Nob3dCb3JkZXJzXT1cInRydWVcIlxyXG4gICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiIFthbGxvd0NvbHVtblJlb3JkZXJpbmddPVwidHJ1ZVwiIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCIgc3R5bGU9XCJoZWlnaHQ6IDQwdmg7XCI+XHJcblxyXG4gICAgICAgICAgPGR4by1lZGl0aW5nIG1vZGU9XCJjZWxsXCIgW3VzZUljb25zXT1cImZhbHNlXCIgW2FsbG93VXBkYXRpbmddPVwidHJ1ZVwiIFthbGxvd0FkZGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0RlbGV0aW5nXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICA8L2R4by1lZGl0aW5nPlxyXG5cclxuICAgICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuICAgICAgICAgIDxkeG8tc29ydGluZyBtb2RlPVwic2luZ2xlXCI+PC9keG8tc29ydGluZz5cclxuICAgICAgICAgIDxkeG8tc2Nyb2xsaW5nIG1vZGU9XCJob3Jpem9udGFsXCIgc2hvd1Njcm9sbGJhcj1cImFsd2F5c1wiPjwvZHhvLXNjcm9sbGluZz5cclxuXHJcbiAgICAgICAgICA8ZHhpLWNvbHVtbiBkYXRhRmllbGQ9XCJwYXJhbU5hbWVcIiBbYWxsb3dFZGl0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7J2VEb251c3VtOjpQYXJhbU5hbWUnfGFicExvY2FsaXphdGlvbn19XCI+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW4gZGF0YUZpZWxkPVwicGFyYW1WYWx1ZVwiIGNhcHRpb249XCJ7eydlRG9udXN1bTo6UGFyYW1WYWx1ZSd8YWJwTG9jYWxpemF0aW9ufX1cIj48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgPC9keC1kYXRhLWdyaWQ+XHJcbiAgICAgICAgPGJyPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCIgKGNsaWNrKT1cInJ1blF1ZXJ5KClcIj5cclxuICAgICAgICAgIHt7ICdlRG9udXN1bTo6UnVuUXVlcnknIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJyPjxicj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aDM+e3sgJ2VEb251c3VtOjpRdWVyeVJlc3VsdCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gICAgICA8aHI+XHJcbiAgICAgIDxkeC1kYXRhLWdyaWQgI2R4UHJldmlldyBbZGF0YVNvdXJjZV09XCJwcmV2aWV3RGF0YVNvdXJjZVwiIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICBbcmVtb3RlT3BlcmF0aW9uc109XCJ0cnVlXCIgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIiBbcmVwYWludENoYW5nZXNPbmx5XT1cInRydWVcIiBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIiBbYWxsb3dDb2x1bW5SZW9yZGVyaW5nXT1cInRydWVcIiBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIiBbY29sdW1uSGlkaW5nRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogNjB2aDtcIj5cclxuICAgICAgICA8ZHhvLWNvbHVtbi1maXhpbmcgW2VuYWJsZWRdPVwidHJ1ZVwiPjwvZHhvLWNvbHVtbi1maXhpbmc+XHJcblxyXG4gICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbYWxsb3dTZWFyY2hdPVwidHJ1ZVwiIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG5cclxuICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcblxyXG4gICAgICAgIDxkeG8tY29sdW1uLWZpeGluZyBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tY29sdW1uLWZpeGluZz5cclxuXHJcbiAgICAgICAgPGR4by1zb3J0aW5nIG1vZGU9XCJzaW5nbGVcIj48L2R4by1zb3J0aW5nPlxyXG5cclxuICAgICAgICA8ZHhvLXNjcm9sbGluZyBtb2RlPVwiaG9yaXpvbnRhbFwiIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcblxyXG4gICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD4iXX0=