@cuby-ui/core 0.0.468 → 0.0.469

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 (485) hide show
  1. package/README.md +25 -25
  2. package/components/sidebar/sidebar-header/sidebar-header.component.d.ts +1 -1
  3. package/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.d.ts +1 -1
  4. package/esm2022/animations/animations.mjs +1 -1
  5. package/esm2022/animations/index.mjs +1 -1
  6. package/esm2022/classes/accessors.mjs +1 -1
  7. package/esm2022/classes/driver.mjs +1 -1
  8. package/esm2022/classes/index.mjs +1 -1
  9. package/esm2022/classes/vehicle.mjs +1 -1
  10. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  11. package/esm2022/components/accordion/accordion-item/accordion-item.options.mjs +1 -1
  12. package/esm2022/components/accordion/accordion.component.mjs +3 -3
  13. package/esm2022/components/accordion/accordion.directive.mjs +1 -1
  14. package/esm2022/components/accordion/accordion.module.mjs +1 -1
  15. package/esm2022/components/accordion/index.mjs +1 -1
  16. package/esm2022/components/alert/alert.component.mjs +3 -3
  17. package/esm2022/components/alert/alert.interfaces.mjs +1 -1
  18. package/esm2022/components/alert/alert.module.mjs +1 -1
  19. package/esm2022/components/alert/alert.service.mjs +1 -1
  20. package/esm2022/components/alert/alert.tokens.mjs +1 -1
  21. package/esm2022/components/alert/alert.types.mjs +1 -1
  22. package/esm2022/components/alert/alerts.component.mjs +3 -3
  23. package/esm2022/components/alert/index.mjs +1 -1
  24. package/esm2022/components/alert-hint/alert-hint.component.mjs +3 -3
  25. package/esm2022/components/alert-hint/error-status.mjs +1 -1
  26. package/esm2022/components/alert-hint/index.mjs +1 -1
  27. package/esm2022/components/badge/badge.component.mjs +3 -3
  28. package/esm2022/components/badge/badge.module.mjs +1 -1
  29. package/esm2022/components/badge/badge.options.mjs +1 -1
  30. package/esm2022/components/badge/index.mjs +1 -1
  31. package/esm2022/components/banner/banner.component.mjs +3 -3
  32. package/esm2022/components/banner/banner.module.mjs +1 -1
  33. package/esm2022/components/banner/banner.options.mjs +1 -1
  34. package/esm2022/components/banner/index.mjs +1 -1
  35. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
  36. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  37. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +1 -1
  38. package/esm2022/components/breadcrumbs/index.mjs +1 -1
  39. package/esm2022/components/button/button.component.mjs +3 -3
  40. package/esm2022/components/button/button.module.mjs +1 -1
  41. package/esm2022/components/button/button.options.mjs +1 -1
  42. package/esm2022/components/button/index.mjs +1 -1
  43. package/esm2022/components/button-group/button-group.component.mjs +3 -3
  44. package/esm2022/components/button-group/button-group.module.mjs +1 -1
  45. package/esm2022/components/button-group/index.mjs +1 -1
  46. package/esm2022/components/card-wrapper/card-wrapper.component.mjs +3 -3
  47. package/esm2022/components/card-wrapper/index.mjs +1 -1
  48. package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
  49. package/esm2022/components/checkbox/checkbox.module.mjs +1 -1
  50. package/esm2022/components/checkbox/index.mjs +1 -1
  51. package/esm2022/components/content-header/content-header.component.mjs +3 -3
  52. package/esm2022/components/content-header/index.mjs +1 -1
  53. package/esm2022/components/content-wrapper/content-wrapper.component.mjs +3 -3
  54. package/esm2022/components/content-wrapper/index.mjs +1 -1
  55. package/esm2022/components/context-menu/context-menu.component.mjs +3 -3
  56. package/esm2022/components/context-menu/context-menu.module.mjs +1 -1
  57. package/esm2022/components/context-menu/index.mjs +1 -1
  58. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +3 -3
  59. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +3 -3
  60. package/esm2022/components/dialog/dialog.component.mjs +3 -3
  61. package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
  62. package/esm2022/components/dialog/dialog.module.mjs +1 -1
  63. package/esm2022/components/dialog/dialog.service.mjs +1 -1
  64. package/esm2022/components/dialog/dialog.tokens.mjs +1 -1
  65. package/esm2022/components/dialog/dialogs.component.mjs +3 -3
  66. package/esm2022/components/dialog/index.mjs +1 -1
  67. package/esm2022/components/dropdown/dropdown.interfaces.mjs +1 -1
  68. package/esm2022/components/dropdown/index.mjs +1 -1
  69. package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
  70. package/esm2022/components/empty-state/index.mjs +1 -1
  71. package/esm2022/components/file-icon/file-icon.component.mjs +3 -3
  72. package/esm2022/components/file-icon/file-icon.options.mjs +1 -1
  73. package/esm2022/components/file-icon/index.mjs +1 -1
  74. package/esm2022/components/form-field/form-field.component.mjs +3 -3
  75. package/esm2022/components/form-field/form-field.module.mjs +1 -1
  76. package/esm2022/components/form-field/index.mjs +1 -1
  77. package/esm2022/components/ghost-input/ghost-input.component.mjs +1 -1
  78. package/esm2022/components/ghost-input/index.mjs +1 -1
  79. package/esm2022/components/hint/hint.component.mjs +3 -3
  80. package/esm2022/components/hint/hint.module.mjs +1 -1
  81. package/esm2022/components/hint/index.mjs +1 -1
  82. package/esm2022/components/icon-button/icon-button.component.mjs +3 -3
  83. package/esm2022/components/icon-button/icon-button.module.mjs +1 -1
  84. package/esm2022/components/icon-button/index.mjs +1 -1
  85. package/esm2022/components/index.mjs +1 -1
  86. package/esm2022/components/input-number/index.mjs +1 -1
  87. package/esm2022/components/input-number/input-number.component.mjs +3 -3
  88. package/esm2022/components/input-number/input-number.module.mjs +1 -1
  89. package/esm2022/components/input-password/index.mjs +1 -1
  90. package/esm2022/components/input-password/input-password.component.mjs +3 -3
  91. package/esm2022/components/input-password/input-password.module.mjs +1 -1
  92. package/esm2022/components/input-text/index.mjs +1 -1
  93. package/esm2022/components/input-text/input-text.component.mjs +3 -3
  94. package/esm2022/components/input-text/input-text.module.mjs +1 -1
  95. package/esm2022/components/input-time/index.mjs +1 -1
  96. package/esm2022/components/input-time/input-time.component.mjs +3 -3
  97. package/esm2022/components/input-time/input-time.module.mjs +1 -1
  98. package/esm2022/components/input-time/input-time.options.mjs +1 -1
  99. package/esm2022/components/label/index.mjs +1 -1
  100. package/esm2022/components/label/label.component.mjs +3 -3
  101. package/esm2022/components/label/label.module.mjs +1 -1
  102. package/esm2022/components/layout/index.mjs +1 -1
  103. package/esm2022/components/layout/layout.component.mjs +3 -3
  104. package/esm2022/components/letter-box/index.mjs +1 -1
  105. package/esm2022/components/letter-box/letter-box.component.mjs +3 -3
  106. package/esm2022/components/letter-box/letter-box.interfaces.mjs +1 -1
  107. package/esm2022/components/notification/index.mjs +1 -1
  108. package/esm2022/components/notification/notification.component.mjs +3 -3
  109. package/esm2022/components/notification/notification.module.mjs +1 -1
  110. package/esm2022/components/notification/notification.options.mjs +1 -1
  111. package/esm2022/components/options-button/index.mjs +1 -1
  112. package/esm2022/components/options-button/options-button.component.mjs +3 -3
  113. package/esm2022/components/radio/index.mjs +1 -1
  114. package/esm2022/components/radio/radio.component.mjs +1 -1
  115. package/esm2022/components/radio/radio.module.mjs +1 -1
  116. package/esm2022/components/render-dynamic-components/index.mjs +1 -1
  117. package/esm2022/components/render-dynamic-components/render-dynamic-components.component.mjs +3 -3
  118. package/esm2022/components/render-dynamic-components/render-dynamic-components.options.mjs +1 -1
  119. package/esm2022/components/render-dynamic-components/render-dynamic-components.service.mjs +1 -1
  120. package/esm2022/components/root/index.mjs +1 -1
  121. package/esm2022/components/root/root.component.mjs +3 -3
  122. package/esm2022/components/root/root.module.mjs +1 -1
  123. package/esm2022/components/root/root.options.mjs +1 -1
  124. package/esm2022/components/select/index.mjs +1 -1
  125. package/esm2022/components/select/select.component.mjs +3 -3
  126. package/esm2022/components/select/select.module.mjs +1 -1
  127. package/esm2022/components/sidebar/index.mjs +1 -1
  128. package/esm2022/components/sidebar/sidebar-container/index.mjs +1 -1
  129. package/esm2022/components/sidebar/sidebar-container/sidebar-container.component.mjs +3 -3
  130. package/esm2022/components/sidebar/sidebar-header/index.mjs +1 -1
  131. package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  132. package/esm2022/components/sidebar/sidebar-navigation/index.mjs +1 -1
  133. package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
  134. package/esm2022/components/sidebar/sidebar-navigation-container/index.mjs +1 -1
  135. package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +3 -3
  136. package/esm2022/components/sidebar/sidebar-navigation-item/index.mjs +1 -1
  137. package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +3 -3
  138. package/esm2022/components/sidebar/sidebar.options.mjs +1 -1
  139. package/esm2022/components/sidebar/sidebar.service.mjs +1 -1
  140. package/esm2022/components/svg/index.mjs +1 -1
  141. package/esm2022/components/svg/svg.component.mjs +3 -3
  142. package/esm2022/components/svg/svg.module.mjs +1 -1
  143. package/esm2022/components/tab/index.mjs +1 -1
  144. package/esm2022/components/tab/tab.component.mjs +1 -1
  145. package/esm2022/components/tabs/components/abstract-tabs/abstract-tabs.component.mjs +3 -3
  146. package/esm2022/components/tabs/components/abstract-tabs/index.mjs +1 -1
  147. package/esm2022/components/tabs/components/index.mjs +1 -1
  148. package/esm2022/components/tabs/index.mjs +1 -1
  149. package/esm2022/components/tabs/services/index.mjs +1 -1
  150. package/esm2022/components/tabs/services/tabs.service.mjs +1 -1
  151. package/esm2022/components/tabs/tabs.component.mjs +3 -3
  152. package/esm2022/components/tabs/tabs.options.mjs +1 -1
  153. package/esm2022/components/tabs/tabs.provider.mjs +1 -1
  154. package/esm2022/components/textarea/index.mjs +1 -1
  155. package/esm2022/components/textarea/textarea.component.mjs +1 -1
  156. package/esm2022/components/textarea/textarea.module.mjs +1 -1
  157. package/esm2022/components/toggle/index.mjs +1 -1
  158. package/esm2022/components/toggle/toggle.component.mjs +1 -1
  159. package/esm2022/components/toggle/toggle.module.mjs +1 -1
  160. package/esm2022/directives/index.mjs +1 -1
  161. package/esm2022/directives/text-field-controller/index.mjs +1 -1
  162. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +1 -1
  163. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +1 -1
  164. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +1 -1
  165. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +1 -1
  166. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +1 -1
  167. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +1 -1
  168. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +1 -1
  169. package/esm2022/directives/text-field-controller/text-field.controller.mjs +1 -1
  170. package/esm2022/directives/tooltip/index.mjs +1 -1
  171. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +1 -1
  172. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +1 -1
  173. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +1 -1
  174. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +1 -1
  175. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +1 -1
  176. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +1 -1
  177. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +1 -1
  178. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +1 -1
  179. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +1 -1
  180. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +1 -1
  181. package/esm2022/directives/tooltip/tooltip.component.mjs +13 -13
  182. package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
  183. package/esm2022/directives/tooltip/tooltip.mjs +1 -1
  184. package/esm2022/directives/tooltip/tooltip.providers.mjs +1 -1
  185. package/esm2022/directives/tooltip/tooltip.service.mjs +1 -1
  186. package/esm2022/directives/tooltip/tooltips.component.mjs +3 -3
  187. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.component.mjs +3 -3
  188. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +1 -1
  189. package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +3 -3
  190. package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +3 -3
  191. package/esm2022/editor/components/marker-select/marker-select.component.mjs +3 -3
  192. package/esm2022/editor/config/custom-elements.mjs +1 -1
  193. package/esm2022/editor/editor.component.mjs +3 -3
  194. package/esm2022/editor/interfaces/angular-element.mjs +1 -1
  195. package/esm2022/editor/interfaces/custom-element.mjs +1 -1
  196. package/esm2022/editor/interfaces/editor-service.mjs +1 -1
  197. package/esm2022/editor/providers/index.mjs +1 -1
  198. package/esm2022/editor/tools/attaches.tool.mjs +1 -1
  199. package/esm2022/editor/tools/combined-text-block.tool.mjs +1 -1
  200. package/esm2022/editor/tools/image.tool.mjs +1 -1
  201. package/esm2022/editor/tools/role-marker.tool.mjs +3 -3
  202. package/esm2022/editor/tools/tool-marker.tool.mjs +1 -1
  203. package/esm2022/editor/tools/video.tool.mjs +1 -1
  204. package/esm2022/editor/utils/copy-text-to-clipboard.mjs +1 -1
  205. package/esm2022/editor/utils/create-tools-data.mjs +1 -1
  206. package/esm2022/editor/utils/open-file-in-browser.mjs +1 -1
  207. package/esm2022/editor/utils/set-loading.mjs +1 -1
  208. package/esm2022/editor/utils/url.validator.mjs +1 -1
  209. package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +3 -3
  210. package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +3 -3
  211. package/esm2022/editor/widgets/editor-modal/index.mjs +1 -1
  212. package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +1 -1
  213. package/esm2022/editor/widgets/editor-readonly/editor-resize-observer.directive.mjs +1 -1
  214. package/esm2022/editor/widgets/index.mjs +1 -1
  215. package/esm2022/index.mjs +1 -1
  216. package/esm2022/interceptors/auth.interceptor.mjs +1 -1
  217. package/esm2022/interceptors/error-handler.interceptor.mjs +1 -1
  218. package/esm2022/interceptors/x-ndjson.interceptor.mjs +1 -1
  219. package/esm2022/interfaces/context-menu-item.mjs +1 -1
  220. package/esm2022/interfaces/image.mjs +1 -1
  221. package/esm2022/interfaces/index.mjs +1 -1
  222. package/esm2022/interfaces/option.mjs +1 -1
  223. package/esm2022/providers/auth.options.mjs +1 -1
  224. package/esm2022/providers/auth.provider.mjs +1 -1
  225. package/esm2022/providers/index.mjs +1 -1
  226. package/esm2022/services/auth.service.mjs +1 -1
  227. package/esm2022/services/browser-auth.service.mjs +1 -1
  228. package/esm2022/services/index.mjs +1 -1
  229. package/esm2022/services/loader.options.mjs +1 -1
  230. package/esm2022/services/mobile-auth.service.mjs +1 -1
  231. package/esm2022/services/position.service.mjs +1 -1
  232. package/esm2022/services/theme.options.mjs +1 -1
  233. package/esm2022/services/theme.service.mjs +1 -1
  234. package/esm2022/services/token.options.mjs +1 -1
  235. package/esm2022/services/token.service.mjs +1 -1
  236. package/esm2022/services/visual-viewport.service.mjs +1 -1
  237. package/esm2022/tokens/animations-speed.mjs +1 -1
  238. package/esm2022/tokens/index.mjs +1 -1
  239. package/esm2022/tokens/reduced-motion.mjs +1 -1
  240. package/esm2022/tokens/viewport.mjs +1 -1
  241. package/esm2022/types/appearance.mjs +1 -1
  242. package/esm2022/types/button-theme.mjs +1 -1
  243. package/esm2022/types/hint-type.mjs +1 -1
  244. package/esm2022/types/index.mjs +1 -1
  245. package/esm2022/types/point.mjs +1 -1
  246. package/esm2022/types/portal-item.mjs +1 -1
  247. package/esm2022/types/position.mjs +1 -1
  248. package/esm2022/types/resizing.mjs +1 -1
  249. package/esm2022/types/shape.mjs +1 -1
  250. package/esm2022/types/size.mjs +1 -1
  251. package/esm2022/types/status.mjs +1 -1
  252. package/esm2022/utils/check-fixed-position.mjs +1 -1
  253. package/esm2022/utils/default-validators/create-default-validators.mjs +1 -1
  254. package/esm2022/utils/default-validators/create-default-validators.options.mjs +1 -1
  255. package/esm2022/utils/default-validators/extra-spaces.options.mjs +1 -1
  256. package/esm2022/utils/default-validators/extra-spaces.validators.mjs +1 -1
  257. package/esm2022/utils/default-validators/index.mjs +1 -1
  258. package/esm2022/utils/format/index.mjs +1 -1
  259. package/esm2022/utils/format/remove-spaces.mjs +1 -1
  260. package/esm2022/utils/format/replace.mjs +1 -1
  261. package/esm2022/utils/index.mjs +1 -1
  262. package/esm2022/utils/miscellaneous/index.mjs +1 -1
  263. package/esm2022/utils/miscellaneous/is-obscured.mjs +1 -1
  264. package/esm2022/utils/miscellaneous/override-options.mjs +1 -1
  265. package/esm2022/utils/miscellaneous/to-animation-options.mjs +1 -1
  266. package/esm2022/widgets/assets/constants/index.mjs +1 -1
  267. package/esm2022/widgets/assets/constants/translations.mjs +1 -1
  268. package/esm2022/widgets/assets/index.mjs +1 -1
  269. package/esm2022/widgets/index.mjs +1 -1
  270. package/esm2022/widgets/model/index.mjs +1 -1
  271. package/esm2022/widgets/model/resource-state-service.interface.mjs +1 -1
  272. package/esm2022/widgets/model/resource-state-service.token.mjs +1 -1
  273. package/esm2022/widgets/model/resources-block.options.mjs +1 -1
  274. package/esm2022/widgets/model/subject-modal-service.interface.mjs +1 -1
  275. package/esm2022/widgets/model/subject-modal-service.token.mjs +1 -1
  276. package/esm2022/widgets/model/used-elements-service.interface.mjs +1 -1
  277. package/esm2022/widgets/model/used-elements-service.token.mjs +1 -1
  278. package/esm2022/widgets/model/utility-service.interface.mjs +1 -1
  279. package/esm2022/widgets/model/utility-service.token.mjs +1 -1
  280. package/esm2022/widgets/service/index.mjs +1 -1
  281. package/esm2022/widgets/service/resource-state-base.service.mjs +1 -1
  282. package/esm2022/widgets/service/subject-modal-base.service.mjs +1 -1
  283. package/esm2022/widgets/service/used-elements-base.service.mjs +1 -1
  284. package/esm2022/widgets/service/utility-base.service.mjs +1 -1
  285. package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +3 -3
  286. package/esm2022/widgets/ui/assignee-role-item/index.mjs +1 -1
  287. package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +3 -3
  288. package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +1 -1
  289. package/esm2022/widgets/ui/categories/categories.component.mjs +3 -3
  290. package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +3 -3
  291. package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +1 -1
  292. package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +3 -3
  293. package/esm2022/widgets/ui/categories/components/category-form/index.mjs +1 -1
  294. package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +3 -3
  295. package/esm2022/widgets/ui/categories/components/category-item/index.mjs +1 -1
  296. package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +3 -3
  297. package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +1 -1
  298. package/esm2022/widgets/ui/categories/components/index.mjs +1 -1
  299. package/esm2022/widgets/ui/categories/index.mjs +1 -1
  300. package/esm2022/widgets/ui/categories/services/index.mjs +1 -1
  301. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +1 -1
  302. package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +3 -3
  303. package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +1 -1
  304. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +3 -3
  305. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +1 -1
  306. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +3 -3
  307. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +1 -1
  308. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +3 -3
  309. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +1 -1
  310. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +3 -3
  311. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +1 -1
  312. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +3 -3
  313. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +1 -1
  314. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +1 -1
  315. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +3 -3
  316. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +1 -1
  317. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +1 -1
  318. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +3 -3
  319. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +1 -1
  320. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +1 -1
  321. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +3 -3
  322. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +1 -1
  323. package/esm2022/widgets/ui/checklist-block/components/index.mjs +1 -1
  324. package/esm2022/widgets/ui/checklist-block/index.mjs +1 -1
  325. package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +1 -1
  326. package/esm2022/widgets/ui/checklist-block/services/index.mjs +1 -1
  327. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +3 -3
  328. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +1 -1
  329. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +1 -1
  330. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +3 -3
  331. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +1 -1
  332. package/esm2022/widgets/ui/consumable-form/components/index.mjs +1 -1
  333. package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +3 -3
  334. package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +1 -1
  335. package/esm2022/widgets/ui/consumable-form/index.mjs +1 -1
  336. package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +3 -3
  337. package/esm2022/widgets/ui/criterion-info/index.mjs +1 -1
  338. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +3 -3
  339. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +1 -1
  340. package/esm2022/widgets/ui/criterion-info-form/index.mjs +1 -1
  341. package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +3 -3
  342. package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +1 -1
  343. package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +3 -3
  344. package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +1 -1
  345. package/esm2022/widgets/ui/delete-modal/index.mjs +1 -1
  346. package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +3 -3
  347. package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +1 -1
  348. package/esm2022/widgets/ui/framer-preview/index.mjs +1 -1
  349. package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +3 -3
  350. package/esm2022/widgets/ui/general-control-error-hint/index.mjs +1 -1
  351. package/esm2022/widgets/ui/index.mjs +1 -1
  352. package/esm2022/widgets/ui/inserted/index.mjs +1 -1
  353. package/esm2022/widgets/ui/inserted/inserted.component.mjs +3 -3
  354. package/esm2022/widgets/ui/instruction-info/index.mjs +1 -1
  355. package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +3 -3
  356. package/esm2022/widgets/ui/instruction-info-form/index.mjs +1 -1
  357. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +3 -3
  358. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +1 -1
  359. package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +1 -1
  360. package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +3 -3
  361. package/esm2022/widgets/ui/loader/index.mjs +1 -1
  362. package/esm2022/widgets/ui/loader/loader.component.mjs +3 -3
  363. package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +1 -1
  364. package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +3 -3
  365. package/esm2022/widgets/ui/modal-divided-section/index.mjs +1 -1
  366. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +3 -3
  367. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +1 -1
  368. package/esm2022/widgets/ui/modal-header/index.mjs +1 -1
  369. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +3 -3
  370. package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +1 -1
  371. package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +3 -3
  372. package/esm2022/widgets/ui/modal-header-tabs/index.mjs +1 -1
  373. package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +3 -3
  374. package/esm2022/widgets/ui/modal-info-tab/index.mjs +1 -1
  375. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +3 -3
  376. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +1 -1
  377. package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +1 -1
  378. package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +3 -3
  379. package/esm2022/widgets/ui/modal-operation-part/index.mjs +1 -1
  380. package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +3 -3
  381. package/esm2022/widgets/ui/modal-resources-tab/index.mjs +1 -1
  382. package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +3 -3
  383. package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +1 -1
  384. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +3 -3
  385. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +1 -1
  386. package/esm2022/widgets/ui/resources-block/components/index.mjs +1 -1
  387. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +1 -1
  388. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +3 -3
  389. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +1 -1
  390. package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +1 -1
  391. package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +3 -3
  392. package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +1 -1
  393. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +3 -3
  394. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +1 -1
  395. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +1 -1
  396. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
  397. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
  398. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +1 -1
  399. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +3 -3
  400. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +1 -1
  401. package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +1 -1
  402. package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +3 -3
  403. package/esm2022/widgets/ui/resources-block/index.mjs +1 -1
  404. package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +3 -3
  405. package/esm2022/widgets/ui/resources-block-tabs/index.mjs +1 -1
  406. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +3 -3
  407. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +1 -1
  408. package/esm2022/widgets/ui/select-modal/components/index.mjs +1 -1
  409. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +1 -1
  410. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +3 -3
  411. package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +1 -1
  412. package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +3 -3
  413. package/esm2022/widgets/ui/select-modal/index.mjs +1 -1
  414. package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +3 -3
  415. package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +1 -1
  416. package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +1 -1
  417. package/esm2022/widgets/ui/storage-list/components/index.mjs +1 -1
  418. package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +1 -1
  419. package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +3 -3
  420. package/esm2022/widgets/ui/storage-list/index.mjs +1 -1
  421. package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +3 -3
  422. package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +1 -1
  423. package/esm2022/widgets/ui/toolbox-form/components/index.mjs +1 -1
  424. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +1 -1
  425. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +3 -3
  426. package/esm2022/widgets/ui/toolbox-form/index.mjs +1 -1
  427. package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +3 -3
  428. package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +1 -1
  429. package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +3 -3
  430. package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +1 -1
  431. package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +3 -3
  432. package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +1 -1
  433. package/esm2022/widgets/ui/user-action-context-menu/index.mjs +1 -1
  434. package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +1 -1
  435. package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +1 -1
  436. package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +1 -1
  437. package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +3 -3
  438. package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +1 -1
  439. package/esm2022/widgets/ui/utility-info-readonly/index.mjs +1 -1
  440. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +3 -3
  441. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +1 -1
  442. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +3 -3
  443. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +1 -1
  444. package/esm2022/widgets/ui/utility-modal/components/index.mjs +1 -1
  445. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +1 -1
  446. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +3 -3
  447. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +1 -1
  448. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +3 -3
  449. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +1 -1
  450. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +3 -3
  451. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +1 -1
  452. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +3 -3
  453. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +1 -1
  454. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +3 -3
  455. package/esm2022/widgets/ui/utility-modal/index.mjs +1 -1
  456. package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +3 -3
  457. package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +1 -1
  458. package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +1 -1
  459. package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +3 -3
  460. package/esm2022/widgets/ui/utility-thumbnail/index.mjs +1 -1
  461. package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +3 -3
  462. package/fesm2022/cuby-ui-core.mjs +254 -254
  463. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  464. package/fonts/Inter-Bold.svg +25443 -25443
  465. package/fonts/Inter-Medium.svg +25400 -25400
  466. package/fonts/Inter-Regular.svg +24341 -24341
  467. package/fonts/Inter-SemiBold.svg +25459 -25459
  468. package/fonts/Nunito-ExtraBoldItalic.svg +9508 -9508
  469. package/package.json +4 -4
  470. package/styles/direcive/flex-container.scss +3 -3
  471. package/styles/fonts.scss +69 -69
  472. package/styles/global.scss +10 -10
  473. package/styles/mixins/buttons.scss +13 -13
  474. package/styles/mixins/flex.scss +21 -21
  475. package/styles/mixins/headings.scss +115 -115
  476. package/styles/mixins/inputs.scss +91 -91
  477. package/styles/mixins/lists.scss +41 -41
  478. package/styles/mixins/paddings.scss +35 -35
  479. package/styles/mixins/shadows.scss +42 -42
  480. package/styles/mixins/texts.scss +224 -224
  481. package/styles/theme.scss +427 -427
  482. package/styles/variables/colors.scss +288 -288
  483. package/styles/variables/fonts.scss +2 -2
  484. package/widgets/ui/categories/components/category-item/category-item.component.d.ts +2 -2
  485. package/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.d.ts +1 -1
@@ -377,4 +377,4 @@ export class CuiCombinedTextBlockTool {
377
377
  return config.placeholder ?? DEFAULT_PLACEHOLDER;
378
378
  }
379
379
  }
380
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtdGV4dC1ibG9jay50b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvdG9vbHMvY29tYmluZWQtdGV4dC1ibG9jay50b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNuQixNQUFNLGNBQWMsQ0FBQztBQU90QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRSxNQUFNLE9BQU8sd0JBQXdCO0lBb0JqQyxZQUFZLE9BQWdCO1FBbkJYLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFDYixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsbUJBQW1CLENBQUM7UUFFMUQsbUJBQWMsR0FBRztZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQVFNLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBMkpwQix3QkFBbUIsR0FBRyxDQUFDLElBQVksRUFBdUIsRUFBRTtZQUNoRSxJQUFJLFNBQVMsR0FBK0MsSUFBSSxDQUFDO1lBRWpFLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ1osWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUVELFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFD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RUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBa0I7UUFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxNQUFNLENBQUMsbUJBQW1CLElBQUksNEJBQTRCLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLFdBQVcsSUFBSSxtQkFBbUIsQ0FBQztJQUNyRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB0eXBlIHsgQVBJLCBCbG9ja1Rvb2wsIEJsb2NrVG9vbENvbnN0cnVjdG9yT3B0aW9ucywgVG9vbENvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5cbmltcG9ydCB7XG4gICAgQ09NQklORURfVEVYVF9CTE9DSyxcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELFxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSxcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXG4gICAgQ09NQklORURfVEVYVF9CTE9DS19SRU1PVkVELFxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCxcbiAgICBERUZBVUxUX1BMQUNFSE9MREVSLFxuICAgIERFRkFVTFRfUkVBRE9OTFlfUExBQ0VIT0xERVIsXG4gICAgU1BMSVRfTUFYX0xFTkdUSFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1xuICAgIEN1aUNvbWJpbmVkQmxvY2tUb29sRGF0YSxcbiAgICBDdWlDb21iaW5lZFBhcnRCbG9jayxcbiAgICBDdWlNdXRhdGlvbkFjdGlvbnMsXG4gICAgQ3VpTXV0YXRpb25DYWxsYmFja1xufSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlY2FsY3VsYXRlSW5kZXhlcywgc3BsaXRIVE1MLCBnZW5lcmF0ZUlkIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgQ3VpQ29tYmluZWRUZXh0QmxvY2tUb29sIGltcGxlbWVudHMgQmxvY2tUb29sIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IFRBRyA9ICdzcGFuJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IERFQk9VTkNFX1RJTUUgPSAzNTA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBNQVhfQ0hJTERfQ09VTlRfRk9SX0VNUFRZID0gMTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IFBMQUNFSE9MREVSX0FUVFJJQlVURV9OQU1FID0gJ3BsYWNlaG9sZGVyQWN0aXZlJztcblxuICAgIHByaXZhdGUgbXV0YXRpb25Db25maWcgPSB7XG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZVxuICAgIH07XG4gICAgcHJpdmF0ZSBhcGk6IEFQSTtcbiAgICBwcml2YXRlIGRhdGE6IEN1aUNvbWJpbmVkQmxvY2tUb29sRGF0YTtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB3cmFwcGVyPzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBsYXN0QmxvY2tFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkT25seT86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBjaGFuZ2VzID0gbmV3IE1hcCgpO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogdW5rbm93bikge1xuICAgICAgICBjb25zdCBib2R5ID0gb3B0aW9ucyBhcyBCbG9ja1Rvb2xDb25zdHJ1Y3Rvck9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBib2R5LmRhdGE7XG5cbiAgICAgICAgdGhpcy5yZWFkT25seSA9IGJvZHkucmVhZE9ubHk7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLmdldFBsYWNlaG9sZGVyKGJvZHkuY29uZmlnKTtcbiAgICAgICAgdGhpcy5hcGkgPSBib2R5LmFwaTtcbiAgICAgICAgdGhpcy5kYXRhID0ge1xuICAgICAgICAgICAgaWQ6IGRhdGEuaWQgfHwgZ2VuZXJhdGVJZCgpLFxuICAgICAgICAgICAgdGV4dEJsb2NrczogZGF0YS50ZXh0QmxvY2tzIHx8IFtdXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzUmVhZE9ubHlTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGVuYWJsZUxpbmVCcmVha3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IHsgaWNvbjogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWNvbjogJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk04IDlWNy4yQzggNy4wODk1NCA4LjA4OTU0IDcgOC4yIDdMMTIgN00xNiA5VjcuMkMxNiA3LjA4OTU0IDE1LjkxMDUgNyAxNS44IDdMMTIgN00xMiA3TDEyIDE3TTEyIDE3SDEwTTEyIDE3SDE0XCI+PC9wYXRoPjwvc3ZnPicsXG4gICAgICAgICAgICB0aXRsZTogJ1RleHQnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgcGFzdGVDb25maWcoKTogb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhZ3M6IFsnUCddXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50eXBlICE9PSAndGFnJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dCA9IGV2ZW50LmRldGFpbC5kYXRhLnRleHRDb250ZW50O1xuXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnNwbGljZSh0aGlzLmRhdGEudGV4dEJsb2Nrcy5sZW5ndGggLSAxLCAxLCB0aGlzLmdldEJsb2NrUGFydE9iamVjdChnZW5lcmF0ZUlkKCksIHRleHQpKTtcbiAgICAgICAgdGhpcy51cGRhdGUodGhpcy5kYXRhLnRleHRCbG9ja3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW5kZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICB0aGlzLndyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5hZGQoQ09NQklORURfVEVYVF9CTE9DSyk7XG4gICAgICAgIHRoaXMud3JhcHBlci5kYXRhc2V0W3RoaXMuUExBQ0VIT0xERVJfQVRUUklCVVRFX05BTUVdID0gdGhpcy5hcGkuaTE4bi50KHRoaXMucGxhY2Vob2xkZXIpO1xuXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgdGhpcy53cmFwcGVyLmNvbnRlbnRFZGl0YWJsZSA9ICd0cnVlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnRleHRCbG9ja3MubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5wdXNoKHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgJycpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKHRoaXMuZGF0YS50ZXh0QmxvY2tzKTtcbiAgICAgICAgdGhpcy5jaGVja0lzRWRpdG9yRW1wdHkoKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gdGhpcy5nZXRNdXRhdGlvbkNhbGxiYWNrKHRoaXMuREVCT1VOQ0VfVElNRSk7XG5cbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLm9uTXV0YXRpb25FdmVudC5iaW5kKHRoaXMsIGNhbGxiYWNrKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy53cmFwcGVyLCB0aGlzLm11dGF0aW9uQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLndyYXBwZXI7XG4gICAgfVxuXG4gICAgcHVibGljIG1lcmdlKGJsb2Nrc0RhdGE6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBibG9ja3NUZXh0Q29udGVudCA9ICcnO1xuICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2NrcyA9IFtdO1xuXG4gICAgICAgIGJsb2Nrc0RhdGEuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGJsb2Nrc1RleHRDb250ZW50ICs9IGJsb2NrLmRhdGEudGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLndyYXBwZXIuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMud3JhcHBlci5jaGlsZE5vZGVzLml0ZW0oaSk7XG5cbiAgICAgICAgICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBIVE1MU3BhbkVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpLS07XG4gICAgICAgICAgICBibG9ja3NUZXh0Q29udGVudCA9IG5vZGUuaW5uZXJIVE1MICsgYmxvY2tzVGV4dENvbnRlbnQ7XG4gICAgICAgICAgICBub2RlLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFydHMgPSBibG9ja3NUZXh0Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIID8gW2Jsb2Nrc1RleHRDb250ZW50XSA6IHNwbGl0SFRNTChibG9ja3NUZXh0Q29udGVudCk7XG5cbiAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja09iamVjdCA9IHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgcGFydCk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2goYmxvY2tPYmplY3QpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLmRhdGEudGV4dEJsb2Nrcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUoYmxvY2tDb250ZW50OiBIVE1MRWxlbWVudCk6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10ge1xuICAgICAgICBjb25zdCB0ZXh0QmxvY2tzOiBDdWlDb21iaW5lZFBhcnRCbG9ja1tdID0gW107XG5cbiAgICAgICAgYmxvY2tDb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5UQUcpLmZvckVhY2goKHNwYW46IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICB0ZXh0QmxvY2tzLnB1c2godGhpcy5nZXRCbG9ja1BhcnRPYmplY3Qoc3Bhbi5kYXRhc2V0WydpZCddISwgc3Bhbi5pbm5lckhUTUwpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRleHRCbG9ja3M7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcblxuICAgICAgICBjb25zdCBibG9ja0lkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLmZvckVhY2goKGJsb2NrOiBDdWlDb21iaW5lZFBhcnRCbG9jaykgPT4ge1xuICAgICAgICAgICAgYmxvY2tJZHMuYWRkKGJsb2NrLmlkIHx8ICcnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZW1vdmVCbG9ja3MoYmxvY2tJZHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25NdXRhdGlvbkV2ZW50KGNhbGxiYWNrOiAobXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKSA9PiB2b2lkLCBtdXRhdGlvbkxpc3Q6IE11dGF0aW9uUmVjb3JkW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKG11dGF0aW9uTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG11dGF0aW9uTGlzdC5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKG11dGF0aW9uLnJlbW92ZWROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KGdlbmVyYXRlSWQoKSwgbXV0YXRpb24pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KG11dGF0aW9uLnRhcmdldCwgbXV0YXRpb24pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYWxsYmFjayhtdXRhdGlvbkxpc3QpO1xuICAgICAgICB0aGlzLmNoZWNrSXNFZGl0b3JFbXB0eSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TXV0YXRpb25DYWxsYmFjayA9ICh3YWl0OiBudW1iZXIpOiBDdWlNdXRhdGlvbkNhbGxiYWNrID0+IHtcbiAgICAgICAgbGV0IHRpbWVvdXRJZDogQ3VpTnVsbGFibGU8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+ID0gbnVsbDtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRpbWVvdXRJZCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlTXV0YXRpb25zKCksIHdhaXQpO1xuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBwcml2YXRlIGhhbmRsZU11dGF0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbXV0YXRpb25zTGlzdCA9IFsuLi50aGlzLmNoYW5nZXMudmFsdWVzKCldO1xuICAgICAgICBjb25zdCB7IHVwZGF0ZWRFbGVtZW50cywgcmVtb3ZlZEVsZW1lbnRzSWRzIH0gPSB0aGlzLmdldE11dGF0aW9uQWN0aW9ucyhtdXRhdGlvbnNMaXN0KTtcbiAgICAgICAgY29uc3Qgc3BsaXRlZFBhcnRzOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgdXBkYXRlZEVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Q29udGVudDogc3RyaW5nID0gZWxlbWVudC5pbm5lckhUTUw7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHNwbGl0SFRNTChlbGVtZW50Q29udGVudCk7XG5cbiAgICAgICAgICAgIHBhcnRzLmZvckVhY2goKHBhcnQ6IHN0cmluZywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrSWQgPSBnZW5lcmF0ZUlkKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSB0aGlzLmNyZWF0ZUJsb2NrKGJsb2NrSWQsIHBhcnQpO1xuXG4gICAgICAgICAgICAgICAgc3BsaXRlZFBhcnRzLnB1c2godGV4dEVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gcGFydHNbMF07XG4gICAgICAgICAgICBlbGVtZW50LmFmdGVyKC4uLnNwbGl0ZWRQYXJ0cyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRkQmxvY2tzKHNwbGl0ZWRQYXJ0cywgdXBkYXRlZEVsZW1lbnRzKTtcbiAgICAgICAgdGhpcy51cGRhdGVCbG9ja3ModXBkYXRlZEVsZW1lbnRzKTtcbiAgICAgICAgdGhpcy5yZW1vdmVCbG9ja3MocmVtb3ZlZEVsZW1lbnRzSWRzKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmVjYWxjdWxhdGVJbmRleGVzKHRoaXMuYXBpLmJsb2Nrcyk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGJsb2NrID0gdGhpcy5hcGkuYmxvY2tzLmdldEJsb2NrQnlJbmRleChpbmRleCk7XG4gICAgICAgIGNvbnN0IGRhdGFJbmRleCA9IE51bWJlcihibG9jaz8uaG9sZGVyLmRhdGFzZXRbJ2luZGV4J10pO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24/LnJhbmdlQ291bnQgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSByYW5nZT8uc3RhcnRPZmZzZXQgPz8gMTtcblxuICAgICAgICBsZXQgbmV4dEJsb2NrSW5kZXggPSBkYXRhSW5kZXg7XG5cbiAgICAgICAgaWYgKGNhcmV0UG9zaXRpb24gIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ29udGFpbmVyID0gYmxvY2s/LmhvbGRlci5xdWVyeVNlbGVjdG9yKCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0spIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5Db3VudCA9IGJsb2NrQ29udGFpbmVyPy5jaGlsZHJlbj8ubGVuZ3RoID8gYmxvY2tDb250YWluZXI/LmNoaWxkcmVuPy5sZW5ndGggLSAxIDogMDtcblxuICAgICAgICAgICAgbmV4dEJsb2NrSW5kZXggPSBkYXRhSW5kZXggKyBjaGlsZHJlbkNvdW50ICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghbmV4dEJsb2NrSW5kZXgpIHtcbiAgICAgICAgICAgIG5leHRCbG9ja0luZGV4IHx8PSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5leHRCbG9ja0luZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmxvY2tQYXJ0T2JqZWN0KGJsb2NrSWQ6IHN0cmluZywgdGV4dDogc3RyaW5nKTogQ3VpQ29tYmluZWRQYXJ0QmxvY2sge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGJsb2NrSWQsXG4gICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZDogdGhpcy5kYXRhLmlkLFxuICAgICAgICAgICAgICAgIHBhcmVudFR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TXV0YXRpb25BY3Rpb25zKG11dGF0aW9uTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IEN1aU11dGF0aW9uQWN0aW9ucyB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRFbGVtZW50cyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50c0lkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCBjaGFuZ2VkT3V0c2lkZUVsZW1lbnRzOiBOb2RlW10gPSBbXTtcblxuICAgICAgICB0aGlzLmxhc3RCbG9ja0VsZW1lbnQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgbXV0YXRpb25MaXN0LmZvckVhY2goKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVVcGRhdGVkQmxvY2tzKG11dGF0aW9uLCB1cGRhdGVkRWxlbWVudHMsIGNoYW5nZWRPdXRzaWRlRWxlbWVudHMpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZW1vdmVkQmxvY2tzKG11dGF0aW9uLCByZW1vdmVkRWxlbWVudHNJZHMpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5sYXN0QmxvY2tFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBsYXN0QmxvY2tFbGVtZW50ID0gdGhpcy5sYXN0QmxvY2tFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICBsYXN0QmxvY2tFbGVtZW50LmFwcGVuZCguLi5jaGFuZ2VkT3V0c2lkZUVsZW1lbnRzKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXRUb0Jsb2Nrc0VuZChsYXN0QmxvY2tFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMsXG4gICAgICAgICAgICByZW1vdmVkRWxlbWVudHNJZHNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhcmV0VG9CbG9ja3NFbmQoYmxvY2s6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGJsb2NrLCBibG9jay5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgICAgIHNlbGVjdGlvbj8ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgIHNlbGVjdGlvbj8uYWRkUmFuZ2UocmFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlVXBkYXRlZEJsb2NrcyhcbiAgICAgICAgbXV0YXRpb246IE11dGF0aW9uUmVjb3JkLFxuICAgICAgICB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4sXG4gICAgICAgIG91dHNpZGVDaGFuZ2VzOiBOb2RlW11cbiAgICApOiB2b2lkIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKG11dGF0aW9uLnRhcmdldC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBtdXRhdGlvbi50YXJnZXQucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNwYW4gPSBlbGVtZW50Py5jbG9zZXN0KCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHNwYW4pIHtcbiAgICAgICAgICAgIHVwZGF0ZWRFbGVtZW50cy5hZGQoc3Bhbik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc091dHNpZGVCbG9jayhlbGVtZW50LCBvdXRzaWRlQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVDaGFuZ2VzT3V0c2lkZUJsb2NrKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBvdXRzaWRlQ2hhbmdlczogTm9kZVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghZWxlbWVudCB8fCB0aGlzLmxhc3RCbG9ja0VsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmxvY2tFbGVtZW50ID0gYmxvY2sgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChibG9ja0VsZW1lbnQuY2xhc3NMaXN0Py5jb250YWlucyhDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0QmxvY2tFbGVtZW50ID0gYmxvY2tFbGVtZW50O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdXRzaWRlQ2hhbmdlcy5wdXNoKGJsb2NrKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCbG9ja3Moc3BsaWNlZFBhcnRzOiBIVE1MRWxlbWVudFtdLCB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFzcGxpY2VkUGFydHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRlZEJsb2NrczogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSA9IHNwbGljZWRQYXJ0cy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja0lkID0gYmxvY2suZGF0YXNldFsnaWQnXTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogYmxvY2tJZCxcbiAgICAgICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBibG9jay5pbm5lckhUTUwsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB0aGlzLmRhdGEuaWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudCA9IHVwZGF0ZWRFbGVtZW50cy52YWx1ZXMoKS5uZXh0KCkudmFsdWU7XG4gICAgICAgIGNvbnN0IGlkID0gcHJldmlvdXNFbGVtZW50Py5kYXRhc2V0WydpZCddO1xuICAgICAgICBjb25zdCBpbmRleCA9IE51bWJlcihwcmV2aW91c0VsZW1lbnQ/LmRhdGFzZXRbJ2luZGV4J10pICsgMTtcbiAgICAgICAgY29uc3QgYmxvY2tJbmRleCA9IHRoaXMuZGF0YS50ZXh0QmxvY2tzLmZpbmRJbmRleCgoYmxvY2spID0+IGJsb2NrLmlkID09PSBpZCk7XG5cbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3Muc3BsaWNlKGJsb2NrSW5kZXgsIDAsIC4uLmFkZGVkQmxvY2tzKTtcbiAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19BRERFRCwge1xuICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICBibG9ja0luZGV4LFxuICAgICAgICAgICAgYmxvY2tzOiBhZGRlZEJsb2NrcyxcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuZGF0YS50ZXh0QmxvY2tzXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmxvY2tzKHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICBpZiAoIXVwZGF0ZWRFbGVtZW50cy5zaXplKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1cGRhdGVkQmxvY2tzID0gWy4uLnVwZGF0ZWRFbGVtZW50cy52YWx1ZXMoKV0ubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogYmxvY2suZGF0YXNldFsnaWQnXSxcbiAgICAgICAgICAgICAgICB0eXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBibG9jay5pbm5lckhUTUwsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiB0aGlzLmRhdGEuaWQsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXBpLmV2ZW50cy5lbWl0KENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCwgdXBkYXRlZEJsb2Nrcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSZW1vdmVkQmxvY2tzKG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCwgcmVtb3ZlZEVsZW1lbnRzSWRzOiBTZXQ8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICBpZiAobXV0YXRpb24ucmVtb3ZlZE5vZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbXV0YXRpb24ucmVtb3ZlZE5vZGVzLmZvckVhY2goKG5vZGU6IE5vZGUpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSWQgPSAobm9kZSBhcyBIVE1MRWxlbWVudCkuZGF0YXNldFsnaWQnXTtcblxuICAgICAgICAgICAgaWYgKCFibG9ja0lkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZW1vdmVkRWxlbWVudHNJZHMuYWRkKGJsb2NrSWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUJsb2NrcyhpZHM6IFNldDxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIGlmICghaWRzLnNpemUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50SWRzID0gWy4uLmlkcy52YWx1ZXMoKV07XG5cbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MgPSB0aGlzLmRhdGEudGV4dEJsb2Nrcy5maWx0ZXIoKGJsb2NrKSA9PiAhaWRzLmhhcyhibG9jay5pZCB8fCAnJykpO1xuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX1JFTU9WRUQsIHJlbW92ZWRFbGVtZW50SWRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZShibG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFibG9ja3MubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3MuZm9yRWFjaCgoYmxvY2s6IEN1aUNvbWJpbmVkUGFydEJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMuY3JlYXRlQmxvY2soYmxvY2suaWQgfHwgZ2VuZXJhdGVJZCgpLCBibG9jay5kYXRhLnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMud3JhcHBlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMud3JhcHBlci5xdWVyeVNlbGVjdG9yKCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLndyYXBwZXIuYXBwZW5kKHRleHRFbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLnJlcGxhY2VDaGlsZHJlbih0ZXh0RWxlbWVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcGkuZXZlbnRzLmVtaXQoQ09NQklORURfVEVYVF9CTE9DS19BRERFRCwge1xuICAgICAgICAgICAgICAgIGJsb2Nrc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQmxvY2soaWQ6IHN0cmluZywgdGV4dDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5UQUcpO1xuICAgICAgICB0ZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCk7XG4gICAgICAgIHRleHRFbGVtZW50LmlubmVySFRNTCA9IHRleHQ7XG4gICAgICAgIHRleHRFbGVtZW50LmRhdGFzZXRbJ2lkJ10gPSBpZDtcblxuICAgICAgICByZXR1cm4gdGV4dEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhOiB7IHRleHQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2NrcyA9IGRhdGEubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgIGJsb2NrLmlkID0gZ2VuZXJhdGVJZCgpO1xuICAgICAgICAgICAgICAgIGJsb2NrLmRhdGEucGFyZW50SWQgPSB0aGlzLmRhdGEuaWQ7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2s7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGF0YS50ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGRhdGEudGV4dCk7XG4gICAgICAgIGxldCBlbGVtZW50Q29udGVudCA9ICcnO1xuXG4gICAgICAgIGZyYWdtZW50LmNoaWxkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudENvbnRlbnQgKz0gbm9kZS50ZXh0Q29udGVudDtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZWxlbWVudENvbnRlbnQgKz0gKG5vZGUgYXMgSFRNTEVsZW1lbnQpLmlubmVySFRNTDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcGFydHMgPSBlbGVtZW50Q29udGVudC5sZW5ndGggPCBTUExJVF9NQVhfTEVOR1RIID8gW2VsZW1lbnRDb250ZW50XSA6IHNwbGl0SFRNTChlbGVtZW50Q29udGVudCk7XG5cbiAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9ja09iamVjdCA9IHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KGdlbmVyYXRlSWQoKSwgcGFydCk7XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2goYmxvY2tPYmplY3QpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrSXNFZGl0b3JFbXB0eSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIgfHwgdGhpcy53cmFwcGVyLmNoaWxkcmVuLmxlbmd0aCA+IHRoaXMuTUFYX0NISUxEX0NPVU5UX0ZPUl9FTVBUWSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMud3JhcHBlci5jaGlsZHJlbi5pdGVtKDApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBpc0l0ZW1FbXB0eSA9ICFpdGVtLnRleHRDb250ZW50Py5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy53cmFwcGVyLmRhdGFzZXRbJ2VtcHR5J10gPSBgJHtpc0l0ZW1FbXB0eX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGxhY2Vob2xkZXIoY29uZmlnOiBUb29sQ29uZmlnKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWcucmVhZG9ubHlQbGFjZWhvbGRlciA/PyBERUZBVUxUX1JFQURPTkxZX1BMQUNFSE9MREVSO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZy5wbGFjZWhvbGRlciA/PyBERUZBVUxUX1BMQUNFSE9MREVSO1xuICAgIH1cbn1cbiJdfQ==
380
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtdGV4dC1ibG9jay50b29sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvdG9vbHMvY29tYmluZWQtdGV4dC1ibG9jay50b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixtQkFBbUIsRUFDbkIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNuQixNQUFNLGNBQWMsQ0FBQztBQU90QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRSxNQUFNLE9BQU8sd0JBQXdCO0lBb0JqQyxZQUFZLE9BQWdCO1FBbkJYLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFDYixrQkFBYSxHQUFHLEdBQUcsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsbUJBQW1CLENBQUM7UUFFMUQsbUJBQWMsR0FBRztZQUNyQixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQVFNLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBMkpwQix3QkFBbUIsR0FBRyxDQUFDLElBQVksRUFBdUIsRUFBRTtZQUNoRSxJQUFJLFNBQVMsR0FBK0MsSUFBSSxDQUFDO1lBRWpFLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ1osWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2dCQUVELFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQztRQWxLRSxNQUFNLElBQUksR0FBRyxPQUFzQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDUixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxVQUFVLEVBQUU7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRTtTQUNwQyxDQUFDO1FBRUYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sTUFBTSxLQUFLLG1CQUFtQjtRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLGdCQUFnQjtRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sTUFBTSxLQUFLLE9BQU87UUFDckIsT0FBTztZQUNILElBQUksRUFBRSxxU0FBcVM7WUFDM1MsS0FBSyxFQUFFLE1BQU07U0FDaEIsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLEtBQUssV0FBVztRQUN6QixPQUFPO1lBQ0gsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2QsQ0FBQztJQUNOLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUU5RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQWtDO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFMUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pCLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU3QyxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsT0FBTztZQUNYLENBQUM7WUFFRCxDQUFDLEVBQUUsQ0FBQztZQUNKLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFL0csS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLElBQUksQ0FBQyxZQUF5QjtRQUNqQyxNQUFNLFVBQVUsR0FBMkIsRUFBRSxDQUFDO1FBRTlDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBaUIsRUFBRSxFQUFFO1lBQ2xFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFFNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUEyQixFQUFFLEVBQUU7WUFDekQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZSxDQUFDLFFBQWtELEVBQUUsWUFBOEI7UUFDdEcsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzlCLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBRXpDLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBY08sZUFBZTtRQUNuQixNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkYsTUFBTSxZQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUV2QyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBb0IsRUFBRSxFQUFFO1lBQzdDLE1BQU0sY0FBYyxHQUFXLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFFakQsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7Z0JBQzNDLE9BQU87WUFDWCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRXhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNkLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRXBELFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxZQUFZO1FBQ2hCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFekQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRSxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUU5QyxJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFFL0IsSUFBSSxhQUFhLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLG1CQUFtQixDQUFnQixDQUFDO1lBQzdGLE1BQU0sYUFBYSxHQUFHLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsRyxjQUFjLEdBQUcsU0FBUyxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsQixjQUFjLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBZSxFQUFFLElBQVk7UUFDcEQsT0FBTztZQUNILEVBQUUsRUFBRSxPQUFPO1lBQ1gsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixJQUFJLEVBQUU7Z0JBQ0YsSUFBSTtnQkFDSixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QixVQUFVLEVBQUUsd0JBQXdCO2FBQ3ZDO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUE4QjtRQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQy9DLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUM3QyxNQUFNLHNCQUFzQixHQUFXLEVBQUUsQ0FBQztRQUUxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1FBRWxDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUF3QixFQUFRLEVBQUU7WUFDcEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUErQixDQUFDO1lBRTlELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLHNCQUFzQixDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU87WUFDSCxlQUFlO1lBQ2Ysa0JBQWtCO1NBQ3JCLENBQUM7SUFDTixDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBa0I7UUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVyQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUM3QixTQUFTLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTyxtQkFBbUIsQ0FDdkIsUUFBd0IsRUFDeEIsZUFBaUMsRUFDakMsY0FBc0I7UUFFdEIsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQXFCLENBQUM7UUFFN0MsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBNEIsQ0FBQztRQUMzRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsd0JBQXdCLENBQWdCLENBQUM7UUFFN0UsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFMUIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFvQixFQUFFLGNBQXNCO1FBQzFFLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNYLENBQUM7UUFFRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pDLE1BQU0sWUFBWSxHQUFHLEtBQW9CLENBQUM7WUFFMUMsSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7Z0JBRXJDLE9BQU87WUFDWCxDQUFDO1lBRUQsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxTQUFTLENBQUMsWUFBMkIsRUFBRSxlQUFpQztRQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQTJCLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXBDLE9BQU87Z0JBQ0gsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsSUFBSSxFQUFFO29CQUNGLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUztvQkFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEIsVUFBVSxFQUFFLHdCQUF3QjtpQkFDdkM7YUFDSixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzlELE1BQU0sRUFBRSxHQUFHLGVBQWUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQzVDLEtBQUs7WUFDTCxVQUFVO1lBQ1YsTUFBTSxFQUFFLFdBQVc7WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sWUFBWSxDQUFDLGVBQWlDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDOUQsT0FBTztnQkFDSCxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLElBQUksRUFBRTtvQkFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLFNBQVM7b0JBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3RCLFVBQVUsRUFBRSx3QkFBd0I7aUJBQ3ZDO2FBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUF3QixFQUFFLGtCQUErQjtRQUNqRixJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDWCxDQUFDO1FBRUQsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFVLEVBQVEsRUFBRTtZQUMvQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsT0FBTztZQUNYLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBSSxJQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztZQUNYLENBQUM7WUFFRCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sWUFBWSxDQUFDLEdBQWdCO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU8sTUFBTSxDQUFDLE1BQThCO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBMkIsRUFBRSxFQUFFO1lBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxVQUFVLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRWhGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsd0JBQXdCLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFakMsT0FBTztZQUNYLENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVDLE1BQU07YUFDVCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXLENBQUMsRUFBVSxFQUFFLElBQVk7UUFDeEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRCxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUUvQixPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBc0I7UUFDckQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0QyxLQUFLLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFFbkMsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFeEIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFFbkMsT0FBTztZQUNYLENBQUM7WUFFRCxjQUFjLElBQUssSUFBb0IsQ0FBQyxTQUFTLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdEcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO1lBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUVoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqRixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQztRQUU5QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBa0I7UUFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxNQUFNLENBQUMsbUJBQW1CLElBQUksNEJBQTRCLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLFdBQVcsSUFBSSxtQkFBbUIsQ0FBQztJQUNyRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHR5cGUgeyBBUEksIEJsb2NrVG9vbCwgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zLCBUb29sQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLLFxyXG4gICAgQ09NQklORURfVEVYVF9CTE9DS19BRERFRCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfUkVNT1ZFRCxcclxuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCxcclxuICAgIERFRkFVTFRfUExBQ0VIT0xERVIsXHJcbiAgICBERUZBVUxUX1JFQURPTkxZX1BMQUNFSE9MREVSLFxyXG4gICAgU1BMSVRfTUFYX0xFTkdUSFxyXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICAgIEN1aUNvbWJpbmVkQmxvY2tUb29sRGF0YSxcclxuICAgIEN1aUNvbWJpbmVkUGFydEJsb2NrLFxyXG4gICAgQ3VpTXV0YXRpb25BY3Rpb25zLFxyXG4gICAgQ3VpTXV0YXRpb25DYWxsYmFja1xyXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyByZWNhbGN1bGF0ZUluZGV4ZXMsIHNwbGl0SFRNTCwgZ2VuZXJhdGVJZCB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDdWlDb21iaW5lZFRleHRCbG9ja1Rvb2wgaW1wbGVtZW50cyBCbG9ja1Rvb2wge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBUQUcgPSAnc3Bhbic7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IERFQk9VTkNFX1RJTUUgPSAzNTA7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IE1BWF9DSElMRF9DT1VOVF9GT1JfRU1QVFkgPSAxO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBQTEFDRUhPTERFUl9BVFRSSUJVVEVfTkFNRSA9ICdwbGFjZWhvbGRlckFjdGl2ZSc7XHJcblxyXG4gICAgcHJpdmF0ZSBtdXRhdGlvbkNvbmZpZyA9IHtcclxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxyXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcclxuICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlXHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBhcGk6IEFQSTtcclxuICAgIHByaXZhdGUgZGF0YTogQ3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhO1xyXG4gICAgcHJpdmF0ZSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSB3cmFwcGVyPzogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIG9ic2VydmVyPzogTXV0YXRpb25PYnNlcnZlcjtcclxuICAgIHByaXZhdGUgbGFzdEJsb2NrRWxlbWVudD86IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSByZWFkT25seT86IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIGNoYW5nZXMgPSBuZXcgTWFwKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogdW5rbm93bikge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSBvcHRpb25zIGFzIEJsb2NrVG9vbENvbnN0cnVjdG9yT3B0aW9ucztcclxuICAgICAgICBjb25zdCBkYXRhID0gYm9keS5kYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnJlYWRPbmx5ID0gYm9keS5yZWFkT25seTtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlcihib2R5LmNvbmZpZyk7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBib2R5LmFwaTtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7XHJcbiAgICAgICAgICAgIGlkOiBkYXRhLmlkIHx8IGdlbmVyYXRlSWQoKSxcclxuICAgICAgICAgICAgdGV4dEJsb2NrczogZGF0YS50ZXh0QmxvY2tzIHx8IFtdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RGVmYXVsdERhdGFUb0N1c3RvbShkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNSZWFkT25seVN1cHBvcnRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBlbmFibGVMaW5lQnJlYWtzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IHsgaWNvbjogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH0ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGljb246ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNOCA5VjcuMkM4IDcuMDg5NTQgOC4wODk1NCA3IDguMiA3TDEyIDdNMTYgOVY3LjJDMTYgNy4wODk1NCAxNS45MTA1IDcgMTUuOCA3TDEyIDdNMTIgN0wxMiAxN00xMiAxN0gxME0xMiAxN0gxNFwiPjwvcGF0aD48L3N2Zz4nLFxyXG4gICAgICAgICAgICB0aXRsZTogJ1RleHQnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBwYXN0ZUNvbmZpZygpOiBvYmplY3Qge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhZ3M6IFsnUCddXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25QYXN0ZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ3RhZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGV4dCA9IGV2ZW50LmRldGFpbC5kYXRhLnRleHRDb250ZW50O1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2Nrcy5zcGxpY2UodGhpcy5kYXRhLnRleHRCbG9ja3MubGVuZ3RoIC0gMSwgMSwgdGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoZ2VuZXJhdGVJZCgpLCB0ZXh0KSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGUodGhpcy5kYXRhLnRleHRCbG9ja3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW5kZXIoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHRoaXMud3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRoaXMud3JhcHBlci5jbGFzc0xpc3QuYWRkKENPTUJJTkVEX1RFWFRfQkxPQ0spO1xyXG4gICAgICAgIHRoaXMud3JhcHBlci5kYXRhc2V0W3RoaXMuUExBQ0VIT0xERVJfQVRUUklCVVRFX05BTUVdID0gdGhpcy5hcGkuaTE4bi50KHRoaXMucGxhY2Vob2xkZXIpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLmNvbnRlbnRFZGl0YWJsZSA9ICd0cnVlJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5kYXRhLnRleHRCbG9ja3MubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2godGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoZ2VuZXJhdGVJZCgpLCAnJykpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGUodGhpcy5kYXRhLnRleHRCbG9ja3MpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tJc0VkaXRvckVtcHR5KCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IHRoaXMuZ2V0TXV0YXRpb25DYWxsYmFjayh0aGlzLkRFQk9VTkNFX1RJTUUpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKHRoaXMub25NdXRhdGlvbkV2ZW50LmJpbmQodGhpcywgY2FsbGJhY2spKTtcclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMud3JhcHBlciwgdGhpcy5tdXRhdGlvbkNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy53cmFwcGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtZXJnZShibG9ja3NEYXRhOiBDdWlDb21iaW5lZFBhcnRCbG9ja1tdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGJsb2Nrc1RleHRDb250ZW50ID0gJyc7XHJcbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MgPSBbXTtcclxuXHJcbiAgICAgICAgYmxvY2tzRGF0YS5mb3JFYWNoKChibG9jaykgPT4ge1xyXG4gICAgICAgICAgICBibG9ja3NUZXh0Q29udGVudCArPSBibG9jay5kYXRhLnRleHQ7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy53cmFwcGVyLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMud3JhcHBlci5jaGlsZE5vZGVzLml0ZW0oaSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIShub2RlIGluc3RhbmNlb2YgSFRNTFNwYW5FbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpLS07XHJcbiAgICAgICAgICAgIGJsb2Nrc1RleHRDb250ZW50ID0gbm9kZS5pbm5lckhUTUwgKyBibG9ja3NUZXh0Q29udGVudDtcclxuICAgICAgICAgICAgbm9kZS5yZW1vdmUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcnRzID0gYmxvY2tzVGV4dENvbnRlbnQubGVuZ3RoIDwgU1BMSVRfTUFYX0xFTkdUSCA/IFtibG9ja3NUZXh0Q29udGVudF0gOiBzcGxpdEhUTUwoYmxvY2tzVGV4dENvbnRlbnQpO1xyXG5cclxuICAgICAgICBwYXJ0cy5mb3JFYWNoKChwYXJ0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYmxvY2tPYmplY3QgPSB0aGlzLmdldEJsb2NrUGFydE9iamVjdChnZW5lcmF0ZUlkKCksIHBhcnQpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MucHVzaChibG9ja09iamVjdCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlKHRoaXMuZGF0YS50ZXh0QmxvY2tzKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2F2ZShibG9ja0NvbnRlbnQ6IEhUTUxFbGVtZW50KTogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSB7XHJcbiAgICAgICAgY29uc3QgdGV4dEJsb2NrczogQ3VpQ29tYmluZWRQYXJ0QmxvY2tbXSA9IFtdO1xyXG5cclxuICAgICAgICBibG9ja0NvbnRlbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLlRBRykuZm9yRWFjaCgoc3BhbjogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgdGV4dEJsb2Nrcy5wdXNoKHRoaXMuZ2V0QmxvY2tQYXJ0T2JqZWN0KHNwYW4uZGF0YXNldFsnaWQnXSEsIHNwYW4uaW5uZXJIVE1MKSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0ZXh0QmxvY2tzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuXHJcbiAgICAgICAgY29uc3QgYmxvY2tJZHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3MuZm9yRWFjaCgoYmxvY2s6IEN1aUNvbWJpbmVkUGFydEJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGJsb2NrSWRzLmFkZChibG9jay5pZCB8fCAnJyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucmVtb3ZlQmxvY2tzKGJsb2NrSWRzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uTXV0YXRpb25FdmVudChjYWxsYmFjazogKG11dGF0aW9uTGlzdDogTXV0YXRpb25SZWNvcmRbXSkgPT4gdm9pZCwgbXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG11dGF0aW9uTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbXV0YXRpb25MaXN0LmZvckVhY2goKG11dGF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KGdlbmVyYXRlSWQoKSwgbXV0YXRpb24pO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzLnNldChtdXRhdGlvbi50YXJnZXQsIG11dGF0aW9uKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY2FsbGJhY2sobXV0YXRpb25MaXN0KTtcclxuICAgICAgICB0aGlzLmNoZWNrSXNFZGl0b3JFbXB0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TXV0YXRpb25DYWxsYmFjayA9ICh3YWl0OiBudW1iZXIpOiBDdWlNdXRhdGlvbkNhbGxiYWNrID0+IHtcclxuICAgICAgICBsZXQgdGltZW91dElkOiBDdWlOdWxsYWJsZTxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4gPSBudWxsO1xyXG5cclxuICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGltZW91dElkKSB7XHJcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZU11dGF0aW9ucygpLCB3YWl0KTtcclxuICAgICAgICB9O1xyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU11dGF0aW9ucygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBtdXRhdGlvbnNMaXN0ID0gWy4uLnRoaXMuY2hhbmdlcy52YWx1ZXMoKV07XHJcbiAgICAgICAgY29uc3QgeyB1cGRhdGVkRWxlbWVudHMsIHJlbW92ZWRFbGVtZW50c0lkcyB9ID0gdGhpcy5nZXRNdXRhdGlvbkFjdGlvbnMobXV0YXRpb25zTGlzdCk7XHJcbiAgICAgICAgY29uc3Qgc3BsaXRlZFBhcnRzOiBIVE1MRWxlbWVudFtdID0gW107XHJcblxyXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Q29udGVudDogc3RyaW5nID0gZWxlbWVudC5pbm5lckhUTUw7XHJcblxyXG4gICAgICAgICAgICBpZiAoZWxlbWVudENvbnRlbnQubGVuZ3RoIDwgU1BMSVRfTUFYX0xFTkdUSCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHNwbGl0SFRNTChlbGVtZW50Q29udGVudCk7XHJcblxyXG4gICAgICAgICAgICBwYXJ0cy5mb3JFYWNoKChwYXJ0OiBzdHJpbmcsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2tJZCA9IGdlbmVyYXRlSWQoKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRFbGVtZW50ID0gdGhpcy5jcmVhdGVCbG9jayhibG9ja0lkLCBwYXJ0KTtcclxuXHJcbiAgICAgICAgICAgICAgICBzcGxpdGVkUGFydHMucHVzaCh0ZXh0RWxlbWVudCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBwYXJ0c1swXTtcclxuICAgICAgICAgICAgZWxlbWVudC5hZnRlciguLi5zcGxpdGVkUGFydHMpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmFkZEJsb2NrcyhzcGxpdGVkUGFydHMsIHVwZGF0ZWRFbGVtZW50cyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVCbG9ja3ModXBkYXRlZEVsZW1lbnRzKTtcclxuICAgICAgICB0aGlzLnJlbW92ZUJsb2NrcyhyZW1vdmVkRWxlbWVudHNJZHMpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlcy5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TmV4dEluZGV4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmVjYWxjdWxhdGVJbmRleGVzKHRoaXMuYXBpLmJsb2Nrcyk7XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKTtcclxuICAgICAgICBjb25zdCBibG9jayA9IHRoaXMuYXBpLmJsb2Nrcy5nZXRCbG9ja0J5SW5kZXgoaW5kZXgpO1xyXG4gICAgICAgIGNvbnN0IGRhdGFJbmRleCA9IE51bWJlcihibG9jaz8uaG9sZGVyLmRhdGFzZXRbJ2luZGV4J10pO1xyXG5cclxuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBzZWxlY3Rpb24/LnJhbmdlQ291bnQgPyBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKSA6IG51bGw7XHJcbiAgICAgICAgY29uc3QgY2FyZXRQb3NpdGlvbiA9IHJhbmdlPy5zdGFydE9mZnNldCA/PyAxO1xyXG5cclxuICAgICAgICBsZXQgbmV4dEJsb2NrSW5kZXggPSBkYXRhSW5kZXg7XHJcblxyXG4gICAgICAgIGlmIChjYXJldFBvc2l0aW9uICE9PSAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrQ29udGFpbmVyID0gYmxvY2s/LmhvbGRlci5xdWVyeVNlbGVjdG9yKCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0spIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbkNvdW50ID0gYmxvY2tDb250YWluZXI/LmNoaWxkcmVuPy5sZW5ndGggPyBibG9ja0NvbnRhaW5lcj8uY2hpbGRyZW4/Lmxlbmd0aCAtIDEgOiAwO1xyXG5cclxuICAgICAgICAgICAgbmV4dEJsb2NrSW5kZXggPSBkYXRhSW5kZXggKyBjaGlsZHJlbkNvdW50ICsgMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghbmV4dEJsb2NrSW5kZXgpIHtcclxuICAgICAgICAgICAgbmV4dEJsb2NrSW5kZXggfHw9IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmV4dEJsb2NrSW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRCbG9ja1BhcnRPYmplY3QoYmxvY2tJZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBDdWlDb21iaW5lZFBhcnRCbG9jayB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IGJsb2NrSWQsXHJcbiAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGV4dCxcclxuICAgICAgICAgICAgICAgIHBhcmVudElkOiB0aGlzLmRhdGEuaWQsXHJcbiAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX05BTUVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRNdXRhdGlvbkFjdGlvbnMobXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKTogQ3VpTXV0YXRpb25BY3Rpb25zIHtcclxuICAgICAgICBjb25zdCB1cGRhdGVkRWxlbWVudHMgPSBuZXcgU2V0PEhUTUxFbGVtZW50PigpO1xyXG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50c0lkcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgICAgIGNvbnN0IGNoYW5nZWRPdXRzaWRlRWxlbWVudHM6IE5vZGVbXSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLmxhc3RCbG9ja0VsZW1lbnQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgIG11dGF0aW9uTGlzdC5mb3JFYWNoKChtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVVcGRhdGVkQmxvY2tzKG11dGF0aW9uLCB1cGRhdGVkRWxlbWVudHMsIGNoYW5nZWRPdXRzaWRlRWxlbWVudHMpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZWRCbG9ja3MobXV0YXRpb24sIHJlbW92ZWRFbGVtZW50c0lkcyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmxhc3RCbG9ja0VsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEJsb2NrRWxlbWVudCA9IHRoaXMubGFzdEJsb2NrRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgICAgIGxhc3RCbG9ja0VsZW1lbnQuYXBwZW5kKC4uLmNoYW5nZWRPdXRzaWRlRWxlbWVudHMpO1xyXG4gICAgICAgICAgICB0aGlzLnNldENhcmV0VG9CbG9ja3NFbmQobGFzdEJsb2NrRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB1cGRhdGVkRWxlbWVudHMsXHJcbiAgICAgICAgICAgIHJlbW92ZWRFbGVtZW50c0lkc1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRDYXJldFRvQmxvY2tzRW5kKGJsb2NrOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcclxuICAgICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XHJcblxyXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGJsb2NrLCBibG9jay5jaGlsZE5vZGVzLmxlbmd0aCk7XHJcbiAgICAgICAgc2VsZWN0aW9uPy5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgICAgICBzZWxlY3Rpb24/LmFkZFJhbmdlKHJhbmdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVVwZGF0ZWRCbG9ja3MoXHJcbiAgICAgICAgbXV0YXRpb246IE11dGF0aW9uUmVjb3JkLFxyXG4gICAgICAgIHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50PixcclxuICAgICAgICBvdXRzaWRlQ2hhbmdlczogTm9kZVtdXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBsZXQgZWxlbWVudCA9IG11dGF0aW9uLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgaWYgKG11dGF0aW9uLnRhcmdldC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgICAgICAgZWxlbWVudCA9IG11dGF0aW9uLnRhcmdldC5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3BhbiA9IGVsZW1lbnQ/LmNsb3Nlc3QoJy4nICsgQ09NQklORURfVEVYVF9CTE9DS19QQVJUKSBhcyBIVE1MRWxlbWVudDtcclxuXHJcbiAgICAgICAgaWYgKHNwYW4pIHtcclxuICAgICAgICAgICAgdXBkYXRlZEVsZW1lbnRzLmFkZChzcGFuKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlc091dHNpZGVCbG9jayhlbGVtZW50LCBvdXRzaWRlQ2hhbmdlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVDaGFuZ2VzT3V0c2lkZUJsb2NrKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBvdXRzaWRlQ2hhbmdlczogTm9kZVtdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFlbGVtZW50IHx8IHRoaXMubGFzdEJsb2NrRWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbGVtZW50LmNoaWxkTm9kZXMuZm9yRWFjaCgoYmxvY2spID0+IHtcclxuICAgICAgICAgICAgY29uc3QgYmxvY2tFbGVtZW50ID0gYmxvY2sgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICBpZiAoYmxvY2tFbGVtZW50LmNsYXNzTGlzdD8uY29udGFpbnMoQ09NQklORURfVEVYVF9CTE9DS19QQVJUKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0QmxvY2tFbGVtZW50ID0gYmxvY2tFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgb3V0c2lkZUNoYW5nZXMucHVzaChibG9jayk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRCbG9ja3Moc3BsaWNlZFBhcnRzOiBIVE1MRWxlbWVudFtdLCB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXNwbGljZWRQYXJ0cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgYWRkZWRCbG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10gPSBzcGxpY2VkUGFydHMubWFwKChibG9jaykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBibG9ja0lkID0gYmxvY2suZGF0YXNldFsnaWQnXTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpZDogYmxvY2tJZCxcclxuICAgICAgICAgICAgICAgIHR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCxcclxuICAgICAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiBibG9jay5pbm5lckhUTUwsXHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHRoaXMuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRUeXBlOiBDT01CSU5FRF9URVhUX0JMT0NLX05BTUVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gdXBkYXRlZEVsZW1lbnRzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcclxuICAgICAgICBjb25zdCBpZCA9IHByZXZpb3VzRWxlbWVudD8uZGF0YXNldFsnaWQnXTtcclxuICAgICAgICBjb25zdCBpbmRleCA9IE51bWJlcihwcmV2aW91c0VsZW1lbnQ/LmRhdGFzZXRbJ2luZGV4J10pICsgMTtcclxuICAgICAgICBjb25zdCBibG9ja0luZGV4ID0gdGhpcy5kYXRhLnRleHRCbG9ja3MuZmluZEluZGV4KChibG9jaykgPT4gYmxvY2suaWQgPT09IGlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhLnRleHRCbG9ja3Muc3BsaWNlKGJsb2NrSW5kZXgsIDAsIC4uLmFkZGVkQmxvY2tzKTtcclxuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELCB7XHJcbiAgICAgICAgICAgIGluZGV4LFxyXG4gICAgICAgICAgICBibG9ja0luZGV4LFxyXG4gICAgICAgICAgICBibG9ja3M6IGFkZGVkQmxvY2tzLFxyXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGEudGV4dEJsb2Nrc1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQmxvY2tzKHVwZGF0ZWRFbGVtZW50czogU2V0PEhUTUxFbGVtZW50Pik6IHZvaWQge1xyXG4gICAgICAgIGlmICghdXBkYXRlZEVsZW1lbnRzLnNpemUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXBkYXRlZEJsb2NrcyA9IFsuLi51cGRhdGVkRWxlbWVudHMudmFsdWVzKCldLm1hcCgoYmxvY2spID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlkOiBibG9jay5kYXRhc2V0WydpZCddLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogQ09NQklORURfVEVYVF9CTE9DS19QQVJULFxyXG4gICAgICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGJsb2NrLmlubmVySFRNTCxcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogdGhpcy5kYXRhLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudFR5cGU6IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX1VQREFURUQsIHVwZGF0ZWRCbG9ja3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVtb3ZlZEJsb2NrcyhtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQsIHJlbW92ZWRFbGVtZW50c0lkczogU2V0PHN0cmluZz4pOiB2b2lkIHtcclxuICAgICAgICBpZiAobXV0YXRpb24ucmVtb3ZlZE5vZGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBtdXRhdGlvbi5yZW1vdmVkTm9kZXMuZm9yRWFjaCgobm9kZTogTm9kZSk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIShub2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrSWQgPSAobm9kZSBhcyBIVE1MRWxlbWVudCkuZGF0YXNldFsnaWQnXTtcclxuXHJcbiAgICAgICAgICAgIGlmICghYmxvY2tJZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZW1vdmVkRWxlbWVudHNJZHMuYWRkKGJsb2NrSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVtb3ZlQmxvY2tzKGlkczogU2V0PHN0cmluZz4pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWlkcy5zaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50SWRzID0gWy4uLmlkcy52YWx1ZXMoKV07XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzID0gdGhpcy5kYXRhLnRleHRCbG9ja3MuZmlsdGVyKChibG9jaykgPT4gIWlkcy5oYXMoYmxvY2suaWQgfHwgJycpKTtcclxuICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX1JFTU9WRUQsIHJlbW92ZWRFbGVtZW50SWRzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZShibG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWJsb2Nrcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYmxvY2tzLmZvckVhY2goKGJsb2NrOiBDdWlDb21iaW5lZFBhcnRCbG9jaykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMuY3JlYXRlQmxvY2soYmxvY2suaWQgfHwgZ2VuZXJhdGVJZCgpLCBibG9jay5kYXRhLnRleHQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLndyYXBwZXIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMud3JhcHBlci5xdWVyeVNlbGVjdG9yKCcuJyArIENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud3JhcHBlci5hcHBlbmQodGV4dEVsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53cmFwcGVyLnJlcGxhY2VDaGlsZHJlbih0ZXh0RWxlbWVudCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFwaS5ldmVudHMuZW1pdChDT01CSU5FRF9URVhUX0JMT0NLX0FEREVELCB7XHJcbiAgICAgICAgICAgICAgICBibG9ja3NcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVCbG9jayhpZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgY29uc3QgdGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuVEFHKTtcclxuICAgICAgICB0ZXh0RWxlbWVudC5jbGFzc0xpc3QuYWRkKENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCk7XHJcbiAgICAgICAgdGV4dEVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dDtcclxuICAgICAgICB0ZXh0RWxlbWVudC5kYXRhc2V0WydpZCddID0gaWQ7XHJcblxyXG4gICAgICAgIHJldHVybiB0ZXh0RWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNvbnZlcnREZWZhdWx0RGF0YVRvQ3VzdG9tKGRhdGE6IHsgdGV4dDogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEudGV4dEJsb2NrcyA9IGRhdGEubWFwKChibG9jaykgPT4ge1xyXG4gICAgICAgICAgICAgICAgYmxvY2suaWQgPSBnZW5lcmF0ZUlkKCk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5kYXRhLnBhcmVudElkID0gdGhpcy5kYXRhLmlkO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBibG9jaztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWRhdGEudGV4dCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGRhdGEudGV4dCk7XHJcbiAgICAgICAgbGV0IGVsZW1lbnRDb250ZW50ID0gJyc7XHJcblxyXG4gICAgICAgIGZyYWdtZW50LmNoaWxkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnRDb250ZW50ICs9IG5vZGUudGV4dENvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBlbGVtZW50Q29udGVudCArPSAobm9kZSBhcyBIVE1MRWxlbWVudCkuaW5uZXJIVE1MO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJ0cyA9IGVsZW1lbnRDb250ZW50Lmxlbmd0aCA8IFNQTElUX01BWF9MRU5HVEggPyBbZWxlbWVudENvbnRlbnRdIDogc3BsaXRIVE1MKGVsZW1lbnRDb250ZW50KTtcclxuXHJcbiAgICAgICAgcGFydHMuZm9yRWFjaCgocGFydDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrT2JqZWN0ID0gdGhpcy5nZXRCbG9ja1BhcnRPYmplY3QoZ2VuZXJhdGVJZCgpLCBwYXJ0KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0QmxvY2tzLnB1c2goYmxvY2tPYmplY3QpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tJc0VkaXRvckVtcHR5KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy53cmFwcGVyIHx8IHRoaXMud3JhcHBlci5jaGlsZHJlbi5sZW5ndGggPiB0aGlzLk1BWF9DSElMRF9DT1VOVF9GT1JfRU1QVFkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMud3JhcHBlci5jaGlsZHJlbi5pdGVtKDApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGlzSXRlbUVtcHR5ID0gIWl0ZW0udGV4dENvbnRlbnQ/Lmxlbmd0aDtcclxuXHJcbiAgICAgICAgdGhpcy53cmFwcGVyLmRhdGFzZXRbJ2VtcHR5J10gPSBgJHtpc0l0ZW1FbXB0eX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0UGxhY2Vob2xkZXIoY29uZmlnOiBUb29sQ29uZmlnKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xyXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLnJlYWRvbmx5UGxhY2Vob2xkZXIgPz8gREVGQVVMVF9SRUFET05MWV9QTEFDRUhPTERFUjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBjb25maWcucGxhY2Vob2xkZXIgPz8gREVGQVVMVF9QTEFDRUhPTERFUjtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -154,4 +154,4 @@ export class CuiImageTool {
154
154
  this.imageTool.tunes = { ...this.data.tunes };
155
155
  }
156
156
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL2ltYWdlLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQTRCLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJdkcsTUFBTSxPQUFPLFlBQVk7SUFFckIsSUFBWSxLQUFLO1FBQ2IsT0FBTztZQUNIO2dCQUNJLElBQUksRUFBRSxXQUFXO2dCQUNqQixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsTUFBTSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxjQUFjO2dCQUNyQixNQUFNLEVBQUUsSUFBSTthQUNmO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFVTSxNQUFNLEtBQUssbUJBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssT0FBTztRQUNyQixPQUFPO1lBQ0gsb0JBQW9CO1lBQ3BCLElBQUksRUFBRTs7OzttQkFJQztZQUNQLG1CQUFtQjtZQUNuQixLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sS0FBSyxXQUFXO1FBQ3pCLE9BQU87WUFDSCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRTtpQkFDckI7YUFDSjtZQUNELEtBQUssRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVksT0FBcUI7UUF0RHpCLGlCQUFZLEdBQStCLElBQUksQ0FBQztRQTZFakQsaUJBQVksR0FBRyxHQUFTLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxD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bGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgdHlwZSB7IEFQSSwgQmxvY2tBUEksIEJsb2NrVG9vbENvbnN0cnVjdG9yT3B0aW9ucywgUGFzdGVDb25maWcsIFRvb2xib3hDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xyXG5pbXBvcnQgdHlwZSB7IFR1bmVzTWVudUNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcy90eXBlcy90b29scyc7XHJcblxyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IEVkaXRvckltYWdlVG9vbENvbXBvbmVudCwgRURJVE9SX0lNQUdFX1RPT0xfU0VMRUNUT1IgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkaXRvci1pbWFnZS10b29sJztcclxuaW1wb3J0IHR5cGUgeyBDdWlJbWFnZVRvb2xDb25maWcsIEN1aUltYWdlVG9vbERhdGEsIEN1aUltYWdlVHVuZXMgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkaXRvci1pbWFnZS10b29sJztcclxuaW1wb3J0IHR5cGUgeyBDdWlGaWxlRGF0YSwgQ3VpVHVuZSwgQ3VpQW5ndWxhckVsZW1lbnQsIEN1aVJlc291cmNlRmlsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1aUltYWdlVG9vbCB7XHJcbiAgICBwcml2YXRlIHNlbGVjdGVkRmlsZTogQ3VpTnVsbGFibGU8c3RyaW5nIHwgRmlsZT4gPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBnZXQgVHVuZXMoKTogQ3VpVHVuZVtdIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc3RyZXRjaGVkJyxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiAnU3RyZXRjaCBpbWFnZScsXHJcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NlbnRlciBpbWFnZScsXHJcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFwaTogQVBJO1xyXG4gICAgcHVibGljIGRhdGE6IEN1aUltYWdlVG9vbERhdGE7XHJcbiAgICBwdWJsaWMgY29uZmlnOiBDdWlJbWFnZVRvb2xDb25maWc7XHJcbiAgICBwdWJsaWMgYmxvY2tBcGk/OiBCbG9ja0FQSTtcclxuICAgIHB1YmxpYyByZWFkT25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyB1cGxvYWRlcjogQ3VpRmlsZVVwbG9hZGVyO1xyXG4gICAgcHVibGljIGltYWdlVG9vbCE6IEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvckltYWdlVG9vbENvbXBvbmVudD47XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNSZWFkT25seVN1cHBvcnRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IFRvb2xib3hDb25maWcge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgICAgIGljb246IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNTAxMyA0LjE2NjVINy41MDEzQzUuNjYwMzUgNC4xNjY1IDQuMTY3OTcgNS42NTg4OSA0LjE2Nzk3IDcuNDk5ODRWMTIuNDk5OEM0LjE2Nzk3IDE0LjM0MDggNS42NjAzNSAxNS44MzMyIDcuNTAxMyAxNS44MzMySDEyLjUwMTNDMTQuMzQyMyAxNS44MzMyIDE1LjgzNDYgMTQuMzQwOCAxNS44MzQ2IDEyLjQ5OThWNy40OTk4NEMxNS44MzQ2IDUuNjU4ODkgMTQuMzQyMyA0LjE2NjUgMTIuNTAxMyA0LjE2NjVaXCIgc3Ryb2tlPVwiIzEyMTMxNVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuMjgxMjUgMTIuNzY2NUw3LjI0MDMzIDkuNjM4MjVDNy41MjI2MyA5LjMzNjE3IDcuOTA1NDYgOS4xNjY1IDguMzA0NjMgOS4xNjY1QzguNzAzNzcgOS4xNjY1IDkuMDg2NiA5LjMzNjE3IDkuMzY4OTMgOS42MzgyNUwxMi44MjA4IDEzLjMzMzJNMTEuMzE1NCAxMS43MjE4TDEyLjUwOTIgMTAuNDQ0QzEyLjc5MTQgMTAuMTQxOSAxMy4xNzQzIDkuOTcyMTcgMTMuNTczNCA5Ljk3MjE3QzEzLjk3MjYgOS45NzIxNyAxNC4zNTU0IDEwLjE0MTkgMTQuNjM3OCAxMC40NDRMMTUuNjk5IDExLjYzNlwiIHN0cm9rZT1cIiMxMjEzMTVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS40ODA1IDcuNzc3ODNIMTEuNDg3OVwiIHN0cm9rZT1cIiMxMjEzMTVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5gLFxyXG4gICAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovXHJcbiAgICAgICAgICAgIHRpdGxlOiAnSW1hZ2UnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBwYXN0ZUNvbmZpZygpOiBQYXN0ZUNvbmZpZyB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGFnczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZzogeyBzcmM6IHRydWUgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBmaWxlczoge1xyXG4gICAgICAgICAgICAgICAgbWltZVR5cGVzOiBbJ2ltYWdlLyonXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7IGFwaTogQVBJIH0pIHtcclxuICAgICAgICBjb25zdCB7IGFwaSwgcmVhZE9ubHksIGNvbmZpZywgZGF0YSwgYmxvY2sgfSA9IG9wdGlvbnMgYXMgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zPFxyXG4gICAgICAgICAgICBDdWlJbWFnZVRvb2xEYXRhLFxyXG4gICAgICAgICAgICBQYXJ0aWFsPEN1aUltYWdlVG9vbENvbmZpZz5cclxuICAgICAgICA+O1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpID0gYmxvY2s7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgICBsb2FkOiBjb25maWc/LmxvYWQgPz8gKCgpID0+IHsgfSksXHJcbiAgICAgICAgICAgIGZpZWxkOiBjb25maWc/LmZpZWxkID8/ICdpbWFnZScsXHJcbiAgICAgICAgICAgIHR5cGVzOiBjb25maWc/LnR5cGVzID8/ICdpbWFnZS8qJyxcclxuICAgICAgICAgICAgZW5kcG9pbnQ6IGNvbmZpZz8uZW5kcG9pbnQgPz8gJycsXHJcbiAgICAgICAgICAgIGJ1dHRvbkNvbnRlbnQ6IGNvbmZpZz8uYnV0dG9uQ29udGVudCA/PyB0aGlzLmFwaS5pMThuLnQoJ1NlbGVjdCBhbiBJbWFnZScpLFxyXG4gICAgICAgICAgICBhZGRpdGlvbmFsUmVxdWVzdEhlYWRlcnM6IGNvbmZpZz8uYWRkaXRpb25hbFJlcXVlc3RIZWFkZXJzIHx8IHt9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy51cGxvYWRlciA9IG5ldyBDdWlGaWxlVXBsb2FkZXIodGhpcy5jb25maWcsIHRoaXMub25VcGxvYWQuYmluZCh0aGlzKSwgdGhpcy51cGxvYWRpbmdGYWlsZWQuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLmRhdGEudHVuZXMgPSB0aGlzLmRhdGEudHVuZXMgfHwge307XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VsZWN0RmlsZSA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRlci5zZWxlY3RGaWxlKHtcclxuICAgICAgICAgICAgZmlsZVNlbGVjdGVkOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlVG9vbC5wcmV2aWV3ID0gdXJsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZVRvb2wuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGVyLnVwbG9hZEZpbGUoZmlsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9uUGFzdGUoZXZlbnQ6IEN1c3RvbUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IHtcclxuICAgICAgICAgICAgdGFnOiB0aGlzLnBhc3RlQnlUYWcuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgZmlsZTogdGhpcy5wYXN0ZUJ5RmlsZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBrZXkgPSBldmVudC50eXBlIGFzIGtleW9mIHR5cGVvZiBhY3Rpb25zO1xyXG5cclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGFjdGlvbnNba2V5XShldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXN0ZUJ5RmlsZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZXZlbnQuZGV0YWlsLmZpbGU7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMudXBsb2FkZXIudXBsb2FkRmlsZShmaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhc3RlQnlUYWcoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGV2ZW50LmRldGFpbC5kYXRhLnNyYztcclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMudXBsb2FkZXIudXBsb2FkQnlVcmwoZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFwcGVuZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGaWxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbmRlcigpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBFRElUT1JfSU1BR0VfVE9PTF9TRUxFQ1RPUlxyXG4gICAgICAgICkgYXMgQ3VpQW5ndWxhckVsZW1lbnQ8RWRpdG9ySW1hZ2VUb29sQ29tcG9uZW50PjtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuYXBpID0gdGhpcy5hcGk7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuaW1hZ2UgPSB0aGlzLmRhdGEuZmlsZT8udXJsIHx8ICcnO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLmNhcHRpb24gPSB0aGlzLmRhdGEuY2FwdGlvbiB8fCAnJztcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC50dW5lcyA9IHRoaXMuZGF0YS50dW5lcztcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5yZWFkT25seSA9IHRoaXMucmVhZE9ubHk7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuYnV0dG9uQ29udGVudCA9IHRoaXMuY29uZmlnLmJ1dHRvbkNvbnRlbnQ7XHJcblxyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLmFkZEV2ZW50TGlzdGVuZXIoJ2ZpbGVTZWxlY3RlZCcsIHRoaXMub25TZWxlY3RGaWxlKTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5hZGRFdmVudExpc3RlbmVyKCdjYXB0aW9uQ2hhbmdlZCcsIHRoaXMuY2hhbmdlQ2FwdGlvbi5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VUb29sO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW5kZXJTZXR0aW5ncygpOiBUdW5lc01lbnVDb25maWcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLlR1bmVzLm1hcCgodHVuZSkgPT4gKHtcclxuICAgICAgICAgICAgaWNvbjogdHVuZS5pY29uLFxyXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5hcGkuaTE4bi50KHR1bmUudGl0bGUpLFxyXG4gICAgICAgICAgICBuYW1lOiB0dW5lLm5hbWUsXHJcbiAgICAgICAgICAgIHRvZ2dsZTogdHVuZS50b2dnbGUsXHJcbiAgICAgICAgICAgIGlzQWN0aXZlOiB0aGlzLmRhdGEudHVuZXNbdHVuZS5uYW1lIGFzIGtleW9mIEN1aUltYWdlVHVuZXNdLFxyXG4gICAgICAgICAgICBvbkFjdGl2YXRlOiAoKTogdm9pZCA9PiB0aGlzLnR1bmVUb2dnbGVkKHR1bmUubmFtZSBhcyBrZXlvZiBDdWlJbWFnZVR1bmVzKVxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2F2ZSgpOiBDdWlJbWFnZVRvb2xEYXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZpbGVTZWxlY3RlZCcsIHRoaXMub25TZWxlY3RGaWxlKTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5yZW1vdmVFdmVudExpc3RlbmVyKCdjYXB0aW9uQ2hhbmdlZCcsIHRoaXMuY2hhbmdlQ2FwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYW5nZUNhcHRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tRXZlbnQgPSBldmVudCBhcyBDdXN0b21FdmVudDtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGN1c3RvbUV2ZW50LmRldGFpbDtcclxuICAgICAgICB0aGlzLmRhdGEuY2FwdGlvbiA9IHZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpPy5kaXNwYXRjaENoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgaW1hZ2UoZmlsZTogQ3VpRmlsZURhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGEuZmlsZSA9IGZpbGUgfHwge307XHJcblxyXG4gICAgICAgIGlmIChmaWxlICYmIGZpbGUudXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VUb29sLmltYWdlID0gZmlsZS51cmw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25VcGxvYWQocmVzcG9uc2U6IEN1aVJlc291cmNlRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2VzcyB8fCAhcmVzcG9uc2UuZmlsZSB8fCAhdGhpcy5zZWxlY3RlZEZpbGUpIHtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdGYWlsZWQoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHVybCA9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlIGluc3RhbmNlb2YgRmlsZSA/IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKHRoaXMuc2VsZWN0ZWRGaWxlKSA6IHRoaXMuc2VsZWN0ZWRGaWxlO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEuZmlsZSA9IHJlc3BvbnNlLmZpbGU7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuaW1hZ2UgPSB1cmw7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGxvYWRpbmdGYWlsZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuaW1hZ2UgPSAnJztcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHR1bmVUb2dnbGVkKHR1bmVOYW1lOiBrZXlvZiBDdWlJbWFnZVR1bmVzKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSAhKHRoaXMuZGF0YS50dW5lc1t0dW5lTmFtZV0gfHwgZmFsc2UpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEudHVuZXNbdHVuZU5hbWVdID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wudHVuZXMgPSB7IC4uLnRoaXMuZGF0YS50dW5lcyB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL2ltYWdlLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQTRCLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJdkcsTUFBTSxPQUFPLFlBQVk7SUFFckIsSUFBWSxLQUFLO1FBQ2IsT0FBTztZQUNIO2dCQUNJLElBQUksRUFBRSxXQUFXO2dCQUNqQixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsTUFBTSxFQUFFLElBQUk7YUFDZjtZQUNEO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxjQUFjO2dCQUNyQixNQUFNLEVBQUUsSUFBSTthQUNmO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFVTSxNQUFNLEtBQUssbUJBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssT0FBTztRQUNyQixPQUFPO1lBQ0gsb0JBQW9CO1lBQ3BCLElBQUksRUFBRTs7OzttQkFJQztZQUNQLG1CQUFtQjtZQUNuQixLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sS0FBSyxXQUFXO1FBQ3pCLE9BQU87WUFDSCxJQUFJLEVBQUU7Z0JBQ0Y7b0JBQ0ksR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRTtpQkFDckI7YUFDSjtZQUNELEtBQUssRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVksT0FBcUI7UUF0RHpCLGlCQUFZLEdBQStCLElBQUksQ0FBQztRQTZFakQsaUJBQVksR0FBRyxHQUFTLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxD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bGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgdHlwZSB7IEFQSSwgQmxvY2tBUEksIEJsb2NrVG9vbENvbnN0cnVjdG9yT3B0aW9ucywgUGFzdGVDb25maWcsIFRvb2xib3hDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xyXG5pbXBvcnQgdHlwZSB7IFR1bmVzTWVudUNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcy90eXBlcy90b29scyc7XHJcblxyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IEVkaXRvckltYWdlVG9vbENvbXBvbmVudCwgRURJVE9SX0lNQUdFX1RPT0xfU0VMRUNUT1IgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkaXRvci1pbWFnZS10b29sJztcclxuaW1wb3J0IHR5cGUgeyBDdWlJbWFnZVRvb2xDb25maWcsIEN1aUltYWdlVG9vbERhdGEsIEN1aUltYWdlVHVuZXMgfSBmcm9tICcuLi9jb21wb25lbnRzL2VkaXRvci1pbWFnZS10b29sJztcclxuaW1wb3J0IHR5cGUgeyBDdWlGaWxlRGF0YSwgQ3VpVHVuZSwgQ3VpQW5ndWxhckVsZW1lbnQsIEN1aVJlc291cmNlRmlsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1aUltYWdlVG9vbCB7XHJcbiAgICBwcml2YXRlIHNlbGVjdGVkRmlsZTogQ3VpTnVsbGFibGU8c3RyaW5nIHwgRmlsZT4gPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBnZXQgVHVuZXMoKTogQ3VpVHVuZVtdIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc3RyZXRjaGVkJyxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiAnU3RyZXRjaCBpbWFnZScsXHJcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0NlbnRlciBpbWFnZScsXHJcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFwaTogQVBJO1xyXG4gICAgcHVibGljIGRhdGE6IEN1aUltYWdlVG9vbERhdGE7XHJcbiAgICBwdWJsaWMgY29uZmlnOiBDdWlJbWFnZVRvb2xDb25maWc7XHJcbiAgICBwdWJsaWMgYmxvY2tBcGk/OiBCbG9ja0FQSTtcclxuICAgIHB1YmxpYyByZWFkT25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyB1cGxvYWRlcjogQ3VpRmlsZVVwbG9hZGVyO1xyXG4gICAgcHVibGljIGltYWdlVG9vbCE6IEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvckltYWdlVG9vbENvbXBvbmVudD47XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNSZWFkT25seVN1cHBvcnRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCB0b29sYm94KCk6IFRvb2xib3hDb25maWcge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgICAgIGljb246IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTIuNTAxMyA0LjE2NjVINy41MDEzQzUuNjYwMzUgNC4xNjY1IDQuMTY3OTcgNS42NTg4OSA0LjE2Nzk3IDcuNDk5ODRWMTIuNDk5OEM0LjE2Nzk3IDE0LjM0MDggNS42NjAzNSAxNS44MzMyIDcuNTAxMyAxNS44MzMySDEyLjUwMTNDMTQuMzQyMyAxNS44MzMyIDE1LjgzNDYgMTQuMzQwOCAxNS44MzQ2IDEyLjQ5OThWNy40OTk4NEMxNS44MzQ2IDUuNjU4ODkgMTQuMzQyMyA0LjE2NjUgMTIuNTAxMyA0LjE2NjVaXCIgc3Ryb2tlPVwiIzEyMTMxNVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIi8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuMjgxMjUgMTIuNzY2NUw3LjI0MDMzIDkuNjM4MjVDNy41MjI2MyA5LjMzNjE3IDcuOTA1NDYgOS4xNjY1IDguMzA0NjMgOS4xNjY1QzguNzAzNzcgOS4xNjY1IDkuMDg2NiA5LjMzNjE3IDkuMzY4OTMgOS42MzgyNUwxMi44MjA4IDEzLjMzMzJNMTEuMzE1NCAxMS43MjE4TDEyLjUwOTIgMTAuNDQ0QzEyLjc5MTQgMTAuMTQxOSAxMy4xNzQzIDkuOTcyMTcgMTMuNTczNCA5Ljk3MjE3QzEzLjk3MjYgOS45NzIxNyAxNC4zNTU0IDEwLjE0MTkgMTQuNjM3OCAxMC40NDRMMTUuNjk5IDExLjYzNlwiIHN0cm9rZT1cIiMxMjEzMTVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS40ODA1IDcuNzc3ODNIMTEuNDg3OVwiIHN0cm9rZT1cIiMxMjEzMTVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5gLFxyXG4gICAgICAgICAgICAvKiBlc2xpbnQtZW5hYmxlICovXHJcbiAgICAgICAgICAgIHRpdGxlOiAnSW1hZ2UnXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBwYXN0ZUNvbmZpZygpOiBQYXN0ZUNvbmZpZyB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGFnczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZzogeyBzcmM6IHRydWUgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBmaWxlczoge1xyXG4gICAgICAgICAgICAgICAgbWltZVR5cGVzOiBbJ2ltYWdlLyonXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7IGFwaTogQVBJIH0pIHtcclxuICAgICAgICBjb25zdCB7IGFwaSwgcmVhZE9ubHksIGNvbmZpZywgZGF0YSwgYmxvY2sgfSA9IG9wdGlvbnMgYXMgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zPFxyXG4gICAgICAgICAgICBDdWlJbWFnZVRvb2xEYXRhLFxyXG4gICAgICAgICAgICBQYXJ0aWFsPEN1aUltYWdlVG9vbENvbmZpZz5cclxuICAgICAgICA+O1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpID0gYmxvY2s7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgICBsb2FkOiBjb25maWc/LmxvYWQgPz8gKCgpID0+IHt9KSxcclxuICAgICAgICAgICAgZmllbGQ6IGNvbmZpZz8uZmllbGQgPz8gJ2ltYWdlJyxcclxuICAgICAgICAgICAgdHlwZXM6IGNvbmZpZz8udHlwZXMgPz8gJ2ltYWdlLyonLFxyXG4gICAgICAgICAgICBlbmRwb2ludDogY29uZmlnPy5lbmRwb2ludCA/PyAnJyxcclxuICAgICAgICAgICAgYnV0dG9uQ29udGVudDogY29uZmlnPy5idXR0b25Db250ZW50ID8/IHRoaXMuYXBpLmkxOG4udCgnU2VsZWN0IGFuIEltYWdlJyksXHJcbiAgICAgICAgICAgIGFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVyczogY29uZmlnPy5hZGRpdGlvbmFsUmVxdWVzdEhlYWRlcnMgfHwge31cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnVwbG9hZGVyID0gbmV3IEN1aUZpbGVVcGxvYWRlcih0aGlzLmNvbmZpZywgdGhpcy5vblVwbG9hZC5iaW5kKHRoaXMpLCB0aGlzLnVwbG9hZGluZ0ZhaWxlZC5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuZGF0YS50dW5lcyA9IHRoaXMuZGF0YS50dW5lcyB8fCB7fTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25TZWxlY3RGaWxlID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZGVyLnNlbGVjdEZpbGUoe1xyXG4gICAgICAgICAgICBmaWxlU2VsZWN0ZWQ6IChmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VUb29sLnByZXZpZXcgPSB1cmw7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlVG9vbC5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkZXIudXBsb2FkRmlsZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25QYXN0ZShldmVudDogQ3VzdG9tRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBhY3Rpb25zID0ge1xyXG4gICAgICAgICAgICB0YWc6IHRoaXMucGFzdGVCeVRhZy5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICBmaWxlOiB0aGlzLnBhc3RlQnlGaWxlLmJpbmQodGhpcylcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LnR5cGUgYXMga2V5b2YgdHlwZW9mIGFjdGlvbnM7XHJcblxyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgYWN0aW9uc1trZXldKGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhc3RlQnlGaWxlKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBldmVudC5kZXRhaWwuZmlsZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGU7XHJcbiAgICAgICAgdGhpcy51cGxvYWRlci51cGxvYWRGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGFzdGVCeVRhZyhldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlID0gZXZlbnQuZGV0YWlsLmRhdGEuc3JjO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGU7XHJcbiAgICAgICAgdGhpcy51cGxvYWRlci51cGxvYWRCeVVybChmaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXBwZW5kQ2FsbGJhY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdEZpbGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVuZGVyKCk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIEVESVRPUl9JTUFHRV9UT09MX1NFTEVDVE9SXHJcbiAgICAgICAgKSBhcyBDdWlBbmd1bGFyRWxlbWVudDxFZGl0b3JJbWFnZVRvb2xDb21wb25lbnQ+O1xyXG5cclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5hcGkgPSB0aGlzLmFwaTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pbWFnZSA9IHRoaXMuZGF0YS5maWxlPy51cmwgfHwgJyc7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuY2FwdGlvbiA9IHRoaXMuZGF0YS5jYXB0aW9uIHx8ICcnO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLnR1bmVzID0gdGhpcy5kYXRhLnR1bmVzO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLnJlYWRPbmx5ID0gdGhpcy5yZWFkT25seTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5idXR0b25Db250ZW50ID0gdGhpcy5jb25maWcuYnV0dG9uQ29udGVudDtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wuYWRkRXZlbnRMaXN0ZW5lcignZmlsZVNlbGVjdGVkJywgdGhpcy5vblNlbGVjdEZpbGUpO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLmFkZEV2ZW50TGlzdGVuZXIoJ2NhcHRpb25DaGFuZ2VkJywgdGhpcy5jaGFuZ2VDYXB0aW9uLmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZVRvb2w7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbmRlclNldHRpbmdzKCk6IFR1bmVzTWVudUNvbmZpZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuVHVuZXMubWFwKCh0dW5lKSA9PiAoe1xyXG4gICAgICAgICAgICBpY29uOiB0dW5lLmljb24sXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmFwaS5pMThuLnQodHVuZS50aXRsZSksXHJcbiAgICAgICAgICAgIG5hbWU6IHR1bmUubmFtZSxcclxuICAgICAgICAgICAgdG9nZ2xlOiB0dW5lLnRvZ2dsZSxcclxuICAgICAgICAgICAgaXNBY3RpdmU6IHRoaXMuZGF0YS50dW5lc1t0dW5lLm5hbWUgYXMga2V5b2YgQ3VpSW1hZ2VUdW5lc10sXHJcbiAgICAgICAgICAgIG9uQWN0aXZhdGU6ICgpOiB2b2lkID0+IHRoaXMudHVuZVRvZ2dsZWQodHVuZS5uYW1lIGFzIGtleW9mIEN1aUltYWdlVHVuZXMpXHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzYXZlKCk6IEN1aUltYWdlVG9vbERhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pbWFnZVRvb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcignZmlsZVNlbGVjdGVkJywgdGhpcy5vblNlbGVjdEZpbGUpO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NhcHRpb25DaGFuZ2VkJywgdGhpcy5jaGFuZ2VDYXB0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hhbmdlQ2FwdGlvbihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IGV2ZW50IGFzIEN1c3RvbUV2ZW50O1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gY3VzdG9tRXZlbnQuZGV0YWlsO1xyXG4gICAgICAgIHRoaXMuZGF0YS5jYXB0aW9uID0gdmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMuYmxvY2tBcGk/LmRpc3BhdGNoQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCBpbWFnZShmaWxlOiBDdWlGaWxlRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5maWxlID0gZmlsZSB8fCB7fTtcclxuXHJcbiAgICAgICAgaWYgKGZpbGUgJiYgZmlsZS51cmwpIHtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVRvb2wuaW1hZ2UgPSBmaWxlLnVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblVwbG9hZChyZXNwb25zZTogQ3VpUmVzb3VyY2VGaWxlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzIHx8ICFyZXNwb25zZS5maWxlIHx8ICF0aGlzLnNlbGVjdGVkRmlsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnVwbG9hZGluZ0ZhaWxlZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXJsID1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgaW5zdGFuY2VvZiBGaWxlID8gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5zZWxlY3RlZEZpbGUpIDogdGhpcy5zZWxlY3RlZEZpbGU7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS5maWxlID0gcmVzcG9uc2UuZmlsZTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pbWFnZSA9IHVybDtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwbG9hZGluZ0ZhaWxlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC5pbWFnZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuaW1hZ2VUb29sLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdHVuZVRvZ2dsZWQodHVuZU5hbWU6IGtleW9mIEN1aUltYWdlVHVuZXMpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9ICEodGhpcy5kYXRhLnR1bmVzW3R1bmVOYW1lXSB8fCBmYWxzZSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS50dW5lc1t0dW5lTmFtZV0gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmltYWdlVG9vbC50dW5lcyA9IHsgLi4udGhpcy5kYXRhLnR1bmVzIH07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -7,11 +7,11 @@ export class CuiRoleMarker extends CuiCustomMarkerTool {
7
7
  render() {
8
8
  super.render();
9
9
  /* eslint-disable */
10
- this.button.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="-3 -3 24 24" fill="none">
11
- <path d="M13.3335 17.5V15.8333C13.3335 14.9493 12.9823 14.1014 12.3572 13.4763C11.7321 12.8512 10.8842 12.5 10.0002 12.5H4.16683C3.28277 12.5 2.43493 12.8512 1.80981 13.4763C1.18469 14.1014 0.833496 14.9493 0.833496 15.8333V17.5M16.6668 6.66667V11.6667M19.1668 9.16667H14.1668M10.4168 5.83333C10.4168 7.67428 8.92445 9.16667 7.0835 9.16667C5.24255 9.16667 3.75016 7.67428 3.75016 5.83333C3.75016 3.99238 5.24255 2.5 7.0835 2.5C8.92445 2.5 10.4168 3.99238 10.4168 5.83333Z" stroke="#595E6A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
10
+ this.button.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="-3 -3 24 24" fill="none">
11
+ <path d="M13.3335 17.5V15.8333C13.3335 14.9493 12.9823 14.1014 12.3572 13.4763C11.7321 12.8512 10.8842 12.5 10.0002 12.5H4.16683C3.28277 12.5 2.43493 12.8512 1.80981 13.4763C1.18469 14.1014 0.833496 14.9493 0.833496 15.8333V17.5M16.6668 6.66667V11.6667M19.1668 9.16667H14.1668M10.4168 5.83333C10.4168 7.67428 8.92445 9.16667 7.0835 9.16667C5.24255 9.16667 3.75016 7.67428 3.75016 5.83333C3.75016 3.99238 5.24255 2.5 7.0835 2.5C8.92445 2.5 10.4168 3.99238 10.4168 5.83333Z" stroke="#595E6A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
12
12
  </svg>`;
13
13
  /* eslint-enable */
14
14
  return this.button;
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3JvbGUtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRzs7ZUFFakIsQ0FBQztRQUNSLG1CQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcblxuaW1wb3J0IHsgQ3VpQ3VzdG9tTWFya2VyVG9vbCB9IGZyb20gJy4vY3VzdG9tLW1hcmtlci50b29sJztcblxuZXhwb3J0IGNsYXNzIEN1aVJvbGVNYXJrZXIgZXh0ZW5kcyBDdWlDdXN0b21NYXJrZXJUb29sIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgQ0xBU1MgPSAncm9sZS1tYXJrZXInO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSW5saW5lVG9vbENvbnN0cnVjdG9yT3B0aW9ucykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVuZGVyKCk6IEhUTUxCdXR0b25FbGVtZW50IHtcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XG5cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAgICAgdGhpcy5idXR0b24uaW5uZXJIVE1MID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMyAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjMzMzUgMTcuNVYxNS44MzMzQzEzLjMzMzUgMTQuOTQ5MyAxMi45ODIzIDE0LjEwMTQgMTIuMzU3MiAxMy40NzYzQzExLjczMjEgMTIuODUxMiAxMC44ODQyIDEyLjUgMTAuMDAwMiAxMi41SDQuMTY2ODNDMy4yODI3NyAxMi41IDIuNDM0OTMgMTIuODUxMiAxLjgwOTgxIDEzLjQ3NjNDMS4xODQ2OSAxNC4xMDE0IDAuODMzNDk2IDE0Ljk0OTMgMC44MzM0OTYgMTUuODMzM1YxNy41TTE2LjY2NjggNi42NjY2N1YxMS42NjY3TTE5LjE2NjggOS4xNjY2N0gxNC4xNjY4TTEwLjQxNjggNS44MzMzM0MxMC40MTY4IDcuNjc0MjggOC45MjQ0NSA5LjE2NjY3IDcuMDgzNSA5LjE2NjY3QzUuMjQyNTUgOS4xNjY2NyAzLjc1MDE2IDcuNjc0MjggMy43NTAxNiA1LjgzMzMzQzMuNzUwMTYgMy45OTIzOCA1LjI0MjU1IDIuNSA3LjA4MzUgMi41QzguOTI0NDUgMi41IDEwLjQxNjggMy45OTIzOCAxMC40MTY4IDUuODMzMzNaXCIgc3Ryb2tlPVwiIzU5NUU2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPC9zdmc+YDtcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xuXG4gICAgICAgIHJldHVybiB0aGlzLmJ1dHRvbjtcbiAgICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3JvbGUtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRzs7ZUFFakIsQ0FBQztRQUNSLG1CQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7IEN1aUN1c3RvbU1hcmtlclRvb2wgfSBmcm9tICcuL2N1c3RvbS1tYXJrZXIudG9vbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VpUm9sZU1hcmtlciBleHRlbmRzIEN1aUN1c3RvbU1hcmtlclRvb2wge1xyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IENMQVNTID0gJ3JvbGUtbWFya2VyJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIHJlbmRlcigpOiBIVE1MQnV0dG9uRWxlbWVudCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XHJcblxyXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICAgICAgdGhpcy5idXR0b24uaW5uZXJIVE1MID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMyAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMzMzNSAxNy41VjE1LjgzMzNDMTMuMzMzNSAxNC45NDkzIDEyLjk4MjMgMTQuMTAxNCAxMi4zNTcyIDEzLjQ3NjNDMTEuNzMyMSAxMi44NTEyIDEwLjg4NDIgMTIuNSAxMC4wMDAyIDEyLjVINC4xNjY4M0MzLjI4Mjc3IDEyLjUgMi40MzQ5MyAxMi44NTEyIDEuODA5ODEgMTMuNDc2M0MxLjE4NDY5IDE0LjEwMTQgMC44MzM0OTYgMTQuOTQ5MyAwLjgzMzQ5NiAxNS44MzMzVjE3LjVNMTYuNjY2OCA2LjY2NjY3VjExLjY2NjdNMTkuMTY2OCA5LjE2NjY3SDE0LjE2NjhNMTAuNDE2OCA1LjgzMzMzQzEwLjQxNjggNy42NzQyOCA4LjkyNDQ1IDkuMTY2NjcgNy4wODM1IDkuMTY2NjdDNS4yNDI1NSA5LjE2NjY3IDMuNzUwMTYgNy42NzQyOCAzLjc1MDE2IDUuODMzMzNDMy43NTAxNiAzLjk5MjM4IDUuMjQyNTUgMi41IDcuMDgzNSAyLjVDOC45MjQ0NSAyLjUgMTAuNDE2OCAzLjk5MjM4IDEwLjQxNjggNS44MzMzM1pcIiBzdHJva2U9XCIjNTk1RTZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgIDwvc3ZnPmA7XHJcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b247XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -11,4 +11,4 @@ export class CuiToolMarker extends CuiCustomMarkerTool {
11
11
  return this.button;
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3Rvb2wtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQix1MERBQXUwRCxDQUFDO1FBRTUwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcblxuaW1wb3J0IHsgQ3VpQ3VzdG9tTWFya2VyVG9vbCB9IGZyb20gJy4vY3VzdG9tLW1hcmtlci50b29sJztcblxuZXhwb3J0IGNsYXNzIEN1aVRvb2xNYXJrZXIgZXh0ZW5kcyBDdWlDdXN0b21NYXJrZXJUb29sIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgQ0xBU1MgPSAndG9vbC1tYXJrZXInO1xuXG4gICAgY29uc3RydWN0b3IoZGF0YTogSW5saW5lVG9vbENvbnN0cnVjdG9yT3B0aW9ucykge1xuICAgICAgICBzdXBlcihkYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVuZGVyKCk6IEhUTUxCdXR0b25FbGVtZW50IHtcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XG5cbiAgICAgICAgdGhpcy5idXR0b24uaW5uZXJIVE1MID1cbiAgICAgICAgICAgICc8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMiAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGlkPVwidGVjaG5vbG9naWVzLXRvb2xzXCI+PHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTE2LjM1ODEgMTUuMzk2NkwxNi4zNTgxIDExLjQ3MjlDMTYuMzU4MSAxMS40MTU4IDE2LjM0NjkgMTEuMzU5MiAxNi4zMjUgMTEuMzA2NEMxNi4zMDMxIDExLjI1MzYgMTYuMjcxMSAxMS4yMDU2IDE2LjIzMDcgMTEuMTY1MkMxNi4xOTAzIDExLjEyNDggMTYuMTQyMyAxMS4wOTI4IDE2LjA4OTUgMTEuMDcwOUMxNi4wMzY4IDExLjA0OTEgMTUuOTgwMiAxMS4wMzc4IDE1LjkyMyAxMS4wMzc4SDEzLjI1NzRMMTMuMjU5MyAxMS4wMzcyQzEzLjIwMDcgMTEuMDM0OCAxMy4xNDIyIDExLjA0NDMgMTMuMDg3NCAxMS4wNjUxQzEzLjAzMjYgMTEuMDg1OSAxMi45ODI1IDExLjExNzYgMTIuOTQwMiAxMS4xNTgyQzEyLjg5OCAxMS4xOTg5IDEyLjg2NDMgMTEuMjQ3NiAxMi44NDE0IDExLjMwMTZDMTIuODE4NCAxMS4zNTU2IDEyLjgwNjYgMTEuNDEzNiAxMi44MDY3IDExLjQ3MjNMMTIuODA2NyAxNS4zOTcyTTE0LjU4NCAxMS4wMzM0VjUuODMzNE0xNi4zNTgyIDE1LjEwMjJMMTYuMzU4MiAxNy4wNjQ3QzE2LjM1ODMgMTcuMTIzNCAxNi4zNDY1IDE3LjE4MTQgMTYuMzIzNSAxNy4yMzU0QzE2LjMwMDYgMTcuMjg5MyAxNi4yNjY5IDE3LjMzODEgMTYuMjI0NyAxNy4zNzg3QzE2LjE4MjQgMTcuNDE5NCAxNi4xMzIzIDE3LjQ1MTEgMTYuMDc3NSAxNy40NzE5QzE2LjAyMjcgMTcuNDkyNyAxNS45NjQyIDE3LjUwMjIgMTUuOTA1NiAxNy40OTk4TDE1LjkwNzUgMTcuNDk5MkgxMy4yNDE5QzEzLjE4NDcgMTcuNDk5MiAxMy4xMjgyIDE3LjQ4NzkgMTMuMDc1NCAxNy40NjZDMTMuMDIyNiAxNy40NDQyIDEyLjk3NDYgMTcuNDEyMSAxMi45MzQyIDE3LjM3MTdDMTIuODkzOCAxNy4zMzEzIDEyLjg2MTggMTcuMjgzNCAxMi44Mzk5IDE3LjIzMDZDMTIuODE4IDE3LjE3NzggMTIuODA2OCAxNy4xMjEyIDEyLjgwNjggMTcuMDY0MUwxMi44MDY4IDE1LjEwMjJNNS41OTYzNiA5Ljg4NzE5TDUuNTk2MzYgMTUuOTI4NEM1LjU5NjI3IDE2LjA4NzIgNS42Mjc0OCAxNi4yNDQ1IDUuNjg4MjEgMTYuMzkxMkM1Ljc0ODk1IDE2LjUzNzkgNS44MzggMTYuNjcxMyA1Ljk1MDMgMTYuNzgzNkM2LjA2MjU5IDE2Ljg5NTkgNi4xOTU5MSAxNi45ODQ5IDYuMzQyNjUgMTcuMDQ1NkM2LjQ4OTM4IDE3LjEwNjQgNi42NDY2NSAxNy4xMzc2IDYuODA1NDUgMTcuMTM3NUM3LjEyNTg5IDE3LjEzNzUgNy40MzMxOCAxNy4wMTAxIDcuNjU5NzYgMTYuNzgzNkM3Ljg4NjM0IDE2LjU1NyA4LjAxMzY1IDE2LjI0OTcgOC4wMTM3IDE1LjkyOTNMOC4wMTI4NCA5Ljg4NzE5QzkuMjkzMjkgOS4zMjc5MyAxMC40Mjk4IDguMDUwNDcgMTAuNDI5OCA2LjU2MzY3QzEwLjQzMDIgNS4wNzcyOSA5LjIyMTk0IDMuNTQyNjQgOC4wMTI4NCAzLjI0MUw4LjAxMzI3IDUuODM5MDdMNi44MDQ2IDcuMjg4N0w1LjU5NjM2IDUuODM4NjRMNS41OTYzNiAzLjI0MUM0LjM4NzY5IDMuNTQzMDYgMy4xNzkwMiA1LjA3NzI5IDMuMTc5MDIgNi41NjQxQzMuMTc5NDQgOC4wNTA0OCA0LjMxNTkxIDkuMzI3OTMgNS41OTYzNiA5Ljg4NzE5Wk0xNC45OTE2IDUuNTY1NDVMMTQuMTI1MyA1LjU2NTQ1TDEzLjI1ODkgNC42OTkwOUwxMy42OTIxIDIuNTMzMkwxNS40MjQ4IDIuNTMzMkwxNS44NTggNC42OTkwOUwxNC45OTE2IDUuNTY1NDVaXCIgc3Ryb2tlPVwiIzU5NUU2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L2c+PC9zdmc+JztcblxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b247XG4gICAgfVxufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1tYXJrZXIudG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3Rvb2wtbWFya2VyLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUFHbEQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFIWSxVQUFLLEdBQUcsYUFBYSxDQUFDO0lBSWxELENBQUM7SUFFZSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQix1MERBQXUwRCxDQUFDO1FBRTUwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcclxuXHJcbmltcG9ydCB7IEN1aUN1c3RvbU1hcmtlclRvb2wgfSBmcm9tICcuL2N1c3RvbS1tYXJrZXIudG9vbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VpVG9vbE1hcmtlciBleHRlbmRzIEN1aUN1c3RvbU1hcmtlclRvb2wge1xyXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IENMQVNTID0gJ3Rvb2wtbWFya2VyJztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBJbmxpbmVUb29sQ29uc3RydWN0b3JPcHRpb25zKSB7XHJcbiAgICAgICAgc3VwZXIoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG92ZXJyaWRlIHJlbmRlcigpOiBIVE1MQnV0dG9uRWxlbWVudCB7XHJcbiAgICAgICAgc3VwZXIucmVuZGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuYnV0dG9uLmlubmVySFRNTCA9XHJcbiAgICAgICAgICAgICc8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCItMiAtMyAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGlkPVwidGVjaG5vbG9naWVzLXRvb2xzXCI+PHBhdGggaWQ9XCJWZWN0b3JcIiBkPVwiTTE2LjM1ODEgMTUuMzk2NkwxNi4zNTgxIDExLjQ3MjlDMTYuMzU4MSAxMS40MTU4IDE2LjM0NjkgMTEuMzU5MiAxNi4zMjUgMTEuMzA2NEMxNi4zMDMxIDExLjI1MzYgMTYuMjcxMSAxMS4yMDU2IDE2LjIzMDcgMTEuMTY1MkMxNi4xOTAzIDExLjEyNDggMTYuMTQyMyAxMS4wOTI4IDE2LjA4OTUgMTEuMDcwOUMxNi4wMzY4IDExLjA0OTEgMTUuOTgwMiAxMS4wMzc4IDE1LjkyMyAxMS4wMzc4SDEzLjI1NzRMMTMuMjU5MyAxMS4wMzcyQzEzLjIwMDcgMTEuMDM0OCAxMy4xNDIyIDExLjA0NDMgMTMuMDg3NCAxMS4wNjUxQzEzLjAzMjYgMTEuMDg1OSAxMi45ODI1IDExLjExNzYgMTIuOTQwMiAxMS4xNTgyQzEyLjg5OCAxMS4xOTg5IDEyLjg2NDMgMTEuMjQ3NiAxMi44NDE0IDExLjMwMTZDMTIuODE4NCAxMS4zNTU2IDEyLjgwNjYgMTEuNDEzNiAxMi44MDY3IDExLjQ3MjNMMTIuODA2NyAxNS4zOTcyTTE0LjU4NCAxMS4wMzM0VjUuODMzNE0xNi4zNTgyIDE1LjEwMjJMMTYuMzU4MiAxNy4wNjQ3QzE2LjM1ODMgMTcuMTIzNCAxNi4zNDY1IDE3LjE4MTQgMTYuMzIzNSAxNy4yMzU0QzE2LjMwMDYgMTcuMjg5MyAxNi4yNjY5IDE3LjMzODEgMTYuMjI0NyAxNy4zNzg3QzE2LjE4MjQgMTcuNDE5NCAxNi4xMzIzIDE3LjQ1MTEgMTYuMDc3NSAxNy40NzE5QzE2LjAyMjcgMTcuNDkyNyAxNS45NjQyIDE3LjUwMjIgMTUuOTA1NiAxNy40OTk4TDE1LjkwNzUgMTcuNDk5MkgxMy4yNDE5QzEzLjE4NDcgMTcuNDk5MiAxMy4xMjgyIDE3LjQ4NzkgMTMuMDc1NCAxNy40NjZDMTMuMDIyNiAxNy40NDQyIDEyLjk3NDYgMTcuNDEyMSAxMi45MzQyIDE3LjM3MTdDMTIuODkzOCAxNy4zMzEzIDEyLjg2MTggMTcuMjgzNCAxMi44Mzk5IDE3LjIzMDZDMTIuODE4IDE3LjE3NzggMTIuODA2OCAxNy4xMjEyIDEyLjgwNjggMTcuMDY0MUwxMi44MDY4IDE1LjEwMjJNNS41OTYzNiA5Ljg4NzE5TDUuNTk2MzYgMTUuOTI4NEM1LjU5NjI3IDE2LjA4NzIgNS42Mjc0OCAxNi4yNDQ1IDUuNjg4MjEgMTYuMzkxMkM1Ljc0ODk1IDE2LjUzNzkgNS44MzggMTYuNjcxMyA1Ljk1MDMgMTYuNzgzNkM2LjA2MjU5IDE2Ljg5NTkgNi4xOTU5MSAxNi45ODQ5IDYuMzQyNjUgMTcuMDQ1NkM2LjQ4OTM4IDE3LjEwNjQgNi42NDY2NSAxNy4xMzc2IDYuODA1NDUgMTcuMTM3NUM3LjEyNTg5IDE3LjEzNzUgNy40MzMxOCAxNy4wMTAxIDcuNjU5NzYgMTYuNzgzNkM3Ljg4NjM0IDE2LjU1NyA4LjAxMzY1IDE2LjI0OTcgOC4wMTM3IDE1LjkyOTNMOC4wMTI4NCA5Ljg4NzE5QzkuMjkzMjkgOS4zMjc5MyAxMC40Mjk4IDguMDUwNDcgMTAuNDI5OCA2LjU2MzY3QzEwLjQzMDIgNS4wNzcyOSA5LjIyMTk0IDMuNTQyNjQgOC4wMTI4NCAzLjI0MUw4LjAxMzI3IDUuODM5MDdMNi44MDQ2IDcuMjg4N0w1LjU5NjM2IDUuODM4NjRMNS41OTYzNiAzLjI0MUM0LjM4NzY5IDMuNTQzMDYgMy4xNzkwMiA1LjA3NzI5IDMuMTc5MDIgNi41NjQxQzMuMTc5NDQgOC4wNTA0OCA0LjMxNTkxIDkuMzI3OTMgNS41OTYzNiA5Ljg4NzE5Wk0xNC45OTE2IDUuNTY1NDVMMTQuMTI1MyA1LjU2NTQ1TDEzLjI1ODkgNC42OTkwOUwxMy42OTIxIDIuNTMzMkwxNS40MjQ4IDIuNTMzMkwxNS44NTggNC42OTkwOUwxNC45OTE2IDUuNTY1NDVaXCIgc3Ryb2tlPVwiIzU5NUU2QVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L2c+PC9zdmc+JztcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -129,4 +129,4 @@ export class CuiVideoTool {
129
129
  video.load();
130
130
  }
131
131
  }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8udG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3ZpZGVvLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRXZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxNQUFNLE9BQU8sWUFBWTtJQUdkLE1BQU0sS0FBSyxtQkFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxPQUFPO1FBQ3JCLE9BQU87WUFDSCxJQUFJLEVBQUUsU0FBUyxDQUFDLGlCQUFpQjtZQUNqQyxLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sS0FBSyxXQUFXO1FBQ3pCLE9BQU87WUFDSCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDZixRQUFRLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLHlCQUF5QjthQUNuQztZQUNELEtBQUssRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQVVELFlBQVksT0FBcUI7UUFqQ3pCLGlCQUFZLEdBQStCLElBQUksQ0FBQztRQXVEakQsaUJBQVksR0FBRyxHQUFTLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ25CLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRXRDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFD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QUFDO1lBRTVELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNSLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBDVUlfSUNPTlMgfSBmcm9tICdAY3VieS11aS9pY29ucyc7XHJcbmltcG9ydCB0eXBlIHsgQVBJLCBCbG9ja0FQSSwgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zLCBQYXN0ZUNvbmZpZywgVG9vbGJveENvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aUFuZ3VsYXJFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aVZpZGVvVG9vbENvbmZpZywgQ3VpVmlkZW9Ub29sRGF0YSwgRWRpdG9yVmlkZW9Ub29sQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lZGl0b3ItdmlkZW8tdG9vbCc7XHJcbmltcG9ydCB7IEVESVRPUl9WSURFT19UT09MX1NFTEVDVE9SIH0gZnJvbSAnLi4vY29tcG9uZW50cy9lZGl0b3ItdmlkZW8tdG9vbC9lZGl0b3ItdmlkZW8tdG9vbC5vcHRpb25zJztcclxuaW1wb3J0IHR5cGUgeyBDdWlGaWxlRGF0YSwgQ3VpUmVzb3VyY2VGaWxlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWxlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi91dGlscy9maWxlLXVwbG9hZGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDdWlWaWRlb1Rvb2wge1xyXG4gICAgcHJpdmF0ZSBzZWxlY3RlZEZpbGU6IEN1aU51bGxhYmxlPHN0cmluZyB8IEZpbGU+ID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc1JlYWRPbmx5U3VwcG9ydGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHRvb2xib3goKTogVG9vbGJveENvbmZpZyB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWNvbjogQ1VJX0lDT05TLmN1aUljb25QbGF5Q2lyY2xlLFxyXG4gICAgICAgICAgICB0aXRsZTogJ1ZpZGVvJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgcGFzdGVDb25maWcoKTogUGFzdGVDb25maWcge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhZ3M6IFsndmlkZW8nXSxcclxuICAgICAgICAgICAgcGF0dGVybnM6IHtcclxuICAgICAgICAgICAgICAgIHZpZGVvOiAvaHR0cHM/OlxcL1xcL1xcUytcXC4obXA0KSQvaVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmaWxlczoge1xyXG4gICAgICAgICAgICAgICAgbWltZVR5cGVzOiBbJ3ZpZGVvLyonXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXBpOiBBUEk7XHJcbiAgICBwdWJsaWMgY29uZmlnOiBDdWlWaWRlb1Rvb2xDb25maWc7XHJcbiAgICBwdWJsaWMgYmxvY2tBcGk/OiBCbG9ja0FQSTtcclxuICAgIHB1YmxpYyByZWFkT25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBkYXRhOiBDdWlWaWRlb1Rvb2xEYXRhO1xyXG4gICAgcHVibGljIHZpZGVvVG9vbCE6IEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvclZpZGVvVG9vbENvbXBvbmVudD47XHJcbiAgICBwdWJsaWMgdXBsb2FkZXI6IEN1aUZpbGVVcGxvYWRlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7IGFwaTogQVBJIH0pIHtcclxuICAgICAgICBjb25zdCB7IGFwaSwgcmVhZE9ubHksIGNvbmZpZywgZGF0YSwgYmxvY2sgfSA9IG9wdGlvbnMgYXMgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zPFxyXG4gICAgICAgICAgICBDdWlWaWRlb1Rvb2xEYXRhLFxyXG4gICAgICAgICAgICBDdWlWaWRlb1Rvb2xDb25maWdcclxuICAgICAgICA+O1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpID0gYmxvY2s7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgICBsb2FkOiBjb25maWc/LmxvYWQgPz8gKCgpID0+IHsgfSksXHJcbiAgICAgICAgICAgIGZpZWxkOiBjb25maWc/LmZpZWxkID8/ICd2aWRlbycsXHJcbiAgICAgICAgICAgIHR5cGVzOiBjb25maWc/LnR5cGVzID8/ICd2aWRlby8qJyxcclxuICAgICAgICAgICAgZW5kcG9pbnQ6IGNvbmZpZz8uZW5kcG9pbnQgPz8gJycsXHJcbiAgICAgICAgICAgIGJ1dHRvbkNvbnRlbnQ6IGNvbmZpZz8uYnV0dG9uQ29udGVudCA/PyB0aGlzLmFwaS5pMThuLnQoJ1NlbGVjdCBhIFZpZGVvJyksXHJcbiAgICAgICAgICAgIGFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVyczogY29uZmlnPy5hZGRpdGlvbmFsUmVxdWVzdEhlYWRlcnMgPz8ge31cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnVwbG9hZGVyID0gbmV3IEN1aUZpbGVVcGxvYWRlcih0aGlzLmNvbmZpZywgdGhpcy5vblVwbG9hZC5iaW5kKHRoaXMpLCB0aGlzLnVwbG9hZGluZ0ZhaWxlZC5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvblNlbGVjdEZpbGUgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXBsb2FkZXIuc2VsZWN0RmlsZSh7XHJcbiAgICAgICAgICAgIGZpbGVTZWxlY3RlZDogKGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDYXB0dXJlRnJvbVZpZGVvKHVybCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvVG9vbC5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkZXIudXBsb2FkRmlsZShmaWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25QYXN0ZShldmVudDogQ3VzdG9tRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ2ZpbGUnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBldmVudC5kZXRhaWwuZmlsZTtcclxuXHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGU7XHJcbiAgICAgICAgdGhpcy51cGxvYWRlci51cGxvYWRGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhcHBlbmRDYWxsYmFjaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0RmlsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW5kZXIoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgRURJVE9SX1ZJREVPX1RPT0xfU0VMRUNUT1JcclxuICAgICAgICApIGFzIEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvclZpZGVvVG9vbENvbXBvbmVudD47XHJcblxyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLmFwaSA9IHRoaXMuYXBpO1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLnZpZGVvID0gdGhpcy5kYXRhLmZpbGU/LnVybCB8fCAnJztcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5jYXB0aW9uID0gdGhpcy5kYXRhLmNhcHRpb24gfHwgJyc7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wucmVhZE9ubHkgPSB0aGlzLnJlYWRPbmx5O1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLmJ1dHRvbkNvbnRlbnQgPSB0aGlzLmNvbmZpZy5idXR0b25Db250ZW50O1xyXG5cclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5hZGRFdmVudExpc3RlbmVyKCdmaWxlU2VsZWN0ZWQnLCB0aGlzLm9uU2VsZWN0RmlsZSk7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wuYWRkRXZlbnRMaXN0ZW5lcignY2FwdGlvbkNoYW5nZWQnLCB0aGlzLmNoYW5nZUNhcHRpb24uYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZGVvVG9vbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2F2ZSgpOiBDdWlWaWRlb1Rvb2xEYXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZpbGVTZWxlY3RlZCcsIHRoaXMub25TZWxlY3RGaWxlKTtcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5yZW1vdmVFdmVudExpc3RlbmVyKCdjYXB0aW9uQ2hhbmdlZCcsIHRoaXMuY2hhbmdlQ2FwdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoYW5nZUNhcHRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tRXZlbnQgPSBldmVudCBhcyBDdXN0b21FdmVudDtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGN1c3RvbUV2ZW50LmRldGFpbDtcclxuICAgICAgICB0aGlzLmRhdGEuY2FwdGlvbiA9IHZhbHVlO1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpPy5kaXNwYXRjaENoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXQgdmlkZW8oZmlsZTogQ3VpRmlsZURhdGEpIHtcclxuICAgICAgICB0aGlzLmRhdGEuZmlsZSA9IGZpbGUgfHwge307XHJcblxyXG4gICAgICAgIGlmIChmaWxlICYmIGZpbGUudXJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmlkZW9Ub29sLnZpZGVvID0gZmlsZS51cmw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25VcGxvYWQocmVzcG9uc2U6IEN1aVJlc291cmNlRmlsZSk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2VzcyB8fCAhcmVzcG9uc2UuZmlsZSB8fCAhdGhpcy5zZWxlY3RlZEZpbGUpIHtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdGYWlsZWQoKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHVybCA9XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlIGluc3RhbmNlb2YgRmlsZSA/IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKHRoaXMuc2VsZWN0ZWRGaWxlKSA6IHRoaXMuc2VsZWN0ZWRGaWxlO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEuZmlsZSA9IHJlc3BvbnNlLmZpbGU7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wudmlkZW8gPSB1cmw7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGxvYWRpbmdGYWlsZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wudmlkZW8gPSAnJztcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldENhcHR1cmVGcm9tVmlkZW8odXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSBhcyBIVE1MQ2FudmFzRWxlbWVudDtcclxuICAgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJykgYXMgSFRNTFZpZGVvRWxlbWVudDtcclxuXHJcbiAgICAgICAgdmlkZW8uc3JjID0gdXJsO1xyXG4gICAgICAgIHZpZGVvLmN1cnJlbnRUaW1lID0gMTtcclxuICAgICAgICBjYW52YXMud2lkdGggPSAxMjA7XHJcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IDEyMDtcclxuXHJcbiAgICAgICAgdmlkZW8ub25sb2FkZWRkYXRhID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29udGV4dC5kcmF3SW1hZ2UodmlkZW8sIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XHJcblxyXG4gICAgICAgICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWJsb2IpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlb1Rvb2wucHJldmlldyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHZpZGVvLmxvYWQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlkZW8udG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3Rvb2xzL3ZpZGVvLnRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRXZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxNQUFNLE9BQU8sWUFBWTtJQUdkLE1BQU0sS0FBSyxtQkFBbUI7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxPQUFPO1FBQ3JCLE9BQU87WUFDSCxJQUFJLEVBQUUsU0FBUyxDQUFDLGlCQUFpQjtZQUNqQyxLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sS0FBSyxXQUFXO1FBQ3pCLE9BQU87WUFDSCxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDZixRQUFRLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLHlCQUF5QjthQUNuQztZQUNELEtBQUssRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQVVELFlBQVksT0FBcUI7UUFqQ3pCLGlCQUFZLEdBQStCLElBQUksQ0FBQztRQXVEakQsaUJBQVksR0FBRyxHQUFTLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDNUIsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ25CLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRXRDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDOUIsSUFBSSxDQUFD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QUFDO1lBRTVELE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNSLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBDVUlfSUNPTlMgfSBmcm9tICdAY3VieS11aS9pY29ucyc7XHJcbmltcG9ydCB0eXBlIHsgQVBJLCBCbG9ja0FQSSwgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zLCBQYXN0ZUNvbmZpZywgVG9vbGJveENvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aUFuZ3VsYXJFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aVZpZGVvVG9vbENvbmZpZywgQ3VpVmlkZW9Ub29sRGF0YSwgRWRpdG9yVmlkZW9Ub29sQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lZGl0b3ItdmlkZW8tdG9vbCc7XHJcbmltcG9ydCB7IEVESVRPUl9WSURFT19UT09MX1NFTEVDVE9SIH0gZnJvbSAnLi4vY29tcG9uZW50cy9lZGl0b3ItdmlkZW8tdG9vbC9lZGl0b3ItdmlkZW8tdG9vbC5vcHRpb25zJztcclxuaW1wb3J0IHR5cGUgeyBDdWlGaWxlRGF0YSwgQ3VpUmVzb3VyY2VGaWxlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWxlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi91dGlscy9maWxlLXVwbG9hZGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDdWlWaWRlb1Rvb2wge1xyXG4gICAgcHJpdmF0ZSBzZWxlY3RlZEZpbGU6IEN1aU51bGxhYmxlPHN0cmluZyB8IEZpbGU+ID0gbnVsbDtcclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc1JlYWRPbmx5U3VwcG9ydGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHRvb2xib3goKTogVG9vbGJveENvbmZpZyB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWNvbjogQ1VJX0lDT05TLmN1aUljb25QbGF5Q2lyY2xlLFxyXG4gICAgICAgICAgICB0aXRsZTogJ1ZpZGVvJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBnZXQgcGFzdGVDb25maWcoKTogUGFzdGVDb25maWcge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHRhZ3M6IFsndmlkZW8nXSxcclxuICAgICAgICAgICAgcGF0dGVybnM6IHtcclxuICAgICAgICAgICAgICAgIHZpZGVvOiAvaHR0cHM/OlxcL1xcL1xcUytcXC4obXA0KSQvaVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmaWxlczoge1xyXG4gICAgICAgICAgICAgICAgbWltZVR5cGVzOiBbJ3ZpZGVvLyonXVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXBpOiBBUEk7XHJcbiAgICBwdWJsaWMgY29uZmlnOiBDdWlWaWRlb1Rvb2xDb25maWc7XHJcbiAgICBwdWJsaWMgYmxvY2tBcGk/OiBCbG9ja0FQSTtcclxuICAgIHB1YmxpYyByZWFkT25seTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBkYXRhOiBDdWlWaWRlb1Rvb2xEYXRhO1xyXG4gICAgcHVibGljIHZpZGVvVG9vbCE6IEN1aUFuZ3VsYXJFbGVtZW50PEVkaXRvclZpZGVvVG9vbENvbXBvbmVudD47XHJcbiAgICBwdWJsaWMgdXBsb2FkZXI6IEN1aUZpbGVVcGxvYWRlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7IGFwaTogQVBJIH0pIHtcclxuICAgICAgICBjb25zdCB7IGFwaSwgcmVhZE9ubHksIGNvbmZpZywgZGF0YSwgYmxvY2sgfSA9IG9wdGlvbnMgYXMgQmxvY2tUb29sQ29uc3RydWN0b3JPcHRpb25zPFxyXG4gICAgICAgICAgICBDdWlWaWRlb1Rvb2xEYXRhLFxyXG4gICAgICAgICAgICBDdWlWaWRlb1Rvb2xDb25maWdcclxuICAgICAgICA+O1xyXG5cclxuICAgICAgICB0aGlzLmJsb2NrQXBpID0gYmxvY2s7XHJcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XHJcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xyXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgICBsb2FkOiBjb25maWc/LmxvYWQgPz8gKCgpID0+IHt9KSxcclxuICAgICAgICAgICAgZmllbGQ6IGNvbmZpZz8uZmllbGQgPz8gJ3ZpZGVvJyxcclxuICAgICAgICAgICAgdHlwZXM6IGNvbmZpZz8udHlwZXMgPz8gJ3ZpZGVvLyonLFxyXG4gICAgICAgICAgICBlbmRwb2ludDogY29uZmlnPy5lbmRwb2ludCA/PyAnJyxcclxuICAgICAgICAgICAgYnV0dG9uQ29udGVudDogY29uZmlnPy5idXR0b25Db250ZW50ID8/IHRoaXMuYXBpLmkxOG4udCgnU2VsZWN0IGEgVmlkZW8nKSxcclxuICAgICAgICAgICAgYWRkaXRpb25hbFJlcXVlc3RIZWFkZXJzOiBjb25maWc/LmFkZGl0aW9uYWxSZXF1ZXN0SGVhZGVycyA/PyB7fVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMudXBsb2FkZXIgPSBuZXcgQ3VpRmlsZVVwbG9hZGVyKHRoaXMuY29uZmlnLCB0aGlzLm9uVXBsb2FkLmJpbmQodGhpcyksIHRoaXMudXBsb2FkaW5nRmFpbGVkLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uU2VsZWN0RmlsZSA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRlci5zZWxlY3RGaWxlKHtcclxuICAgICAgICAgICAgZmlsZVNlbGVjdGVkOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldENhcHR1cmVGcm9tVmlkZW8odXJsKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlkZW9Ub29sLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZSA9IGZpbGU7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRlci51cGxvYWRGaWxlKGZpbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblBhc3RlKGV2ZW50OiBDdXN0b21FdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlICE9PSAnZmlsZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZmlsZSA9IGV2ZW50LmRldGFpbC5maWxlO1xyXG5cclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcclxuICAgICAgICB0aGlzLnVwbG9hZGVyLnVwbG9hZEZpbGUoZmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFwcGVuZENhbGxiYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25TZWxlY3RGaWxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbmRlcigpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBFRElUT1JfVklERU9fVE9PTF9TRUxFQ1RPUlxyXG4gICAgICAgICkgYXMgQ3VpQW5ndWxhckVsZW1lbnQ8RWRpdG9yVmlkZW9Ub29sQ29tcG9uZW50PjtcclxuXHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wuYXBpID0gdGhpcy5hcGk7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wudmlkZW8gPSB0aGlzLmRhdGEuZmlsZT8udXJsIHx8ICcnO1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLmNhcHRpb24gPSB0aGlzLmRhdGEuY2FwdGlvbiB8fCAnJztcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5yZWFkT25seSA9IHRoaXMucmVhZE9ubHk7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wuYnV0dG9uQ29udGVudCA9IHRoaXMuY29uZmlnLmJ1dHRvbkNvbnRlbnQ7XHJcblxyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLmFkZEV2ZW50TGlzdGVuZXIoJ2ZpbGVTZWxlY3RlZCcsIHRoaXMub25TZWxlY3RGaWxlKTtcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5hZGRFdmVudExpc3RlbmVyKCdjYXB0aW9uQ2hhbmdlZCcsIHRoaXMuY2hhbmdlQ2FwdGlvbi5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmlkZW9Ub29sO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzYXZlKCk6IEN1aVZpZGVvVG9vbERhdGEge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbW92ZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aWRlb1Rvb2wucmVtb3ZlRXZlbnRMaXN0ZW5lcignZmlsZVNlbGVjdGVkJywgdGhpcy5vblNlbGVjdEZpbGUpO1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NhcHRpb25DaGFuZ2VkJywgdGhpcy5jaGFuZ2VDYXB0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hhbmdlQ2FwdGlvbihldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXN0b21FdmVudCA9IGV2ZW50IGFzIEN1c3RvbUV2ZW50O1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gY3VzdG9tRXZlbnQuZGV0YWlsO1xyXG4gICAgICAgIHRoaXMuZGF0YS5jYXB0aW9uID0gdmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMuYmxvY2tBcGk/LmRpc3BhdGNoQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldCB2aWRlbyhmaWxlOiBDdWlGaWxlRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5maWxlID0gZmlsZSB8fCB7fTtcclxuXHJcbiAgICAgICAgaWYgKGZpbGUgJiYgZmlsZS51cmwpIHtcclxuICAgICAgICAgICAgdGhpcy52aWRlb1Rvb2wudmlkZW8gPSBmaWxlLnVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblVwbG9hZChyZXNwb25zZTogQ3VpUmVzb3VyY2VGaWxlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzIHx8ICFyZXNwb25zZS5maWxlIHx8ICF0aGlzLnNlbGVjdGVkRmlsZSkge1xyXG4gICAgICAgICAgICB0aGlzLnVwbG9hZGluZ0ZhaWxlZCgpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXJsID1cclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgaW5zdGFuY2VvZiBGaWxlID8gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5zZWxlY3RlZEZpbGUpIDogdGhpcy5zZWxlY3RlZEZpbGU7XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YS5maWxlID0gcmVzcG9uc2UuZmlsZTtcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC52aWRlbyA9IHVybDtcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwbG9hZGluZ0ZhaWxlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZpZGVvVG9vbC52aWRlbyA9ICcnO1xyXG4gICAgICAgIHRoaXMudmlkZW9Ub29sLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q2FwdHVyZUZyb21WaWRlbyh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpIGFzIEhUTUxDYW52YXNFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKSBhcyBIVE1MVmlkZW9FbGVtZW50O1xyXG5cclxuICAgICAgICB2aWRlby5zcmMgPSB1cmw7XHJcbiAgICAgICAgdmlkZW8uY3VycmVudFRpbWUgPSAxO1xyXG4gICAgICAgIGNhbnZhcy53aWR0aCA9IDEyMDtcclxuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gMTIwO1xyXG5cclxuICAgICAgICB2aWRlby5vbmxvYWRlZGRhdGEgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghY29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZSh2aWRlbywgMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgIGNhbnZhcy50b0Jsb2IoKGJsb2IpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghYmxvYikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvVG9vbC5wcmV2aWV3ID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdmlkZW8ubG9hZCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -14,4 +14,4 @@ function copyTextToClipboardFallback(text) {
14
14
  document.execCommand('copy');
15
15
  document.body.removeChild(textarea);
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10ZXh0LXRvLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL2NvcHktdGV4dC10by1jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVk7SUFDNUMsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLFNBQVMsMkJBQTJCLENBQUMsSUFBWTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXBELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHdpbmRvdz8ubmF2aWdhdG9yLmNsaXBib2FyZCAmJiB3aW5kb3cuaXNTZWN1cmVDb250ZXh0KSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KTtcbiAgICB9XG5cbiAgICBjb3B5VGV4dFRvQ2xpcGJvYXJkRmFsbGJhY2sodGV4dCk7XG59XG5cbi8vIFRPRE86IFJlbW92ZSB3aGVuIHN3aXRjaCB0byBodHRwc1xuZnVuY3Rpb24gY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcblxuICAgIHRleHRhcmVhLnZhbHVlID0gdGV4dDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTtcbiAgICB0ZXh0YXJlYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgdGV4dGFyZWEuc2VsZWN0KCk7XG5cbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10ZXh0LXRvLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL2NvcHktdGV4dC10by1jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVk7SUFDNUMsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLFNBQVMsMkJBQTJCLENBQUMsSUFBWTtJQUM3QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXBELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAod2luZG93Py5uYXZpZ2F0b3IuY2xpcGJvYXJkICYmIHdpbmRvdy5pc1NlY3VyZUNvbnRleHQpIHtcclxuICAgICAgICB3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQpO1xyXG59XHJcblxyXG4vLyBUT0RPOiBSZW1vdmUgd2hlbiBzd2l0Y2ggdG8gaHR0cHNcclxuZnVuY3Rpb24gY29weVRleHRUb0NsaXBib2FyZEZhbGxiYWNrKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG5cclxuICAgIHRleHRhcmVhLnZhbHVlID0gdGV4dDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGV4dGFyZWEpO1xyXG4gICAgdGV4dGFyZWEuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xyXG4gICAgdGV4dGFyZWEuc2VsZWN0KCk7XHJcblxyXG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dGFyZWEpO1xyXG59XHJcbiJdfQ==
@@ -53,4 +53,4 @@ export function createEditorTools(config, resourceUrl) {
53
53
  ...(tools ?? {})
54
54
  };
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvb2xzLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9jcmVhdGUtdG9vbHMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFrQyxFQUFFLFdBQW9CO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkUsTUFBTSxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV2RCxPQUFPO1FBQ0gsTUFBTSxFQUFFO1lBQ0osS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixZQUFZLEVBQUUsQ0FBQzthQUNsQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLEVBQUU7WUFDRixLQUFLLEVBQUUsV0FBVztZQUNsQixhQUFhLEVBQUUsSUFBSTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLFdBQVc7YUFDNUI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLGVBQWU7WUFDdEIsTUFBTSxFQUFFO2dCQUNKLFFBQVE7Z0JBQ1IsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsaUJBQWlCO2FBQ2pDO1lBQ0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUNELEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZO1lBQ25CLE1BQU0sRUFBRTtnQkFDSixRQUFRO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7UUFDRCxLQUFLLEVBQUU7WUFDSCxLQUFLLEVBQUUsWUFBWTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osUUFBUTtnQkFDUixLQUFLLEVBQUUsVUFBVTtnQkFDakIsSUFBSSxFQUFFLFVBQVU7YUFDbkI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDbkIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aVRvb2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdWlBdHRhY2hlc1Rvb2wsIEN1aUhlYWRlclRvb2wsIEN1aUltYWdlVG9vbCwgQ3VpTGlzdFRvb2wsIEN1aVZpZGVvVG9vbCB9IGZyb20gJy4uL3Rvb2xzJztcbmltcG9ydCB7IG9wZW5GaWxlSW5Ccm93c2VyIH0gZnJvbSAnLi9vcGVuLWZpbGUtaW4tYnJvd3Nlcic7XG5pbXBvcnQgeyBzZXRMb2FkaW5nIH0gZnJvbSAnLi9zZXQtbG9hZGluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZGl0b3JUb29scyhyZXNvdXJjZVVybDogc3RyaW5nKTogQ3VpVG9vbHM7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWRpdG9yVG9vbHMoY29uZmlnOiBQYXJ0aWFsPEN1aVRvb2xzPiwgcmVzb3VyY2VVcmw/OiBzdHJpbmcpOiBDdWlUb29scztcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFZGl0b3JUb29scyhjb25maWc6IFBhcnRpYWw8Q3VpVG9vbHM+IHwgc3RyaW5nLCByZXNvdXJjZVVybD86IHN0cmluZyk6IEN1aVRvb2xzIHtcbiAgICBjb25zdCBlbmRwb2ludCA9IHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gY29uZmlnIDogcmVzb3VyY2VVcmw7XG4gICAgY29uc3QgdG9vbHMgPSB0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJyA/IGNvbmZpZyA6IHt9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgaGVhZGVyOiB7XG4gICAgICAgICAgICBjbGFzczogQ3VpSGVhZGVyVG9vbCxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGxldmVsczogWzIsIDMsIDRdLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRMZXZlbDogMlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLih0b29scz8uWydoZWFkZXInXSA/PyB7fSlcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgICAgY2xhc3M6IEN1aUxpc3RUb29sLFxuICAgICAgICAgICAgaW5saW5lVG9vbGJhcjogdHJ1ZSxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGRlZmF1bHRTdHlsZTogJ3Vub3JkZXJlZCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi4odG9vbHM/LlsnbGlzdCddID8/IHt9KVxuICAgICAgICB9LFxuICAgICAgICBhdHRhY2hlczoge1xuICAgICAgICAgICAgY2xhc3M6IEN1aUF0dGFjaGVzVG9vbCxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgIHR5cGVzOiAnLnBkZiwuZG9jLC5kb2N4JyxcbiAgICAgICAgICAgICAgICBsb2FkOiBzZXRMb2FkaW5nLFxuICAgICAgICAgICAgICAgIGZpbGVDbGlja2VkOiBvcGVuRmlsZUluQnJvd3NlclxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLih0b29scz8uWydhdHRhY2hlcyddID8/IHt9KVxuICAgICAgICB9LFxuICAgICAgICB2aWRlbzoge1xuICAgICAgICAgICAgY2xhc3M6IEN1aVZpZGVvVG9vbCxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgIGxvYWQ6IHNldExvYWRpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi4odG9vbHM/LlsndmlkZW8nXSA/PyB7fSlcbiAgICAgICAgfSxcbiAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICAgIGNsYXNzOiBDdWlJbWFnZVRvb2wsXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3Jlc291cmNlJyxcbiAgICAgICAgICAgICAgICBsb2FkOiBzZXRMb2FkaW5nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKHRvb2xzPy5bJ2ltYWdlJ10gPz8ge30pXG4gICAgICAgIH0sXG4gICAgICAgIC4uLih0b29scyA/PyB7fSlcbiAgICB9O1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRvb2xzLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9jcmVhdGUtdG9vbHMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFrQyxFQUFFLFdBQW9CO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkUsTUFBTSxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV2RCxPQUFPO1FBQ0gsTUFBTSxFQUFFO1lBQ0osS0FBSyxFQUFFLGFBQWE7WUFDcEIsTUFBTSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixZQUFZLEVBQUUsQ0FBQzthQUNsQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLEVBQUU7WUFDRixLQUFLLEVBQUUsV0FBVztZQUNsQixhQUFhLEVBQUUsSUFBSTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osWUFBWSxFQUFFLFdBQVc7YUFDNUI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLGVBQWU7WUFDdEIsTUFBTSxFQUFFO2dCQUNKLFFBQVE7Z0JBQ1IsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxVQUFVO2dCQUNoQixXQUFXLEVBQUUsaUJBQWlCO2FBQ2pDO1lBQ0QsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNqQztRQUNELEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZO1lBQ25CLE1BQU0sRUFBRTtnQkFDSixRQUFRO2dCQUNSLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7UUFDRCxLQUFLLEVBQUU7WUFDSCxLQUFLLEVBQUUsWUFBWTtZQUNuQixNQUFNLEVBQUU7Z0JBQ0osUUFBUTtnQkFDUixLQUFLLEVBQUUsVUFBVTtnQkFDakIsSUFBSSxFQUFFLFVBQVU7YUFDbkI7WUFDRCxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO1FBQ0QsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7S0FDbkIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aVRvb2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEN1aUF0dGFjaGVzVG9vbCwgQ3VpSGVhZGVyVG9vbCwgQ3VpSW1hZ2VUb29sLCBDdWlMaXN0VG9vbCwgQ3VpVmlkZW9Ub29sIH0gZnJvbSAnLi4vdG9vbHMnO1xyXG5pbXBvcnQgeyBvcGVuRmlsZUluQnJvd3NlciB9IGZyb20gJy4vb3Blbi1maWxlLWluLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBzZXRMb2FkaW5nIH0gZnJvbSAnLi9zZXQtbG9hZGluZyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWRpdG9yVG9vbHMocmVzb3VyY2VVcmw6IHN0cmluZyk6IEN1aVRvb2xzO1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWRpdG9yVG9vbHMoY29uZmlnOiBQYXJ0aWFsPEN1aVRvb2xzPiwgcmVzb3VyY2VVcmw/OiBzdHJpbmcpOiBDdWlUb29scztcclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVkaXRvclRvb2xzKGNvbmZpZzogUGFydGlhbDxDdWlUb29scz4gfCBzdHJpbmcsIHJlc291cmNlVXJsPzogc3RyaW5nKTogQ3VpVG9vbHMge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSB0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJyA/IGNvbmZpZyA6IHJlc291cmNlVXJsO1xyXG4gICAgY29uc3QgdG9vbHMgPSB0eXBlb2YgY29uZmlnICE9PSAnc3RyaW5nJyA/IGNvbmZpZyA6IHt9O1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIGNsYXNzOiBDdWlIZWFkZXJUb29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGxldmVsczogWzIsIDMsIDRdLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdExldmVsOiAyXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC4uLih0b29scz8uWydoZWFkZXInXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxpc3Q6IHtcclxuICAgICAgICAgICAgY2xhc3M6IEN1aUxpc3RUb29sLFxyXG4gICAgICAgICAgICBpbmxpbmVUb29sYmFyOiB0cnVlLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRTdHlsZTogJ3Vub3JkZXJlZCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKHRvb2xzPy5bJ2xpc3QnXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGF0dGFjaGVzOiB7XHJcbiAgICAgICAgICAgIGNsYXNzOiBDdWlBdHRhY2hlc1Rvb2wsXHJcbiAgICAgICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXHJcbiAgICAgICAgICAgICAgICBmaWVsZDogJ3Jlc291cmNlJyxcclxuICAgICAgICAgICAgICAgIHR5cGVzOiAnLnBkZiwuZG9jLC5kb2N4JyxcclxuICAgICAgICAgICAgICAgIGxvYWQ6IHNldExvYWRpbmcsXHJcbiAgICAgICAgICAgICAgICBmaWxlQ2xpY2tlZDogb3BlbkZpbGVJbkJyb3dzZXJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKHRvb2xzPy5bJ2F0dGFjaGVzJ10gPz8ge30pXHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aWRlbzoge1xyXG4gICAgICAgICAgICBjbGFzczogQ3VpVmlkZW9Ub29sLFxyXG4gICAgICAgICAgICBjb25maWc6IHtcclxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxyXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdyZXNvdXJjZScsXHJcbiAgICAgICAgICAgICAgICBsb2FkOiBzZXRMb2FkaW5nXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC4uLih0b29scz8uWyd2aWRlbyddID8/IHt9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW1hZ2U6IHtcclxuICAgICAgICAgICAgY2xhc3M6IEN1aUltYWdlVG9vbCxcclxuICAgICAgICAgICAgY29uZmlnOiB7XHJcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcclxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxyXG4gICAgICAgICAgICAgICAgbG9hZDogc2V0TG9hZGluZ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAuLi4odG9vbHM/LlsnaW1hZ2UnXSA/PyB7fSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLih0b29scyA/PyB7fSlcclxuICAgIH07XHJcbn1cclxuIl19
@@ -6,4 +6,4 @@ export async function openFileInBrowser(file) {
6
6
  const googleViewerUrl = `https://docs.google.com/viewer?url=${encodedUrl}&embedded=true`;
7
7
  window.open(googleViewerUrl, '_blank');
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1maWxlLWluLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9vcGVuLWZpbGUtaW4tYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLElBQWlCO0lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPO0lBQ1gsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxNQUFNLGVBQWUsR0FBRyxzQ0FBc0MsVUFBVSxnQkFBZ0IsQ0FBQztJQUV6RixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VpRmlsZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5GaWxlSW5Ccm93c2VyKGZpbGU6IEN1aUZpbGVEYXRhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFmaWxlPy51cmwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVuY29kZWRVcmwgPSBlbmNvZGVVUklDb21wb25lbnQoZmlsZS51cmwpO1xuICAgIGNvbnN0IGdvb2dsZVZpZXdlclVybCA9IGBodHRwczovL2RvY3MuZ29vZ2xlLmNvbS92aWV3ZXI/dXJsPSR7ZW5jb2RlZFVybH0mZW1iZWRkZWQ9dHJ1ZWA7XG5cbiAgICB3aW5kb3cub3Blbihnb29nbGVWaWV3ZXJVcmwsICdfYmxhbmsnKTtcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi1maWxlLWluLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9vcGVuLWZpbGUtaW4tYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsS0FBSyxVQUFVLGlCQUFpQixDQUFDLElBQWlCO0lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPO0lBQ1gsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxNQUFNLGVBQWUsR0FBRyxzQ0FBc0MsVUFBVSxnQkFBZ0IsQ0FBQztJQUV6RixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VpRmlsZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvcGVuRmlsZUluQnJvd3NlcihmaWxlOiBDdWlGaWxlRGF0YSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFmaWxlPy51cmwpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZW5jb2RlZFVybCA9IGVuY29kZVVSSUNvbXBvbmVudChmaWxlLnVybCk7XHJcbiAgICBjb25zdCBnb29nbGVWaWV3ZXJVcmwgPSBgaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vdmlld2VyP3VybD0ke2VuY29kZWRVcmx9JmVtYmVkZGVkPXRydWVgO1xyXG5cclxuICAgIHdpbmRvdy5vcGVuKGdvb2dsZVZpZXdlclVybCwgJ19ibGFuaycpO1xyXG59XHJcbiJdfQ==
@@ -11,4 +11,4 @@ export function setLoading(status) {
11
11
  };
12
12
  return loadingActions[status]();
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9zZXQtbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTZCO0lBQ3BELE1BQU0sT0FBTyxHQUFHLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sY0FBYyxHQUE4QztRQUM5RCxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDM0QsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7S0FDSixDQUFDO0lBRUYsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ndWxhck91dHNpZGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ3VpRmlsZVVwbG9hZGVyU3RhdHVzIH0gZnJvbSAnLi9maWxlLXVwbG9hZGVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldExvYWRpbmcoc3RhdHVzOiBDdWlGaWxlVXBsb2FkZXJTdGF0dXMpOiB2b2lkIHtcbiAgICBjb25zdCBzZXJ2aWNlID0gQW5ndWxhck91dHNpZGVMb2FkZXJTZXJ2aWNlLmdldEluc3RhbmNlKCk7XG4gICAgY29uc3QgbG9hZGluZ0FjdGlvbnM6IFJlY29yZDxDdWlGaWxlVXBsb2FkZXJTdGF0dXMsICgpID0+IHZvaWQ+ID0ge1xuICAgICAgICBbQ3VpRmlsZVVwbG9hZGVyU3RhdHVzLkxvYWRpbmddOiAoKSA9PiBzZXJ2aWNlLnNldExvYWRpbmcoKSxcbiAgICAgICAgW0N1aUZpbGVVcGxvYWRlclN0YXR1cy5Db21wbGV0ZWRdOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXJ2aWNlLnNldENvbXBsZXRlZCgpO1xuICAgICAgICAgICAgc2VydmljZS5oYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIGxvYWRpbmdBY3Rpb25zW3N0YXR1c10oKTtcbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWxvYWRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci91dGlscy9zZXQtbG9hZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTZCO0lBQ3BELE1BQU0sT0FBTyxHQUFHLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFELE1BQU0sY0FBYyxHQUE4QztRQUM5RCxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDM0QsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDcEMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7S0FDSixDQUFDO0lBRUYsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ndWxhck91dHNpZGVMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDdWlGaWxlVXBsb2FkZXJTdGF0dXMgfSBmcm9tICcuL2ZpbGUtdXBsb2FkZXInO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNldExvYWRpbmcoc3RhdHVzOiBDdWlGaWxlVXBsb2FkZXJTdGF0dXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlcnZpY2UgPSBBbmd1bGFyT3V0c2lkZUxvYWRlclNlcnZpY2UuZ2V0SW5zdGFuY2UoKTtcclxuICAgIGNvbnN0IGxvYWRpbmdBY3Rpb25zOiBSZWNvcmQ8Q3VpRmlsZVVwbG9hZGVyU3RhdHVzLCAoKSA9PiB2b2lkPiA9IHtcclxuICAgICAgICBbQ3VpRmlsZVVwbG9hZGVyU3RhdHVzLkxvYWRpbmddOiAoKSA9PiBzZXJ2aWNlLnNldExvYWRpbmcoKSxcclxuICAgICAgICBbQ3VpRmlsZVVwbG9hZGVyU3RhdHVzLkNvbXBsZXRlZF06ICgpID0+IHtcclxuICAgICAgICAgICAgc2VydmljZS5zZXRDb21wbGV0ZWQoKTtcclxuICAgICAgICAgICAgc2VydmljZS5oYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbG9hZGluZ0FjdGlvbnNbc3RhdHVzXSgpO1xyXG59XHJcbiJdfQ==
@@ -9,4 +9,4 @@ export function urlValidator() {
9
9
  }
10
10
  };
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL3VybC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1FBQzNELElBQUksQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNMLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1cmxWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBuZXcgVVJMKHZhbHVlKTtcblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3V0aWxzL3VybC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLFlBQVk7SUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1FBQzNELElBQUksQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNMLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXJsVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbmV3IFVSTCh2YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB0cnVlIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -46,7 +46,7 @@ export class CuiEditorBlockComponent {
46
46
  }, { allowSignalWrites: true });
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiEditorBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiEditorBlockComponent, isStandalone: true, selector: "cui-editor-block", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editorEmpty: "editorEmpty" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"wrapper\">\n <span class=\"title\">\n {{ t('DESCRIPTION') }}\n @if (required()) {\n <span class=\"title__required\">*</span>\n }\n </span>\n <ng-template #button>\n <button\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\n cuiButton\n size=\"xxs\"\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconMaximizeSm\"\n (click)=\"onToggleDescriptionModal()\"\n ></button>\n </ng-template>\n <cui-editor-modal\n [title]=\"title()\"\n [editorId]=\"editorId()\"\n [buttonTemplate]=\"button\"\n [config]=\"config()\"\n (modalClosed)=\"onToggleDescriptionModal()\"\n />\n </div>\n <div\n #editorContainer\n cuiContentWrapper\n class=\"editor\"\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\n >\n @if (!isDescriptionModalOpen() && editorConfig()) {\n <cui-editor\n #editorComponent\n [editorApiId]=\"editorId()\"\n [config]=\"editorConfig()!\"\n (editorEmpty)=\"onDescriptionChange($event)\"\n />\n }\n </div>\n @if (required() && isDescriptionEmpty()) {\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\n }\n</ng-container>\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiEditorModalComponent, selector: "cui-editor-modal", inputs: ["title", "buttonTemplate", "config", "editorId"], outputs: ["editorCreated", "modalClosed"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "directive", type: i2.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i3.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CuiEditorBlockComponent, isStandalone: true, selector: "cui-editor-block", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { editorEmpty: "editorEmpty" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"wrapper\">\r\n <span class=\"title\">\r\n {{ t('DESCRIPTION') }}\r\n @if (required()) {\r\n <span class=\"title__required\">*</span>\r\n }\r\n </span>\r\n <ng-template #button>\r\n <button\r\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\r\n cuiButton\r\n size=\"xxs\"\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconMaximizeSm\"\r\n (click)=\"onToggleDescriptionModal()\"\r\n ></button>\r\n </ng-template>\r\n <cui-editor-modal\r\n [title]=\"title()\"\r\n [editorId]=\"editorId()\"\r\n [buttonTemplate]=\"button\"\r\n [config]=\"config()\"\r\n (modalClosed)=\"onToggleDescriptionModal()\"\r\n />\r\n </div>\r\n <div\r\n #editorContainer\r\n cuiContentWrapper\r\n class=\"editor\"\r\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\r\n >\r\n @if (!isDescriptionModalOpen() && editorConfig()) {\r\n <cui-editor\r\n #editorComponent\r\n [editorApiId]=\"editorId()\"\r\n [config]=\"editorConfig()!\"\r\n (editorEmpty)=\"onDescriptionChange($event)\"\r\n />\r\n }\r\n </div>\r\n @if (required() && isDescriptionEmpty()) {\r\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\r\n }\r\n</ng-container>\r\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i1.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "component", type: CuiEditorModalComponent, selector: "cui-editor-modal", inputs: ["title", "buttonTemplate", "config", "editorId"], outputs: ["editorCreated", "modalClosed"] }, { kind: "component", type: CuiEditorComponent, selector: "cui-editor", inputs: ["editorApiId", "config", "requestSize"], outputs: ["editorEmpty"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "directive", type: i2.CuiTooltipDirective, selector: "[cuiTooltip]:not(ng-container):not(ng-template)", inputs: ["cuiTooltipContext", "cuiTooltipAppearance", "cuiTooltip"] }, { kind: "ngmodule", type: CuiHintModule }, { kind: "component", type: i3.CuiHintComponent, selector: "cui-hint", inputs: ["hintType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiEditorBlockComponent, decorators: [{
52
52
  type: Component,
@@ -58,6 +58,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
58
58
  CuiContentWrapperComponent,
59
59
  CuiTooltip,
60
60
  CuiHintModule
61
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\n <div class=\"wrapper\">\n <span class=\"title\">\n {{ t('DESCRIPTION') }}\n @if (required()) {\n <span class=\"title__required\">*</span>\n }\n </span>\n <ng-template #button>\n <button\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\n cuiButton\n size=\"xxs\"\n type=\"button\"\n appearance=\"ghost\"\n icon=\"cuiIconMaximizeSm\"\n (click)=\"onToggleDescriptionModal()\"\n ></button>\n </ng-template>\n <cui-editor-modal\n [title]=\"title()\"\n [editorId]=\"editorId()\"\n [buttonTemplate]=\"button\"\n [config]=\"config()\"\n (modalClosed)=\"onToggleDescriptionModal()\"\n />\n </div>\n <div\n #editorContainer\n cuiContentWrapper\n class=\"editor\"\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\n >\n @if (!isDescriptionModalOpen() && editorConfig()) {\n <cui-editor\n #editorComponent\n [editorApiId]=\"editorId()\"\n [config]=\"editorConfig()!\"\n (editorEmpty)=\"onDescriptionChange($event)\"\n />\n }\n </div>\n @if (required() && isDescriptionEmpty()) {\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\n }\n</ng-container>\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"] }]
61
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *transloco=\"let t\">\r\n <div class=\"wrapper\">\r\n <span class=\"title\">\r\n {{ t('DESCRIPTION') }}\r\n @if (required()) {\r\n <span class=\"title__required\">*</span>\r\n }\r\n </span>\r\n <ng-template #button>\r\n <button\r\n [cuiTooltip]=\"t('EXPAND_EDITOR_TO_FULLSCREEN')\"\r\n cuiButton\r\n size=\"xxs\"\r\n type=\"button\"\r\n appearance=\"ghost\"\r\n icon=\"cuiIconMaximizeSm\"\r\n (click)=\"onToggleDescriptionModal()\"\r\n ></button>\r\n </ng-template>\r\n <cui-editor-modal\r\n [title]=\"title()\"\r\n [editorId]=\"editorId()\"\r\n [buttonTemplate]=\"button\"\r\n [config]=\"config()\"\r\n (modalClosed)=\"onToggleDescriptionModal()\"\r\n />\r\n </div>\r\n <div\r\n #editorContainer\r\n cuiContentWrapper\r\n class=\"editor\"\r\n [class.editor_invalid]=\"required() && isDescriptionEmpty()\"\r\n >\r\n @if (!isDescriptionModalOpen() && editorConfig()) {\r\n <cui-editor\r\n #editorComponent\r\n [editorApiId]=\"editorId()\"\r\n [config]=\"editorConfig()!\"\r\n (editorEmpty)=\"onDescriptionChange($event)\"\r\n />\r\n }\r\n </div>\r\n @if (required() && isDescriptionEmpty()) {\r\n <cui-hint hintType=\"error\">{{ t('DESCRIPTION_IS_REQUIRED') }}</cui-hint>\r\n }\r\n</ng-container>\r\n", styles: [":host{--max-editor-height: 650px;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}:host .editor{max-height:var(--max-editor-height)}.wrapper{display:flex;gap:8px;align-items:center;justify-content:space-between}.editor{padding-top:16px;padding-bottom:16px;display:block;overflow:auto}.editor_invalid{border:1px solid var(--cui-danger)}.title{font-weight:500;font-size:14px;line-height:20px}.title__required{color:var(--cui-danger)}\n"] }]
62
62
  }], ctorParameters: () => [] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3dpZGdldHMvZWRpdG9yLWJsb2NrL2VkaXRvci1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci93aWRnZXRzL2VkaXRvci1ibG9jay9lZGl0b3ItYmxvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBa0JqRixNQUFNLE9BQU8sdUJBQXVCO0lBa0JoQztRQWpCUSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFaEIsaUJBQVksR0FBRyxNQUFNLENBQStCLElBQUksQ0FBQyxDQUFDO1FBQzFELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsb0JBQWUsR0FBRyxTQUFTLENBQWtDLGlCQUFpQixFQUFFO1lBQzVGLElBQUksRUFBRSxVQUFVO1NBQ25CLENBQUMsQ0FBQztRQUVhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFHNUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVqQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQ3BCLEdBQUcsRUFBRTtZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFFdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7K0dBcERRLHVCQUF1QjttR0FBdkIsdUJBQXVCLGt0QkFRdEIsVUFBVSw2Q0M1Q3hCLDJnREE4Q0EsaWlCRHZCUSxlQUFlLG9PQUNmLHVCQUF1QixtS0FDdkIsa0JBQWtCLG1JQUNsQixrQkFBa0IsZ01BQ2xCLDBCQUEwQiwrU0FFMUIsYUFBYTs7NEZBT1IsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxrQkFBa0IsV0FDbkI7d0JBQ0wsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsYUFBYTtxQkFDaEIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuaW1wb3J0IHsgQ3VpQnV0dG9uTW9kdWxlLCBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCwgQ3VpSGludE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3VpVG9vbHRpcCB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuXG5pbXBvcnQgeyBDdWlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgQ3VpRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDdWlFZGl0b3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci1tb2RhbC9lZGl0b3ItbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktZWRpdG9yLWJsb2NrJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEN1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ3VpRWRpdG9yTW9kYWxDb21wb25lbnQsXG4gICAgICAgIEN1aUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgQ3VpVG9vbHRpcCxcbiAgICAgICAgQ3VpSGludE1vZHVsZVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3ItYmxvY2suY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlFZGl0b3JCbG9ja0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBza2lwRmlyc3RWYWxpZGF0aW9uID0gdHJ1ZTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JDb25maWcgPSBzaWduYWw8Q3VpTnVsbGFibGU8Q3VpRWRpdG9yQ29uZmlnPj4obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRGVzY3JpcHRpb25Nb2RhbE9wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0Rlc2NyaXB0aW9uRW1wdHkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvckNvbnRhaW5lciA9IHZpZXdDaGlsZDxzdHJpbmcsIEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZWRpdG9yQ29udGFpbmVyJywge1xuICAgICAgICByZWFkOiBFbGVtZW50UmVmXG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxDdWlFZGl0b3JDb25maWc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvckVtcHR5ID0gb3V0cHV0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0RWRpdG9yQ29uZmlnKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Rlc2NyaXB0aW9uTW9kYWxPcGVuLnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkRlc2NyaXB0aW9uQ2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yRW1wdHkuZW1pdCh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2tpcEZpcnN0VmFsaWRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5za2lwRmlyc3RWYWxpZGF0aW9uID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNEZXNjcmlwdGlvbkVtcHR5LnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RWRpdG9yQ29uZmlnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWRpdG9yQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yQ29uZmlnLnNldCh7IGVsZW1lbnQsIC4uLnRoaXMuY29uZmlnKCkgfSk7XG4gICAgICAgICAgICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHQoJ0RFU0NSSVBUSU9OJykgfX1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQoKSkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVfX3JlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBbY3VpVG9vbHRpcF09XCJ0KCdFWFBBTkRfRURJVE9SX1RPX0ZVTExTQ1JFRU4nKVwiXG4gICAgICAgICAgICAgICAgY3VpQnV0dG9uXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImdob3N0XCJcbiAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbk1heGltaXplU21cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZURlc2NyaXB0aW9uTW9kYWwoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxjdWktZWRpdG9yLW1vZGFsXG4gICAgICAgICAgICBbdGl0bGVdPVwidGl0bGUoKVwiXG4gICAgICAgICAgICBbZWRpdG9ySWRdPVwiZWRpdG9ySWQoKVwiXG4gICAgICAgICAgICBbYnV0dG9uVGVtcGxhdGVdPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnKClcIlxuICAgICAgICAgICAgKG1vZGFsQ2xvc2VkKT1cIm9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpXCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICNlZGl0b3JDb250YWluZXJcbiAgICAgICAgY3VpQ29udGVudFdyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJlZGl0b3JcIlxuICAgICAgICBbY2xhc3MuZWRpdG9yX2ludmFsaWRdPVwicmVxdWlyZWQoKSAmJiBpc0Rlc2NyaXB0aW9uRW1wdHkoKVwiXG4gICAgPlxuICAgICAgICBAaWYgKCFpc0Rlc2NyaXB0aW9uTW9kYWxPcGVuKCkgJiYgZWRpdG9yQ29uZmlnKCkpIHtcbiAgICAgICAgICAgIDxjdWktZWRpdG9yXG4gICAgICAgICAgICAgICAgI2VkaXRvckNvbXBvbmVudFxuICAgICAgICAgICAgICAgIFtlZGl0b3JBcGlJZF09XCJlZGl0b3JJZCgpXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImVkaXRvckNvbmZpZygpIVwiXG4gICAgICAgICAgICAgICAgKGVkaXRvckVtcHR5KT1cIm9uRGVzY3JpcHRpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChyZXF1aXJlZCgpICYmIGlzRGVzY3JpcHRpb25FbXB0eSgpKSB7XG4gICAgICAgIDxjdWktaGludCBoaW50VHlwZT1cImVycm9yXCI+e3sgdCgnREVTQ1JJUFRJT05fSVNfUkVRVUlSRUQnKSB9fTwvY3VpLWhpbnQ+XG4gICAgfVxuPC9uZy1jb250YWluZXI+XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3dpZGdldHMvZWRpdG9yLWJsb2NrL2VkaXRvci1ibG9jay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci93aWRnZXRzL2VkaXRvci1ibG9jay9lZGl0b3ItYmxvY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSwwQkFBMEIsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7O0FBa0JqRixNQUFNLE9BQU8sdUJBQXVCO0lBa0JoQztRQWpCUSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFaEIsaUJBQVksR0FBRyxNQUFNLENBQStCLElBQUksQ0FBQyxDQUFDO1FBQzFELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEMsb0JBQWUsR0FBRyxTQUFTLENBQWtDLGlCQUFpQixFQUFFO1lBQzVGLElBQUksRUFBRSxVQUFVO1NBQ25CLENBQUMsQ0FBQztRQUVhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUIsQ0FBQztRQUMzQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLGdCQUFXLEdBQUcsTUFBTSxFQUFXLENBQUM7UUFHNUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVTLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVqQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQ3BCLEdBQUcsRUFBRTtZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxhQUFhLENBQUM7WUFFdEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDOUIsQ0FBQztJQUNOLENBQUM7K0dBcERRLHVCQUF1QjttR0FBdkIsdUJBQXVCLGt0QkFRdEIsVUFBVSw2Q0M1Q3hCLHVtREE4Q0EsaWlCRHZCUSxlQUFlLG9PQUNmLHVCQUF1QixtS0FDdkIsa0JBQWtCLG1JQUNsQixrQkFBa0IsZ01BQ2xCLDBCQUEwQiwrU0FFMUIsYUFBYTs7NEZBT1IsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxrQkFBa0IsV0FDbkI7d0JBQ0wsZUFBZTt3QkFDZix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsYUFBYTtxQkFDaEIsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBlZmZlY3QsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgaW5wdXQsXHJcbiAgICBvdXRwdXQsXHJcbiAgICBzaWduYWwsXHJcbiAgICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XHJcblxyXG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUsIEN1aUNvbnRlbnRXcmFwcGVyQ29tcG9uZW50LCBDdWlIaW50TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEN1aVRvb2x0aXAgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzJztcclxuXHJcbmltcG9ydCB7IEN1aUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2VkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDdWlFZGl0b3JNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci1tb2RhbC9lZGl0b3ItbW9kYWwuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjdWktZWRpdG9yLWJsb2NrJyxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgQ3VpRWRpdG9yTW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgQ3VpRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcclxuICAgICAgICBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCxcclxuICAgICAgICBDdWlUb29sdGlwLFxyXG4gICAgICAgIEN1aUhpbnRNb2R1bGVcclxuICAgIF0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci1ibG9jay5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3ItYmxvY2suY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlFZGl0b3JCbG9ja0NvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIHNraXBGaXJzdFZhbGlkYXRpb24gPSB0cnVlO1xyXG5cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JDb25maWcgPSBzaWduYWw8Q3VpTnVsbGFibGU8Q3VpRWRpdG9yQ29uZmlnPj4obnVsbCk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZXNjcmlwdGlvbk1vZGFsT3BlbiA9IHNpZ25hbChmYWxzZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNEZXNjcmlwdGlvbkVtcHR5ID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yQ29udGFpbmVyID0gdmlld0NoaWxkPHN0cmluZywgRWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdlZGl0b3JDb250YWluZXInLCB7XHJcbiAgICAgICAgcmVhZDogRWxlbWVudFJlZlxyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvcklkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEN1aUVkaXRvckNvbmZpZz4oKTtcclxuICAgIHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdG9yRW1wdHkgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmluaXRFZGl0b3JDb25maWcoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25Ub2dnbGVEZXNjcmlwdGlvbk1vZGFsKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNEZXNjcmlwdGlvbk1vZGFsT3Blbi51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkNoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yRW1wdHkuZW1pdCh2YWx1ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNraXBGaXJzdFZhbGlkYXRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5za2lwRmlyc3RWYWxpZGF0aW9uID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmlzRGVzY3JpcHRpb25FbXB0eS5zZXQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdEVkaXRvckNvbmZpZygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVkaXRvckNvbnRhaW5lcigpPy5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvckNvbmZpZy5zZXQoeyBlbGVtZW50LCAuLi50aGlzLmNvbmZpZygpIH0pO1xyXG4gICAgICAgICAgICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgIHt7IHQoJ0RFU0NSSVBUSU9OJykgfX1cclxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCgpKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlX19yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNidXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIFtjdWlUb29sdGlwXT1cInQoJ0VYUEFORF9FRElUT1JfVE9fRlVMTFNDUkVFTicpXCJcclxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwiY3VpSWNvbk1heGltaXplU21cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGN1aS1lZGl0b3ItbW9kYWxcclxuICAgICAgICAgICAgW3RpdGxlXT1cInRpdGxlKClcIlxyXG4gICAgICAgICAgICBbZWRpdG9ySWRdPVwiZWRpdG9ySWQoKVwiXHJcbiAgICAgICAgICAgIFtidXR0b25UZW1wbGF0ZV09XCJidXR0b25cIlxyXG4gICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZygpXCJcclxuICAgICAgICAgICAgKG1vZGFsQ2xvc2VkKT1cIm9uVG9nZ2xlRGVzY3JpcHRpb25Nb2RhbCgpXCJcclxuICAgICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgI2VkaXRvckNvbnRhaW5lclxyXG4gICAgICAgIGN1aUNvbnRlbnRXcmFwcGVyXHJcbiAgICAgICAgY2xhc3M9XCJlZGl0b3JcIlxyXG4gICAgICAgIFtjbGFzcy5lZGl0b3JfaW52YWxpZF09XCJyZXF1aXJlZCgpICYmIGlzRGVzY3JpcHRpb25FbXB0eSgpXCJcclxuICAgID5cclxuICAgICAgICBAaWYgKCFpc0Rlc2NyaXB0aW9uTW9kYWxPcGVuKCkgJiYgZWRpdG9yQ29uZmlnKCkpIHtcclxuICAgICAgICAgICAgPGN1aS1lZGl0b3JcclxuICAgICAgICAgICAgICAgICNlZGl0b3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgIFtlZGl0b3JBcGlJZF09XCJlZGl0b3JJZCgpXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiZWRpdG9yQ29uZmlnKCkhXCJcclxuICAgICAgICAgICAgICAgIChlZGl0b3JFbXB0eSk9XCJvbkRlc2NyaXB0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChyZXF1aXJlZCgpICYmIGlzRGVzY3JpcHRpb25FbXB0eSgpKSB7XHJcbiAgICAgICAgPGN1aS1oaW50IGhpbnRUeXBlPVwiZXJyb3JcIj57eyB0KCdERVNDUklQVElPTl9JU19SRVFVSVJFRCcpIH19PC9jdWktaGludD5cclxuICAgIH1cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==