@testgorilla/tgo-ui 3.11.0 → 3.11.1

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 (617) hide show
  1. package/components/donut-chart/donut-chart.component.d.ts +2 -2
  2. package/components/overflow-menu/overflow-menu.model.d.ts +1 -1
  3. package/esm2022/assets/i18n/en.json +2 -1
  4. package/esm2022/components/accordion/accordion.component.mjs +3 -3
  5. package/esm2022/components/accordion/accordion.component.module.mjs +1 -1
  6. package/esm2022/components/accordion/accordion.model.mjs +1 -1
  7. package/esm2022/components/alert-banner/alert-banner.component.mjs +3 -3
  8. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +1 -1
  9. package/esm2022/components/alert-banner/alert-banner.model.mjs +1 -1
  10. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +1 -1
  11. package/esm2022/components/autocomplete/autocomplete.model.mjs +1 -1
  12. package/esm2022/components/autocomplete/includes.pipe.mjs +1 -1
  13. package/esm2022/components/autocomplete/prevent-input.directive.mjs +1 -1
  14. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +1 -1
  15. package/esm2022/components/avatar/avatar.component.mjs +3 -3
  16. package/esm2022/components/avatar/avatar.component.module.mjs +1 -1
  17. package/esm2022/components/avatar/avatar.model.mjs +1 -1
  18. package/esm2022/components/badge/badge.component.mjs +1 -1
  19. package/esm2022/components/badge/badge.component.module.mjs +1 -1
  20. package/esm2022/components/card/card.component.module.mjs +1 -1
  21. package/esm2022/components/card/card.model.mjs +1 -1
  22. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  23. package/esm2022/components/checkbox/checkbox.component.module.mjs +1 -1
  24. package/esm2022/components/checkbox/focus-visible.directive.mjs +1 -1
  25. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +1 -1
  26. package/esm2022/components/datepicker/datepicker.component.module.mjs +1 -1
  27. package/esm2022/components/datepicker/datepicker.service.mjs +1 -1
  28. package/esm2022/components/datepicker/no-date-format.directive.mjs +1 -1
  29. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +3 -3
  30. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +1 -1
  31. package/esm2022/components/dialog/dialog.component.module.mjs +1 -1
  32. package/esm2022/components/divider/divider.component.mjs +3 -3
  33. package/esm2022/components/divider/divider.component.module.mjs +1 -1
  34. package/esm2022/components/divider/divider.model.mjs +1 -1
  35. package/esm2022/components/dropdown/dropdown.component.module.mjs +1 -1
  36. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +3 -3
  37. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +1 -1
  38. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +1 -1
  39. package/esm2022/components/empty-state/empty-state.component.module.mjs +1 -1
  40. package/esm2022/components/field/field.model.mjs +1 -1
  41. package/esm2022/components/file-upload/file-upload.component.module.mjs +1 -1
  42. package/esm2022/components/filter-button/filter-button.component.module.mjs +1 -1
  43. package/esm2022/components/filter-button/filter-button.model.mjs +1 -1
  44. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +1 -1
  45. package/esm2022/components/icon/icon.component.mjs +3 -3
  46. package/esm2022/components/icon/icon.component.module.mjs +1 -1
  47. package/esm2022/components/icon/icon.model.mjs +1 -1
  48. package/esm2022/components/icon-label/icon-label.component.module.mjs +1 -1
  49. package/esm2022/components/logo/logo.component.mjs +3 -3
  50. package/esm2022/components/logo/logo.component.module.mjs +1 -1
  51. package/esm2022/components/logo/logo.model.mjs +1 -1
  52. package/esm2022/components/media-card/media-card.component.mjs +3 -3
  53. package/esm2022/components/multi-input/multi-input.component.mjs +3 -3
  54. package/esm2022/components/multi-input/multi-input.component.module.mjs +1 -1
  55. package/esm2022/components/multi-input/multi-input.model.mjs +1 -1
  56. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +3 -3
  57. package/esm2022/components/navbar/navbar.component.mjs +3 -3
  58. package/esm2022/components/navbar/navbar.component.module.mjs +1 -1
  59. package/esm2022/components/navbar/navbar.model.mjs +1 -1
  60. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +3 -3
  61. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +1 -1
  62. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +1 -1
  63. package/esm2022/components/page-header/page-header.component.mjs +3 -3
  64. package/esm2022/components/page-header/page-header.component.module.mjs +1 -1
  65. package/esm2022/components/paginator/paginator.component.mjs +3 -3
  66. package/esm2022/components/paginator/paginator.component.module.mjs +1 -1
  67. package/esm2022/components/password-criteria/password.component.mjs +3 -3
  68. package/esm2022/components/password-criteria/password.component.module.mjs +1 -1
  69. package/esm2022/components/password-strength/password-strength.component.mjs +3 -3
  70. package/esm2022/components/password-strength/password-strength.component.module.mjs +1 -1
  71. package/esm2022/components/phone-input/join-strings.pipe.mjs +1 -1
  72. package/esm2022/components/phone-input/phone-input.component.mjs +3 -3
  73. package/esm2022/components/phone-input/phone-input.component.module.mjs +1 -1
  74. package/esm2022/components/phone-input/phone-input.model.mjs +1 -1
  75. package/esm2022/components/progress-bar/progress-bar.component.mjs +3 -3
  76. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +1 -1
  77. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +1 -1
  78. package/esm2022/components/radio-button/radio-button.component.mjs +3 -3
  79. package/esm2022/components/radio-button/radio-button.component.module.mjs +1 -1
  80. package/esm2022/components/radio-button/radio-button.model.mjs +1 -1
  81. package/esm2022/components/rating/half-star.pipe.mjs +1 -1
  82. package/esm2022/components/rating/rating.component.mjs +3 -3
  83. package/esm2022/components/rating/rating.component.module.mjs +1 -1
  84. package/esm2022/components/scale/scale.component.module.mjs +1 -1
  85. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +3 -3
  86. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +1 -1
  87. package/esm2022/components/segmented-button/segmented-button.component.mjs +1 -1
  88. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +1 -1
  89. package/esm2022/components/segmented-button/segmented-button.model.mjs +1 -1
  90. package/esm2022/components/side-panel/side-panel.animations.mjs +1 -1
  91. package/esm2022/components/side-sheet/side-sheet.component.mjs +3 -3
  92. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +1 -1
  93. package/esm2022/components/side-sheet/side-sheet.model.mjs +1 -1
  94. package/esm2022/components/side-sheet/side-sheet.service.mjs +1 -1
  95. package/esm2022/components/skeleton/skeleton.model.mjs +1 -1
  96. package/esm2022/components/slider/slider.component.mjs +3 -3
  97. package/esm2022/components/slider/slider.component.module.mjs +1 -1
  98. package/esm2022/components/slider/slider.model.mjs +1 -1
  99. package/esm2022/components/snackbar/snackbar.component.mjs +3 -3
  100. package/esm2022/components/snackbar/snackbar.component.module.mjs +1 -1
  101. package/esm2022/components/snackbar/snackbar.model.mjs +1 -1
  102. package/esm2022/components/snackbar/snackbar.service.mjs +1 -1
  103. package/esm2022/components/spider-chart/spider-chart.component.mjs +3 -3
  104. package/esm2022/components/spider-chart/spider-chart.model.mjs +1 -1
  105. package/esm2022/components/spider-chart/spider-chart.module.mjs +1 -1
  106. package/esm2022/components/spinner/spinner.model.mjs +1 -1
  107. package/esm2022/components/step/step.component.mjs +3 -3
  108. package/esm2022/components/step/step.component.module.mjs +1 -1
  109. package/esm2022/components/stepper/stepper.component.mjs +3 -3
  110. package/esm2022/components/stepper/stepper.component.module.mjs +1 -1
  111. package/esm2022/components/stepper/stepper.model.mjs +1 -1
  112. package/esm2022/components/table/sentence-case.pipe.mjs +1 -1
  113. package/esm2022/components/table/table.component.mjs +3 -3
  114. package/esm2022/components/table/table.component.module.mjs +1 -1
  115. package/esm2022/components/table/table.model.mjs +1 -1
  116. package/esm2022/components/tag/tag.component.mjs +3 -3
  117. package/esm2022/components/tag/tag.component.module.mjs +1 -1
  118. package/esm2022/components/tag/tag.model.mjs +1 -1
  119. package/esm2022/components/toggle/toggle.component.mjs +3 -3
  120. package/esm2022/components/toggle/toggle.component.module.mjs +1 -1
  121. package/esm2022/components/toggle/toggle.model.mjs +1 -1
  122. package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
  123. package/esm2022/components/tooltip/tooltip.model.mjs +1 -1
  124. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +3 -3
  125. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +1 -1
  126. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +3 -3
  127. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +1 -1
  128. package/esm2022/components/validation-error/validation-error.component.mjs +3 -3
  129. package/esm2022/components/validation-error/validation-error.model.mjs +1 -1
  130. package/esm2022/components/validation-error/validation-error.module.mjs +1 -1
  131. package/esm2022/directives/digits-only.directive.mjs +1 -1
  132. package/esm2022/directives/drag-drop.directive.mjs +1 -1
  133. package/esm2022/directives/dynamic-component.directive.mjs +1 -1
  134. package/esm2022/directives/ellipse-text.directive.mjs +1 -1
  135. package/esm2022/directives/select-text.directive.mjs +1 -1
  136. package/esm2022/directives/step-line-element.directive.mjs +1 -1
  137. package/esm2022/models/application-theme.model.mjs +1 -1
  138. package/esm2022/models/checkbox.model.mjs +1 -1
  139. package/esm2022/models/colors.model.mjs +1 -1
  140. package/esm2022/models/keyboard-events.model.mjs +1 -1
  141. package/esm2022/models/screen-breakpoints.model.mjs +1 -1
  142. package/esm2022/models/universal-skills-report.model.mjs +1 -1
  143. package/esm2022/pipes/data-property-getter.mjs +1 -1
  144. package/esm2022/pipes/has-validation-error.pipe.mjs +1 -1
  145. package/esm2022/pipes/memoize-func.pipe.mjs +1 -1
  146. package/esm2022/pipes/name-initials.pipe.mjs +1 -1
  147. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +1 -1
  148. package/esm2022/pipes/ui-translate.pipe.mjs +1 -1
  149. package/esm2022/services/icons.service.mjs +1 -1
  150. package/esm2022/services/universal-skills.service.mjs +1 -1
  151. package/esm2022/utils/alert-bar.model.mjs +1 -1
  152. package/esm2022/utils/autocomplete-utils.mjs +2 -2
  153. package/esm2022/utils/color-contrast.mjs +1 -1
  154. package/esm2022/utils/hex-to-rgb.mjs +1 -1
  155. package/esm2022/utils/localization/language.model.mjs +1 -1
  156. package/esm2022/utils/localization/language.service.mjs +1 -1
  157. package/fesm2022/testgorilla-tgo-ui.mjs +75 -74
  158. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  159. package/package.json +1 -1
  160. package/projects/tgo-canopy-ui/assets/i18n/en.json +2 -1
  161. package/projects/tgo-canopy-ui/assets/icons/Add.svg +3 -3
  162. package/projects/tgo-canopy-ui/assets/icons/Archive.svg +3 -3
  163. package/projects/tgo-canopy-ui/assets/icons/Arrow_down.svg +3 -3
  164. package/projects/tgo-canopy-ui/assets/icons/Arrow_left.svg +3 -3
  165. package/projects/tgo-canopy-ui/assets/icons/Arrow_right.svg +3 -3
  166. package/projects/tgo-canopy-ui/assets/icons/Arrow_up.svg +3 -3
  167. package/projects/tgo-canopy-ui/assets/icons/Assessment.svg +3 -3
  168. package/projects/tgo-canopy-ui/assets/icons/Attempts.svg +3 -3
  169. package/projects/tgo-canopy-ui/assets/icons/Book.svg +3 -3
  170. package/projects/tgo-canopy-ui/assets/icons/Calendar.svg +3 -3
  171. package/projects/tgo-canopy-ui/assets/icons/Candidates.svg +8 -8
  172. package/projects/tgo-canopy-ui/assets/icons/Chat-notifications.svg +4 -4
  173. package/projects/tgo-canopy-ui/assets/icons/Chat.svg +3 -3
  174. package/projects/tgo-canopy-ui/assets/icons/Check.svg +3 -3
  175. package/projects/tgo-canopy-ui/assets/icons/Clone.svg +3 -3
  176. package/projects/tgo-canopy-ui/assets/icons/Close.svg +3 -3
  177. package/projects/tgo-canopy-ui/assets/icons/Code.svg +3 -3
  178. package/projects/tgo-canopy-ui/assets/icons/Company.svg +3 -3
  179. package/projects/tgo-canopy-ui/assets/icons/Copy.svg +3 -3
  180. package/projects/tgo-canopy-ui/assets/icons/Custom-questions.svg +3 -3
  181. package/projects/tgo-canopy-ui/assets/icons/Delete.svg +3 -3
  182. package/projects/tgo-canopy-ui/assets/icons/Devices.svg +3 -3
  183. package/projects/tgo-canopy-ui/assets/icons/Document.svg +3 -3
  184. package/projects/tgo-canopy-ui/assets/icons/Dot.svg +3 -3
  185. package/projects/tgo-canopy-ui/assets/icons/Download.svg +3 -3
  186. package/projects/tgo-canopy-ui/assets/icons/Edit.svg +3 -3
  187. package/projects/tgo-canopy-ui/assets/icons/Email-message.svg +3 -3
  188. package/projects/tgo-canopy-ui/assets/icons/Employee.svg +8 -8
  189. package/projects/tgo-canopy-ui/assets/icons/Empty-placeholder.svg +3 -3
  190. package/projects/tgo-canopy-ui/assets/icons/Error.svg +3 -3
  191. package/projects/tgo-canopy-ui/assets/icons/Essay.svg +3 -3
  192. package/projects/tgo-canopy-ui/assets/icons/Eye-hide.svg +3 -3
  193. package/projects/tgo-canopy-ui/assets/icons/Eye-view.svg +3 -3
  194. package/projects/tgo-canopy-ui/assets/icons/Fast-forward.svg +4 -4
  195. package/projects/tgo-canopy-ui/assets/icons/Fast-rewind.svg +4 -4
  196. package/projects/tgo-canopy-ui/assets/icons/Feedback-1.svg +3 -3
  197. package/projects/tgo-canopy-ui/assets/icons/Feedback-2.svg +3 -3
  198. package/projects/tgo-canopy-ui/assets/icons/Feedback-3.svg +6 -6
  199. package/projects/tgo-canopy-ui/assets/icons/Feedback-4.svg +3 -3
  200. package/projects/tgo-canopy-ui/assets/icons/Feedback-5.svg +3 -3
  201. package/projects/tgo-canopy-ui/assets/icons/File-attach.svg +3 -3
  202. package/projects/tgo-canopy-ui/assets/icons/File-upload.svg +3 -3
  203. package/projects/tgo-canopy-ui/assets/icons/Filter.svg +3 -3
  204. package/projects/tgo-canopy-ui/assets/icons/Fire.svg +10 -10
  205. package/projects/tgo-canopy-ui/assets/icons/Folder.svg +3 -3
  206. package/projects/tgo-canopy-ui/assets/icons/Format-add-file.svg +3 -3
  207. package/projects/tgo-canopy-ui/assets/icons/Format-add-table.svg +3 -3
  208. package/projects/tgo-canopy-ui/assets/icons/Format-align-L.svg +3 -3
  209. package/projects/tgo-canopy-ui/assets/icons/Format-align-R.svg +3 -3
  210. package/projects/tgo-canopy-ui/assets/icons/Format-align-center.svg +3 -3
  211. package/projects/tgo-canopy-ui/assets/icons/Format-align-justify.svg +3 -3
  212. package/projects/tgo-canopy-ui/assets/icons/Format-bold.svg +3 -3
  213. package/projects/tgo-canopy-ui/assets/icons/Format-code-active.svg +3 -3
  214. package/projects/tgo-canopy-ui/assets/icons/Format-code-block.svg +3 -3
  215. package/projects/tgo-canopy-ui/assets/icons/Format-edit-table.svg +3 -3
  216. package/projects/tgo-canopy-ui/assets/icons/Format-format.svg +3 -3
  217. package/projects/tgo-canopy-ui/assets/icons/Format-function.svg +3 -3
  218. package/projects/tgo-canopy-ui/assets/icons/Format-italics.svg +3 -3
  219. package/projects/tgo-canopy-ui/assets/icons/Format-list-bulleted.svg +3 -3
  220. package/projects/tgo-canopy-ui/assets/icons/Format-list-numbered.svg +3 -3
  221. package/projects/tgo-canopy-ui/assets/icons/Format-picker.svg +3 -3
  222. package/projects/tgo-canopy-ui/assets/icons/Format-quote.svg +3 -3
  223. package/projects/tgo-canopy-ui/assets/icons/Format-subscript.svg +3 -3
  224. package/projects/tgo-canopy-ui/assets/icons/Format-superscript.svg +3 -3
  225. package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-L.svg +3 -3
  226. package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-R.svg +3 -3
  227. package/projects/tgo-canopy-ui/assets/icons/Format-text-size.svg +3 -3
  228. package/projects/tgo-canopy-ui/assets/icons/Format-underline.svg +3 -3
  229. package/projects/tgo-canopy-ui/assets/icons/Format-variable.svg +3 -3
  230. package/projects/tgo-canopy-ui/assets/icons/Full-screen.svg +3 -3
  231. package/projects/tgo-canopy-ui/assets/icons/Gender-female.svg +3 -3
  232. package/projects/tgo-canopy-ui/assets/icons/Gender-male.svg +3 -3
  233. package/projects/tgo-canopy-ui/assets/icons/Gift.svg +7 -7
  234. package/projects/tgo-canopy-ui/assets/icons/Google.svg +6 -6
  235. package/projects/tgo-canopy-ui/assets/icons/Grab.svg +3 -3
  236. package/projects/tgo-canopy-ui/assets/icons/Help-2.svg +3 -3
  237. package/projects/tgo-canopy-ui/assets/icons/Help.svg +3 -3
  238. package/projects/tgo-canopy-ui/assets/icons/Image.svg +3 -3
  239. package/projects/tgo-canopy-ui/assets/icons/Info.svg +3 -3
  240. package/projects/tgo-canopy-ui/assets/icons/Integration.svg +3 -3
  241. package/projects/tgo-canopy-ui/assets/icons/Language.svg +3 -3
  242. package/projects/tgo-canopy-ui/assets/icons/Layout.svg +3 -3
  243. package/projects/tgo-canopy-ui/assets/icons/Learn.svg +3 -3
  244. package/projects/tgo-canopy-ui/assets/icons/Level.svg +3 -3
  245. package/projects/tgo-canopy-ui/assets/icons/Light-bulb.svg +3 -3
  246. package/projects/tgo-canopy-ui/assets/icons/Link.svg +3 -3
  247. package/projects/tgo-canopy-ui/assets/icons/Loading-spinner.svg +10 -10
  248. package/projects/tgo-canopy-ui/assets/icons/Localisation.svg +3 -3
  249. package/projects/tgo-canopy-ui/assets/icons/Location.svg +3 -3
  250. package/projects/tgo-canopy-ui/assets/icons/Lock.svg +3 -3
  251. package/projects/tgo-canopy-ui/assets/icons/Log-out.svg +3 -3
  252. package/projects/tgo-canopy-ui/assets/icons/Menu-burger.svg +3 -3
  253. package/projects/tgo-canopy-ui/assets/icons/Menu-ellipsis.svg +3 -3
  254. package/projects/tgo-canopy-ui/assets/icons/Microphone.svg +3 -3
  255. package/projects/tgo-canopy-ui/assets/icons/Minimize.svg +3 -3
  256. package/projects/tgo-canopy-ui/assets/icons/Minus.svg +3 -3
  257. package/projects/tgo-canopy-ui/assets/icons/Money-bag.svg +5 -5
  258. package/projects/tgo-canopy-ui/assets/icons/Mouse-cursor.svg +3 -3
  259. package/projects/tgo-canopy-ui/assets/icons/Mouse-grab-cursor.svg +3 -3
  260. package/projects/tgo-canopy-ui/assets/icons/Mouse.svg +3 -3
  261. package/projects/tgo-canopy-ui/assets/icons/Multi-choice.svg +3 -3
  262. package/projects/tgo-canopy-ui/assets/icons/Notifications.svg +3 -3
  263. package/projects/tgo-canopy-ui/assets/icons/Password.svg +4 -4
  264. package/projects/tgo-canopy-ui/assets/icons/Path.svg +3 -3
  265. package/projects/tgo-canopy-ui/assets/icons/Pin-marker.svg +4 -4
  266. package/projects/tgo-canopy-ui/assets/icons/Plan-billing.svg +3 -3
  267. package/projects/tgo-canopy-ui/assets/icons/Plus.svg +3 -3
  268. package/projects/tgo-canopy-ui/assets/icons/Premium.svg +4 -4
  269. package/projects/tgo-canopy-ui/assets/icons/Promotion.svg +3 -3
  270. package/projects/tgo-canopy-ui/assets/icons/Question-count.svg +3 -3
  271. package/projects/tgo-canopy-ui/assets/icons/Refer.svg +3 -3
  272. package/projects/tgo-canopy-ui/assets/icons/Reset.svg +3 -3
  273. package/projects/tgo-canopy-ui/assets/icons/Review.svg +3 -3
  274. package/projects/tgo-canopy-ui/assets/icons/Round-check-filled.svg +3 -3
  275. package/projects/tgo-canopy-ui/assets/icons/Round-check.svg +3 -3
  276. package/projects/tgo-canopy-ui/assets/icons/Search.svg +3 -3
  277. package/projects/tgo-canopy-ui/assets/icons/Secure-checkout.svg +3 -3
  278. package/projects/tgo-canopy-ui/assets/icons/Send.svg +3 -3
  279. package/projects/tgo-canopy-ui/assets/icons/Settings.svg +8 -8
  280. package/projects/tgo-canopy-ui/assets/icons/Share.svg +3 -3
  281. package/projects/tgo-canopy-ui/assets/icons/Skip-next.svg +4 -4
  282. package/projects/tgo-canopy-ui/assets/icons/Skip-previous.svg +4 -4
  283. package/projects/tgo-canopy-ui/assets/icons/Social-facebook.svg +3 -3
  284. package/projects/tgo-canopy-ui/assets/icons/Social-instagram.svg +3 -3
  285. package/projects/tgo-canopy-ui/assets/icons/Social-linkedin.svg +3 -3
  286. package/projects/tgo-canopy-ui/assets/icons/Sorting-down-1.svg +3 -3
  287. package/projects/tgo-canopy-ui/assets/icons/Sorting-down.svg +3 -3
  288. package/projects/tgo-canopy-ui/assets/icons/Sparkles.svg +18 -18
  289. package/projects/tgo-canopy-ui/assets/icons/Speedometer.svg +3 -3
  290. package/projects/tgo-canopy-ui/assets/icons/Star-filled.svg +3 -3
  291. package/projects/tgo-canopy-ui/assets/icons/Star-half.svg +3 -3
  292. package/projects/tgo-canopy-ui/assets/icons/Star-outline.svg +3 -3
  293. package/projects/tgo-canopy-ui/assets/icons/Suitcase.svg +6 -6
  294. package/projects/tgo-canopy-ui/assets/icons/Support.svg +3 -3
  295. package/projects/tgo-canopy-ui/assets/icons/Sync.svg +3 -3
  296. package/projects/tgo-canopy-ui/assets/icons/Team.svg +3 -3
  297. package/projects/tgo-canopy-ui/assets/icons/Test.svg +3 -3
  298. package/projects/tgo-canopy-ui/assets/icons/TestGorilla.svg +11 -11
  299. package/projects/tgo-canopy-ui/assets/icons/Thunder.svg +3 -3
  300. package/projects/tgo-canopy-ui/assets/icons/Timer.svg +3 -3
  301. package/projects/tgo-canopy-ui/assets/icons/Trophy.svg +3 -3
  302. package/projects/tgo-canopy-ui/assets/icons/Type.svg +3 -3
  303. package/projects/tgo-canopy-ui/assets/icons/Unarchive.svg +3 -3
  304. package/projects/tgo-canopy-ui/assets/icons/Unlock.svg +3 -3
  305. package/projects/tgo-canopy-ui/assets/icons/Upgrade.svg +3 -3
  306. package/projects/tgo-canopy-ui/assets/icons/Upload.svg +3 -3
  307. package/projects/tgo-canopy-ui/assets/icons/User-access.svg +3 -3
  308. package/projects/tgo-canopy-ui/assets/icons/User-add.svg +3 -3
  309. package/projects/tgo-canopy-ui/assets/icons/User-invite.svg +3 -3
  310. package/projects/tgo-canopy-ui/assets/icons/User-profile.svg +3 -3
  311. package/projects/tgo-canopy-ui/assets/icons/User-reject.svg +4 -4
  312. package/projects/tgo-canopy-ui/assets/icons/User-switch.svg +3 -3
  313. package/projects/tgo-canopy-ui/assets/icons/Video-pause.svg +3 -3
  314. package/projects/tgo-canopy-ui/assets/icons/Video-play.svg +3 -3
  315. package/projects/tgo-canopy-ui/assets/icons/Video-record.svg +3 -3
  316. package/projects/tgo-canopy-ui/assets/icons/Video-stop.svg +3 -3
  317. package/projects/tgo-canopy-ui/assets/icons/Video.svg +3 -3
  318. package/projects/tgo-canopy-ui/assets/icons/Volume.svg +3 -3
  319. package/projects/tgo-canopy-ui/assets/icons/Warning.svg +3 -3
  320. package/projects/tgo-canopy-ui/assets/icons/Zoom-in.svg +6 -6
  321. package/projects/tgo-canopy-ui/assets/icons/Zoom-out.svg +5 -5
  322. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled-disabled.svg +3 -3
  323. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled.svg +3 -3
  324. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-half.svg +3 -3
  325. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-outline.svg +3 -3
  326. package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-filled.svg +3 -3
  327. package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-in-line.svg +3 -3
  328. package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-filled.svg +3 -3
  329. package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-in-line.svg +3 -3
  330. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-filled.svg +3 -3
  331. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-in-line.svg +3 -3
  332. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-filled.svg +3 -3
  333. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-in-line.svg +3 -3
  334. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-filled.svg +3 -3
  335. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-in-line.svg +3 -3
  336. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-filled.svg +3 -3
  337. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-in-line.svg +3 -3
  338. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-filled.svg +3 -3
  339. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-in-line.svg +3 -3
  340. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-filled.svg +3 -3
  341. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-in-line.svg +3 -3
  342. package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-filled.svg +3 -3
  343. package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-in-line.svg +3 -3
  344. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-filled.svg +3 -3
  345. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-in-line.svg +3 -3
  346. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-filled.svg +3 -3
  347. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-in-line.svg +3 -3
  348. package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-filled.svg +3 -3
  349. package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-in-line.svg +3 -3
  350. package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-filled.svg +3 -3
  351. package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-in-line.svg +3 -3
  352. package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-filled.svg +3 -3
  353. package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-in-line.svg +3 -3
  354. package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-filled.svg +3 -3
  355. package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-in-line.svg +3 -3
  356. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-filled.svg +3 -3
  357. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-in-line.svg +3 -3
  358. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-filled.svg +3 -3
  359. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-in-line.svg +3 -3
  360. package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-filled.svg +3 -3
  361. package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-in-line.svg +3 -3
  362. package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-filled.svg +3 -3
  363. package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-in-line.svg +3 -3
  364. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-filled.svg +3 -3
  365. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-in-line.svg +3 -3
  366. package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-filled.svg +3 -3
  367. package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-in-line.svg +3 -3
  368. package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-filled.svg +3 -3
  369. package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-in-line.svg +3 -3
  370. package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-filled.svg +3 -3
  371. package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-in-line.svg +3 -3
  372. package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-filled.svg +3 -3
  373. package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-in-line.svg +3 -3
  374. package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-filled.svg +3 -3
  375. package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-in-line.svg +3 -3
  376. package/projects/tgo-canopy-ui/assets/icons/rebrand/Disconnected-in-line.svg +11 -11
  377. package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-filled.svg +3 -3
  378. package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-in-line.svg +3 -3
  379. package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-filled.svg +3 -3
  380. package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-in-line.svg +3 -3
  381. package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-filled.svg +3 -3
  382. package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-in-line.svg +3 -3
  383. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-filled.svg +3 -3
  384. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-in-line.svg +3 -3
  385. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-filled.svg +3 -3
  386. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-in-line.svg +3 -3
  387. package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-filled.svg +3 -3
  388. package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-in-line.svg +3 -3
  389. package/projects/tgo-canopy-ui/assets/icons/rebrand/Empty-search-in-line.svg +11 -11
  390. package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-filled.svg +3 -3
  391. package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-in-line.svg +3 -3
  392. package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-filled.svg +3 -3
  393. package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-in-line.svg +3 -3
  394. package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-filled.svg +3 -3
  395. package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-in-line.svg +3 -3
  396. package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-filled.svg +3 -3
  397. package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-in-line.svg +3 -3
  398. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-filled.svg +3 -3
  399. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-in-line.svg +3 -3
  400. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-filled.svg +3 -3
  401. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-in-line.svg +3 -3
  402. package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-filled.svg +3 -3
  403. package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-in-line.svg +3 -3
  404. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-filled.svg +3 -3
  405. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-in-line.svg +3 -3
  406. package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-filled.svg +3 -3
  407. package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-in-line.svg +3 -3
  408. package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-filled.svg +3 -3
  409. package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-in-line.svg +3 -3
  410. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-filled.svg +3 -3
  411. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-in-line.svg +3 -3
  412. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-filled.svg +3 -3
  413. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-in-line.svg +3 -3
  414. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-filled.svg +3 -3
  415. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-in-line.svg +3 -3
  416. package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-filled.svg +6 -6
  417. package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-in-line.svg +6 -6
  418. package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-filled.svg +3 -3
  419. package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-in-line.svg +3 -3
  420. package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-filled.svg +3 -3
  421. package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-in-line.svg +3 -3
  422. package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-filled.svg +3 -3
  423. package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-in-line.svg +3 -3
  424. package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-filled.svg +3 -3
  425. package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-in-line.svg +3 -3
  426. package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-filled.svg +3 -3
  427. package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-in-line.svg +3 -3
  428. package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-filled.svg +3 -3
  429. package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-in-line.svg +3 -3
  430. package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-filled.svg +3 -3
  431. package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-in-line.svg +3 -3
  432. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-filled.svg +3 -3
  433. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-in-line.svg +3 -3
  434. package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-filled.svg +3 -3
  435. package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-in-line.svg +3 -3
  436. package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-filled.svg +3 -3
  437. package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-in-line.svg +3 -3
  438. package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-filled.svg +3 -3
  439. package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-in-line.svg +3 -3
  440. package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-filled.svg +3 -3
  441. package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-in-line.svg +3 -3
  442. package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-filled.svg +3 -3
  443. package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-in-line.svg +3 -3
  444. package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-filled.svg +3 -3
  445. package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-in-line.svg +3 -3
  446. package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-filled.svg +3 -3
  447. package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-in-line.svg +3 -3
  448. package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-filled.svg +3 -3
  449. package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-in-line.svg +3 -3
  450. package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-filled.svg +3 -3
  451. package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-in-line.svg +3 -3
  452. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-filled.svg +3 -3
  453. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-in-line.svg +3 -3
  454. package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-filled.svg +3 -3
  455. package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-in-line.svg +3 -3
  456. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lost-found-404-in-line.svg +11 -11
  457. package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-filled.svg +3 -3
  458. package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-in-line.svg +3 -3
  459. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-filled.svg +3 -3
  460. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-in-line.svg +3 -3
  461. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-filled.svg +3 -3
  462. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-in-line.svg +3 -3
  463. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-filled.svg +3 -3
  464. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-in-line.svg +3 -3
  465. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-filled.svg +3 -3
  466. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-in-line.svg +3 -3
  467. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-filled.svg +3 -3
  468. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-in-line.svg +3 -3
  469. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-filled.svg +3 -3
  470. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-in-line.svg +3 -3
  471. package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-filled.svg +3 -3
  472. package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-in-line.svg +3 -3
  473. package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-filled.svg +3 -3
  474. package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-in-line.svg +3 -3
  475. package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-filled.svg +3 -3
  476. package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-in-line.svg +3 -3
  477. package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-filled.svg +3 -3
  478. package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-in-line.svg +3 -3
  479. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-filled.svg +3 -3
  480. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-in-line.svg +3 -3
  481. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-filled.svg +4 -4
  482. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-in-line.svg +4 -4
  483. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-filled.svg +3 -3
  484. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-in-line.svg +3 -3
  485. package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-filled.svg +3 -3
  486. package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-in-line.svg +3 -3
  487. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-filled.svg +3 -3
  488. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-in-line.svg +3 -3
  489. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-circle-in-line.svg +5 -5
  490. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-filled.svg +3 -3
  491. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-in-line.svg +3 -3
  492. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-filled.svg +3 -3
  493. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-in-line.svg +3 -3
  494. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-filled.svg +3 -3
  495. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-in-line.svg +3 -3
  496. package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-filled.svg +3 -3
  497. package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-in-line.svg +3 -3
  498. package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-filled.svg +3 -3
  499. package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-in-line.svg +3 -3
  500. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-filled.svg +3 -3
  501. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-in-line.svg +3 -3
  502. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-filled.svg +3 -3
  503. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-in-line.svg +3 -3
  504. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-filled.svg +3 -3
  505. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-in-line.svg +3 -3
  506. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-filled.svg +3 -3
  507. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-in-line.svg +3 -3
  508. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-filled.svg +3 -3
  509. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-in-line.svg +3 -3
  510. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-filled.svg +3 -3
  511. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-in-line.svg +3 -3
  512. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-filled.svg +3 -3
  513. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-in-line.svg +3 -3
  514. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-filled.svg +3 -3
  515. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-filled.svg +4 -4
  516. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-in-line.svg +4 -4
  517. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-in-line.svg +3 -3
  518. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled-disabled.svg +4 -4
  519. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled.svg +4 -4
  520. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-in-line.svg +4 -4
  521. package/projects/tgo-canopy-ui/assets/icons/rebrand/Round-check-in-line.svg +4 -4
  522. package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-filled.svg +3 -3
  523. package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-in-line.svg +3 -3
  524. package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-filled.svg +3 -3
  525. package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-in-line.svg +3 -3
  526. package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-filled.svg +3 -3
  527. package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-in-line.svg +3 -3
  528. package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-filled.svg +3 -3
  529. package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-in-line.svg +3 -3
  530. package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-filled.svg +3 -3
  531. package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-in-line.svg +3 -3
  532. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-filled.svg +3 -3
  533. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-in-line.svg +3 -3
  534. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-filled.svg +3 -3
  535. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-in-line.svg +3 -3
  536. package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-filled.svg +3 -3
  537. package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-in-line.svg +3 -3
  538. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-filled.svg +5 -5
  539. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-in-line.svg +5 -5
  540. package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-filled.svg +3 -3
  541. package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-in-line.svg +3 -3
  542. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-filled.svg +3 -3
  543. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-in-line.svg +3 -3
  544. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-filled.svg +3 -3
  545. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-in-line.svg +3 -3
  546. package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-filled.svg +3 -3
  547. package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-in-line.svg +3 -3
  548. package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-filled.svg +3 -3
  549. package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-in-line.svg +3 -3
  550. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-filled.svg +11 -11
  551. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-in-line.svg +11 -11
  552. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-filled.svg +11 -11
  553. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-in-line.svg +11 -11
  554. package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-filled.svg +3 -3
  555. package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-in-line.svg +3 -3
  556. package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-filled.svg +3 -3
  557. package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-in-line.svg +3 -3
  558. package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-filled.svg +3 -3
  559. package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-in-line.svg +3 -3
  560. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-filled.svg +3 -3
  561. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-in-line.svg +3 -3
  562. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-filled.svg +3 -3
  563. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-in-line.svg +3 -3
  564. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-filled.svg +3 -3
  565. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-in-line.svg +3 -3
  566. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-filled.svg +3 -3
  567. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-in-line.svg +3 -3
  568. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-filled.svg +3 -3
  569. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-in-line.svg +3 -3
  570. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-filled.svg +3 -3
  571. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-in-line.svg +3 -3
  572. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-filled.svg +3 -3
  573. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-in-line.svg +3 -3
  574. package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-filled.svg +3 -3
  575. package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-in-line.svg +3 -3
  576. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-filled.svg +23 -23
  577. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-in-line.svg +23 -23
  578. package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-filled.svg +3 -3
  579. package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-in-line.svg +3 -3
  580. package/projects/tgo-canopy-ui/assets/icons/rebrand/View-filled.svg +3 -3
  581. package/projects/tgo-canopy-ui/assets/icons/rebrand/View-in-line.svg +3 -3
  582. package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-filled.svg +3 -3
  583. package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-in-line.svg +3 -3
  584. package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-filled.svg +3 -3
  585. package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-in-line.svg +3 -3
  586. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-filled.svg +3 -3
  587. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-in-line.svg +3 -3
  588. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-filled.svg +3 -3
  589. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-in-line.svg +3 -3
  590. package/projects/tgo-canopy-ui/assets/images/empty-state-default.svg +9 -9
  591. package/projects/tgo-canopy-ui/assets/images/poweredbyTG.svg +37 -37
  592. package/projects/tgo-canopy-ui/assets/images/premium.svg +5 -5
  593. package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-black.svg +3 -3
  594. package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-light.svg +3 -3
  595. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/powered-by.svg +22 -22
  596. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_brandmark_pink.svg +10 -10
  597. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_lockup_pink.svg +22 -22
  598. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_wordmark_pink.svg +21 -21
  599. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_black.svg +11 -11
  600. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_cream.svg +11 -11
  601. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_black.svg +23 -23
  602. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_cream.svg +23 -23
  603. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_black.svg +21 -21
  604. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_cream.svg +21 -21
  605. package/projects/tgo-canopy-ui/assets/images/reverseTG.svg +84 -84
  606. package/projects/tgo-canopy-ui/assets/images/step-finish.svg +6 -6
  607. package/projects/tgo-canopy-ui/assets/images/testgorilla.svg +76 -76
  608. package/projects/tgo-canopy-ui/theme/_alert-bars.scss +110 -110
  609. package/projects/tgo-canopy-ui/theme/_breakpoints-mixin.scss +12 -12
  610. package/projects/tgo-canopy-ui/theme/_button.scss +72 -72
  611. package/projects/tgo-canopy-ui/theme/_core.scss +19 -19
  612. package/projects/tgo-canopy-ui/theme/_font.scss +95 -95
  613. package/projects/tgo-canopy-ui/theme/_icon.scss +5 -5
  614. package/projects/tgo-canopy-ui/theme/_lib-styles.scss +35 -35
  615. package/projects/tgo-canopy-ui/theme/_mat-paginator.scss +59 -59
  616. package/projects/tgo-canopy-ui/theme/line-clamp.scss +8 -8
  617. package/projects/tgo-canopy-ui/theme/theme.scss +67 -67
@@ -37,4 +37,4 @@ export class SnackbarService {
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SnackbarService, decorators: [{
38
38
  type: Injectable
39
39
  }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUcsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWE7UUFDdkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsZ0JBQW1DLEVBQUUsSUFBYTtRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWE7UUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksQ0FBQyxZQUEwQixFQUFFLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhO1FBQ2xHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7WUFDdEUsSUFBSSxFQUFFO2dCQUNKLFlBQVk7Z0JBQ1osT0FBTztnQkFDUCxJQUFJO2FBQ0w7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0EvQlUsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcclxuaW1wb3J0IHsgU25hY2tiYXJUeXBlIH0gZnJvbSAnLi9zbmFja2Jhci5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTbmFja2JhclNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7fVxyXG5cclxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KCdlcnJvcicsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwpO1xyXG4gIH1cclxuXHJcbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KCdzdWNjZXNzJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCk7XHJcbiAgfVxyXG5cclxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnNob3coJ2luZm8nLCBtZXNzYWdlLCBhcHBsaWNhdGlvblRoZW1lLCBodG1sKTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcobWVzc2FnZTogc3RyaW5nLCBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZSwgaHRtbD86IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdygnd2FybmluZycsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwpO1xyXG4gIH1cclxuXHJcbiAgc2hvdyhzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZSwgbWVzc2FnZTogc3RyaW5nLCBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZSwgaHRtbD86IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTbmFja2JhckNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgc25hY2tiYXJUeXBlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgaHRtbCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgaWYgKGFwcGxpY2F0aW9uVGhlbWUpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmFwcGxpY2F0aW9uVGhlbWUgPSBhcHBsaWNhdGlvblRoZW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcbn1cclxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUcsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWE7UUFDdkUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsZ0JBQW1DLEVBQUUsSUFBYTtRQUN6RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWE7UUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksQ0FBQyxZQUEwQixFQUFFLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhO1FBQ2xHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7WUFDdEUsSUFBSSxFQUFFO2dCQUNKLFlBQVk7Z0JBQ1osT0FBTztnQkFDUCxJQUFJO2FBQ0w7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzsrR0EvQlUsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFNuYWNrYmFyVHlwZSB9IGZyb20gJy4vc25hY2tiYXIubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU25hY2tiYXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHt9XG5cbiAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZSwgaHRtbD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNob3coJ2Vycm9yJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCk7XG4gIH1cblxuICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93KCdzdWNjZXNzJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93KCdpbmZvJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93KCd3YXJuaW5nJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCk7XG4gIH1cblxuICBzaG93KHNuYWNrYmFyVHlwZTogU25hY2tiYXJUeXBlLCBtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nKSB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTbmFja2JhckNvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBzbmFja2JhclR5cGUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGh0bWwsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmIChhcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYXBwbGljYXRpb25UaGVtZSA9IGFwcGxpY2F0aW9uVGhlbWU7XG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cbn1cbiJdfQ==
@@ -407,11 +407,11 @@ export class SpiderChartComponent {
407
407
  return label.substring(firstLine.length).trim();
408
408
  }
409
409
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
410
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
411
411
  }
412
412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, decorators: [{
413
413
  type: Component,
414
- args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
414
+ args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
415
415
  }], propDecorators: { size: [{
416
416
  type: Input
417
417
  }], spiderChartData: [{
@@ -440,4 +440,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
440
440
  type: ViewChildren,
441
441
  args: ['legendItem']
442
442
  }] } });
443
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQix1MUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExhcmdlU3BpZGVyQ2hhcnRTaXplLCBTbWFsbFNwaWRlckNoYXJ0U2l6ZSwgU3BpZGVyQ2hhcnREYXRhLCBTcGlkZXJDaGFydFNpemUgfSBmcm9tICcuL3NwaWRlci1jaGFydC5tb2RlbCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbG9ycy5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1zcGlkZXItY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBzaXplIG9mIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtTcGlkZXJDaGFydERhdGF9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgc3BpZGVyQ2hhcnREYXRhOiBTcGlkZXJDaGFydERhdGE7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzdGVwIHNpemUgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzdGVwU2l6ZTogbnVtYmVyID0gMjA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBhcmlhIGxhYmVsIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cclxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcclxuICAgKlxyXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxyXG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2xhYmVsQ29udGFpbmVyJykgbGFiZWxDb250YWluZXJzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgQFZpZXdDaGlsZHJlbignZmFrZURhdGFQb2ludHMnKSBmYWtlRGF0YVBvaW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuICBAVmlld0NoaWxkcmVuKCdsZWdlbmRJdGVtJykgbGVnZW5kSXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcclxuICAgIGxhYmVsczogW10sXHJcbiAgICBkYXRhc2V0czogW10sXHJcbiAgfTtcclxuICByYWRhckNoYXJ0T3B0aW9uczogQ2hhcnRPcHRpb25zPCdyYWRhcic+O1xyXG4gIGxhYmVsUG9zaXRpb25zOiB7IFtrZXk6IHN0cmluZ106IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB9ID0ge307XHJcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9jdXNlZExhYmVsSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleDogbnVtYmVyID0gMDtcclxuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XHJcbiAgICBsYWJlbHM6IFsxLCAyLCAzLCA0LCA1LCA2XSxcclxuICAgIGRhdGFzZXRzOiBbXSxcclxuICB9O1xyXG4gIGxvYWRpbmdDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPiA9IHtcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICBsYXlvdXQ6IHtcclxuICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgIHJpZ2h0OiA0MCxcclxuICAgICAgICB0b3A6IDQwLFxyXG4gICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgc2NhbGVzOiB7XHJcbiAgICAgIHI6IHtcclxuICAgICAgICBhbmdsZUxpbmVzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdyaWQ6IHtcclxuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb2ludExhYmVsczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXHJcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRpb25Db250ZXh0ID0gJ0NIQVJUUy5TUElERVIuJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnREYXRhKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnRPcHRpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xyXG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsc1wiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24gfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbiAmJlxyXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxEZXNjcmlwdGlvblwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFiYXNlTGFiZWxcIiBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YSB8fCB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEubGVuZ3RoICE9PSB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEgJiZcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMV0uZGF0YS5sZW5ndGggIT09IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFzIFwibGFiZWxzXCIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENoYXJ0RGF0YSgpIHtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XHJcbiAgICBkYXRhc2V0cy5wdXNoKHtcclxuICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwsXHJcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXHJcbiAgICAgIGZpbGw6IHRydWUsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjEyLCAxNiwgMTcwLCAwLjIpJyxcclxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQlJBTkRfNTAsXHJcbiAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGRhdGFzZXRzLnB1c2goe1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhYmFzZUxhYmVsLFxyXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXHJcbiAgICAgICAgZmlsbDogZmFsc2UsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcclxuICAgICAgICBib3JkZXJXaWR0aDogMSxcclxuICAgICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICAgIHBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmFkYXJDaGFydERhdGEgPSB7XHJcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogZGF0YXNldHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDaGFydE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICBlbGVtZW50czoge1xyXG4gICAgICAgIGxpbmU6IHtcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiAzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgICAgcmlnaHQ6IDQwLFxyXG4gICAgICAgICAgdG9wOiA0MCxcclxuICAgICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgcjoge1xyXG4gICAgICAgICAgYW5nbGVMaW5lczoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZ3JpZDoge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udGV4dCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbnRleHQudGljay52YWx1ZSA9PT0gMTAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBDb2xvci5HUkFZU0NBTEVfMzA7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcG9pbnRMYWJlbHM6IHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXHJcbiAgICAgICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgICBmYW1pbHk6ICdBcmlhbCcsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1heDogMTAwLFxyXG4gICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9nQ29ybmVyQ29vcmRpbmF0ZXModGhpcy5jaGFydC5jaGFydCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ0Nvcm5lckNvb3JkaW5hdGVzKGNoYXJ0OiBDaGFydCkge1xyXG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XHJcbiAgICBjb25zdCBjYW52YXNXaWR0aCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XHJcbiAgICBjb25zdCBjYW52YXNIZWlnaHQgPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGFiZWxzIGFuZCBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgY29vcmRpbmF0ZXNcclxuICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5mb3JFYWNoKChsYWJlbCwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhdGUgcGVyY2VudGFnZSB2YWx1ZXMgcmVsYXRpdmUgdG8gdGhlIGNhbnZhcyBzaXplXHJcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XHJcbiAgICAgIGNvbnN0IHlQZXJjZW50ID0gKChjYW52YXNIZWlnaHQgLSBwb3NpdGlvbi55KSAvIGNhbnZhc0hlaWdodCkgKiAxMDA7IC8vIEludmVydGluZyB0aGUgWS1heGlzXHJcblxyXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYWJlbFBvc2l0aW9uc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2VudGVyZWRMYWJlbEJvdHRvbVBvc2l0aW9uKGxhYmVsOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xyXG4gICAgY29uc3QgcGFkZGluZyA9IDc7XHJcbiAgICBpZiAocG9zaXRpb24ueCA+IDUwIHx8IHBvc2l0aW9uLnggPCA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcclxuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueSA8IDUwKSB7XHJcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnl9JSAtICR7aGVpZ2h0fXB4IC0gJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgKyAke3BhZGRpbmd9cHgpYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENlbnRlcmVkTGFiZWxMZWZ0UG9zaXRpb24obGFiZWw6IHN0cmluZywgd2lkdGg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSAxNTtcclxuICAgIGlmIChwb3NpdGlvbi54ID09PSA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xyXG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbi54IDwgNTApIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lIC0gJHt3aWR0aH1weCAtICR7cGFkZGluZ31weClgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lICsgJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxhYmVsS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgdGhpcy5mb2N1c05leHRMYWJlbChpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c05leHRMYWJlbChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XHJcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IG5leHRJbmRleDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xhYmVsKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XHJcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgfVxyXG5cclxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoaW5kZXgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcclxuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5sZWdlbmRJdGVtcy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25GYWtlRGF0YVBvaW50c0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4ICsgMSA+IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPyAwIDogaW5kZXggKyAxLCBpc1NlY29uZGFyeSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4IC0gMSA8IDAgPyB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIC0gMSA6IGluZGV4IC0gMSwgaXNTZWNvbmRhcnkpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XHJcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dEZha2VEYXRhUG9pbnQoaW5kZXg6IG51bWJlciwgaXNTZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gbmV4dEluZGV4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xyXG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XHJcbiAgICAgIGZha2VEYXRhUG9pbnRzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xyXG4gICAgICBmYWtlRGF0YVBvaW50cy5sYXN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBbeyBkYXRhc2V0SW5kZXg6IGlzU2Vjb25kYXJ5ID8gMSA6IDAsIGluZGV4IH1dO1xyXG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XHJcbiAgICBjb25zdCBkYXRhUG9pbnQgPSBtZXRhLmRhdGFbaW5kZXhdO1xyXG4gICAgY29uc3QgZXZlbnRQb3NpdGlvbiA9IHtcclxuICAgICAgeDogZGF0YVBvaW50LngsXHJcbiAgICAgIHk6IGRhdGFQb2ludC55LFxyXG4gICAgfTtcclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhhY3RpdmVFbGVtZW50LCBldmVudFBvc2l0aW9uKTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuXHJcbiAgICAvLyBDbGVhciB0aGUgYWN0aXZlIGVsZW1lbnRzIHRvIGhpZGUgdGhlIHRvb2x0aXBcclxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoW10sIHsgeDogMCwgeTogMCB9KTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGFzZXQgPSBjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XTtcclxuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xyXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcclxuICB9XHJcblxyXG4gIGlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG4gICAgcmV0dXJuICFjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5oaWRkZW47XHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB3b3JkcyA9IGxhYmVsLnNwbGl0KCcgJyk7XHJcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XHJcbiAgICBmb3IgKGNvbnN0IHdvcmQgb2Ygd29yZHMpIHtcclxuICAgICAgaWYgKChmaXJzdExpbmUgKyB3b3JkKS5sZW5ndGggPD0gMjApIHtcclxuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaXJzdExpbmU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWNvbmRMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xyXG4gICAgcmV0dXJuIGxhYmVsLnN1YnN0cmluZyhmaXJzdExpbmUubGVuZ3RoKS50cmltKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzcGlkZXItY2hhcnQtY29udGFpbmVyXCJcclxuICB0YWJpbmRleD1cIjBcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNwYWNpbmctY29udGFpbmVyXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21hbGwtc3BhY2luZyc6IHJhZGFyQ2hhcnREYXRhLmxhYmVscyAmJiByYWRhckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoICUgMiA9PT0gMSAmJiAhbG9hZGluZ31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcyODBweCcgOiAnMjAwcHgnXCJcclxuICAgICAgW3N0eWxlLmhlaWdodF09XCJzaXplID09PSAnbGFyZ2UnID8gJzI4MHB4JyA6ICcyMDBweCdcIj5cclxuICAgICAgQGlmICghbG9hZGluZykge1xyXG4gICAgICAgIDxjYW52YXNcclxuICAgICAgICAgIGJhc2VDaGFydFxyXG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwicmFkYXJDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGNhbnZhc1xyXG4gICAgICAgICAgYmFzZUNoYXJ0XHJcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcclxuICAgICAgICAgIFtvcHRpb25zXT1cImxvYWRpbmdDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgQGZvciAobGFiZWwgb2Ygc3BpZGVyQ2hhcnREYXRhLmxhYmVsczsgdHJhY2sgbGFiZWwpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxyXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb25bJGluZGV4XVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0V2lkdGgpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxyXG4gICAgICAgICAgICAgIEBpZiAoIShsYWJlbC5sZW5ndGggPiAyMCAmJiBzaXplID09PSAnbGFyZ2UnICYmIHNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIDwgOSkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0Rmlyc3RMaW5lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldFNlY29uZExpbmUgOiB0aGlzIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhWyRpbmRleF0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHNcIiAjZmFrZURhdGFQb2ludHNcclxuICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiZm9jdXNlZExhYmVsSW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxyXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRmFrZURhdGFQb2ludHNLZXlEb3duKCRldmVudCwgJGluZGV4KVwiPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFrZS1kYXRhLXBvaW50cy1zZWNvbmRhcnlcIiAjZmFrZURhdGFQb2ludHNTZWNvbmRhcnlcclxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID09PSAkaW5kZXggPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleCwgdHJ1ZSlcIj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChkYXRhc2V0IG9mIHJhZGFyQ2hhcnREYXRhLmRhdGFzZXRzOyB0cmFjayBkYXRhc2V0LmxhYmVsKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcclxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEYXRhc2V0VmlzaWJpbGl0eSgkaW5kZXgpXCJcclxuICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/IGZhbHNlIDogdHJ1ZVwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/XHJcbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxyXG4gICAgICAgICAgKCh0cmFuc2xhdGlvbkNvbnRleHQgKyAnREFUQVNFVF9ISURERU4nKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYylcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25MZWdlbmRJdGVtS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1saW5lXCIgW25nQ2xhc3NdPVwieydzb2xpZC1saW5lJzogJGluZGV4ID09PSAwLCAnZGFzaGVkLWxpbmUnOiAkaW5kZXggPT09IDF9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGFiZWxcIiBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+XHJcbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
443
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQixpcUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSwgU21hbGxTcGlkZXJDaGFydFNpemUsIFNwaWRlckNoYXJ0RGF0YSwgU3BpZGVyQ2hhcnRTaXplIH0gZnJvbSAnLi9zcGlkZXItY2hhcnQubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9jb2xvcnMubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNwaWRlci1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHNwaWRlciBjaGFydC5cbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7U3BpZGVyQ2hhcnREYXRhfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNwaWRlckNoYXJ0RGF0YTogU3BpZGVyQ2hhcnREYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcCBzaXplIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHN0ZXBTaXplOiBudW1iZXIgPSAyMDtcblxuICAvKipcbiAgICogVGhlIGFyaWEgbGFiZWwgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFNwaW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xuICBAVmlld0NoaWxkcmVuKCdsYWJlbENvbnRhaW5lcicpIGxhYmVsQ29udGFpbmVyczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkcmVuKCdmYWtlRGF0YVBvaW50cycpIGZha2VEYXRhUG9pbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZHJlbignbGVnZW5kSXRlbScpIGxlZ2VuZEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcbiAgICBsYWJlbHM6IFtdLFxuICAgIGRhdGFzZXRzOiBbXSxcbiAgfTtcbiAgcmFkYXJDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPjtcbiAgbGFiZWxQb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IH0gPSB7fTtcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZvY3VzZWRMYWJlbEluZGV4OiBudW1iZXIgPSAwO1xuICBmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4OiBudW1iZXIgPSAwO1xuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XG4gICAgbGFiZWxzOiBbMSwgMiwgMywgNCwgNSwgNl0sXG4gICAgZGF0YXNldHM6IFtdLFxuICB9O1xuICBsb2FkaW5nQ2hhcnRPcHRpb25zOiBDaGFydE9wdGlvbnM8J3JhZGFyJz4gPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogNDAsXG4gICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgdG9wOiA0MCxcbiAgICAgICAgYm90dG9tOiA0MCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzY2FsZXM6IHtcbiAgICAgIHI6IHtcbiAgICAgICAgYW5nbGVMaW5lczoge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcbiAgICAgICAgfSxcbiAgICAgICAgZ3JpZDoge1xuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvaW50TGFiZWxzOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgIHRpY2tzOiB7XG4gICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnQ0hBUlRTLlNQSURFUi4nO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XG4gICAgICB0aGlzLnNldENoYXJ0RGF0YSgpO1xuICAgICAgdGhpcy5zZXRDaGFydE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxzXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsRGVzY3JpcHRpb25cIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YWJhc2VMYWJlbFwiIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YS5sZW5ndGggPT09IDIgJiZcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hhcnREYXRhKCkge1xuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XG4gICAgZGF0YXNldHMucHVzaCh7XG4gICAgICBsYWJlbDogdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCxcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXG4gICAgICBmaWxsOiB0cnVlLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyMTIsIDE2LCAxNzAsIDAuMiknLFxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJvcmRlckNvbG9yOiBDb2xvci5CUkFORF81MCxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XG4gICAgICBkYXRhc2V0cy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGFiYXNlTGFiZWwsXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXG4gICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICBib3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBDb2xvci5CTEFDSyxcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yOiBDb2xvci5UR09fV0hJVEUsXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yYWRhckNoYXJ0RGF0YSA9IHtcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxuICAgICAgZGF0YXNldHM6IGRhdGFzZXRzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldENoYXJ0T3B0aW9ucygpIHtcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGxpbmU6IHtcbiAgICAgICAgICBib3JkZXJXaWR0aDogMyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDQwLFxuICAgICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgICB0b3A6IDQwLFxuICAgICAgICAgIGJvdHRvbTogNDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHI6IHtcbiAgICAgICAgICBhbmdsZUxpbmVzOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yLkJMQUNLLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ3JpZDoge1xuICAgICAgICAgICAgY29sb3I6IGNvbnRleHQgPT4ge1xuICAgICAgICAgICAgICBpZiAoY29udGV4dC50aWNrLnZhbHVlID09PSAxMDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIENvbG9yLkdSQVlTQ0FMRV8zMDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwb2ludExhYmVsczoge1xuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIGZhbWlseTogJ0FyaWFsJyxcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXG4gICAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvZ0Nvcm5lckNvb3JkaW5hdGVzKHRoaXMuY2hhcnQuY2hhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9nQ29ybmVyQ29vcmRpbmF0ZXMoY2hhcnQ6IENoYXJ0KSB7XG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XG4gICAgY29uc3QgY2FudmFzV2lkdGggPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xuICAgIGNvbnN0IGNhbnZhc0hlaWdodCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGxhYmVscyBhbmQgY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIGNvb3JkaW5hdGVzXG4gICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmZvckVhY2goKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgY2FudmFzIHNpemVcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XG4gICAgICBjb25zdCB5UGVyY2VudCA9ICgoY2FudmFzSGVpZ2h0IC0gcG9zaXRpb24ueSkgLyBjYW52YXNIZWlnaHQpICogMTAwOyAvLyBJbnZlcnRpbmcgdGhlIFktYXhpc1xuXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcbiAgICB9KTtcbiAgICB0aGlzLmxhYmVsUG9zaXRpb25zVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBnZXRDZW50ZXJlZExhYmVsQm90dG9tUG9zaXRpb24obGFiZWw6IHN0cmluZywgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xuICAgIGNvbnN0IHBhZGRpbmcgPSA3O1xuICAgIGlmIChwb3NpdGlvbi54ID4gNTAgfHwgcG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uLnkgPCA1MCkge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lIC0gJHtoZWlnaHR9cHggLSAke3BhZGRpbmd9cHgpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lICsgJHtwYWRkaW5nfXB4KWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbDogc3RyaW5nLCB3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTU7XG4gICAgaWYgKHBvc2l0aW9uLnggPT09IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRofXB4IC0gJHtwYWRkaW5nfXB4KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnh9JSArICR7cGFkZGluZ31weClgO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGFiZWwoaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0TGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRMYWJlbEluZGV4ID0gbmV4dEluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gIH1cblxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy50b2dnbGVEYXRhc2V0VmlzaWJpbGl0eShpbmRleCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLmZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxlZ2VuZEl0ZW1zLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmFrZURhdGFQb2ludHNLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCArIDEgPiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoID8gMCA6IGluZGV4ICsgMSwgaXNTZWNvbmRhcnkpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCAtIDEgPCAwID8gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCAtIDEgOiBpbmRleCAtIDEsIGlzU2Vjb25kYXJ5KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRGYWtlRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBuZXh0SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xuICAgICAgZmFrZURhdGFQb2ludHMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIH1cbiAgfVxuXG4gIHNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XG4gICAgaWYgKCFjaGFydEluc3RhbmNlKSByZXR1cm47XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IFt7IGRhdGFzZXRJbmRleDogaXNTZWNvbmRhcnkgPyAxIDogMCwgaW5kZXggfV07XG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XG4gICAgY29uc3QgZGF0YVBvaW50ID0gbWV0YS5kYXRhW2luZGV4XTtcbiAgICBjb25zdCBldmVudFBvc2l0aW9uID0ge1xuICAgICAgeDogZGF0YVBvaW50LngsXG4gICAgICB5OiBkYXRhUG9pbnQueSxcbiAgICB9O1xuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoYWN0aXZlRWxlbWVudCwgZXZlbnRQb3NpdGlvbik7XG5cbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgLy8gQ2xlYXIgdGhlIGFjdGl2ZSBlbGVtZW50cyB0byBoaWRlIHRoZSB0b29sdGlwXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhbXSwgeyB4OiAwLCB5OiAwIH0pO1xuXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcbiAgfVxuXG4gIHRvZ2dsZURhdGFzZXRWaXNpYmlsaXR5KGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YXNldCA9IGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdO1xuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xuICAgIGNoYXJ0SW5zdGFuY2UudXBkYXRlKCk7XG4gIH1cblxuICBpc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuICAgIHJldHVybiAhY2hhcnRJbnN0YW5jZS5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uaGlkZGVuO1xuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTtcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBpZiAoKGZpcnN0TGluZSArIHdvcmQpLmxlbmd0aCA8PSAyMCkge1xuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0TGluZTtcbiAgfVxuXG4gIGdldFNlY29uZExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xuICAgIHJldHVybiBsYWJlbC5zdWJzdHJpbmcoZmlyc3RMaW5lLmxlbmd0aCkudHJpbSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BpZGVyLWNoYXJ0LWNvbnRhaW5lclwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XG4gIDxkaXYgY2xhc3M9XCJzcGFjaW5nLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieydzbWFsbC1zcGFjaW5nJzogcmFkYXJDaGFydERhdGEubGFiZWxzICYmIHJhZGFyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggJSAyID09PSAxICYmICFsb2FkaW5nfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxuICAgICAgW3N0eWxlLndpZHRoXT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiPlxuICAgICAgQGlmICghbG9hZGluZykge1xuICAgICAgICA8Y2FudmFzXG4gICAgICAgICAgYmFzZUNoYXJ0XG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxuICAgICAgICAgIFtvcHRpb25zXT1cInJhZGFyQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxjYW52YXNcbiAgICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJsb2FkaW5nQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XG4gICAgICB9XG5cbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgICBAZm9yIChsYWJlbCBvZiBzcGlkZXJDaGFydERhdGEubGFiZWxzOyB0cmFjayBsYWJlbCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvblskaW5kZXhdXCJcbiAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxuICAgICAgICAgICAgICBbc3R5bGUubGVmdF09XCJnZXRDZW50ZXJlZExhYmVsTGVmdFBvc2l0aW9uKGxhYmVsLCBsYWJlbENvbnRhaW5lci5vZmZzZXRXaWR0aClcIlxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxuICAgICAgICAgICAgICBAaWYgKCEobGFiZWwubGVuZ3RoID4gMjAgJiYgc2l6ZSA9PT0gJ2xhcmdlJyAmJiBzcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA8IDkpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldEZpcnN0TGluZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0U2Vjb25kTGluZSA6IHRoaXMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFbJGluZGV4XSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYWtlLWRhdGEtcG9pbnRzXCIgI2Zha2VEYXRhUG9pbnRzXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkTGFiZWxJbmRleCA9PT0gJGluZGV4ID8gJzAnIDogJy0xJ1wiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleClcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHMtc2Vjb25kYXJ5XCIgI2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5XG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25GYWtlRGF0YVBvaW50c0tleURvd24oJGV2ZW50LCAkaW5kZXgsIHRydWUpXCI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1jb250YWluZXJcIj5cbiAgICAgIEBmb3IgKGRhdGFzZXQgb2YgcmFkYXJDaGFydERhdGEuZGF0YXNldHM7IHRyYWNrIGRhdGFzZXQubGFiZWwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoJGluZGV4KVwiXG4gICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0RhdGFzZXRWaXNpYmxlKCRpbmRleCkgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID9cbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxuICAgICAgICAgICgodHJhbnNsYXRpb25Db250ZXh0ICsgJ0RBVEFTRVRfSElEREVOJykgfCB1aVRyYW5zbGF0ZSA6IHsgZGF0YXNldDogZGF0YXNldC5sYWJlbCB9IHwgYXN5bmMpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkxlZ2VuZEl0ZW1LZXlEb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGluZVwiIFtuZ0NsYXNzXT1cInsnc29saWQtbGluZSc6ICRpbmRleCA9PT0gMCwgJ2Rhc2hlZC1saW5lJzogJGluZGV4ID09PSAxfVwiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID8gJ25vbmUnIDogJ2xpbmUtdGhyb3VnaCdcIj5cbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuIl19
@@ -1,4 +1,4 @@
1
1
  // These are the sizes of the canvas, not the chart itself. It includes 40px of padding on all sides.
2
2
  export const SmallSpiderChartSize = 200;
3
3
  export const LargeSpiderChartSize = 280;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EscUdBQXFHO0FBQ3JHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnIHwgJ3NtYWxsJztcclxuLy8gVGhlc2UgYXJlIHRoZSBzaXplcyBvZiB0aGUgY2FudmFzLCBub3QgdGhlIGNoYXJ0IGl0c2VsZi4gSXQgaW5jbHVkZXMgNDBweCBvZiBwYWRkaW5nIG9uIGFsbCBzaWRlcy5cclxuZXhwb3J0IGNvbnN0IFNtYWxsU3BpZGVyQ2hhcnRTaXplOiBudW1iZXIgPSAyMDA7XHJcbmV4cG9ydCBjb25zdCBMYXJnZVNwaWRlckNoYXJ0U2l6ZTogbnVtYmVyID0gMjgwO1xyXG5leHBvcnQgdHlwZSBTcGlkZXJDaGFydERhdGEgPSB7XHJcbiAgbGFiZWxzOiBzdHJpbmdbXTtcclxuICBsYWJlbERlc2NyaXB0aW9uOiBzdHJpbmdbXTtcclxuICBwbG90RGF0YTogW1Bsb3REYXRhLCBQbG90RGF0YV0gfCBbUGxvdERhdGFdOyAvLyBDdXJyZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG1heCAyIGRhdGFzZXRzLlxyXG59O1xyXG5leHBvcnQgdHlwZSBQbG90RGF0YSA9IHtcclxuICBkYXRhYmFzZUxhYmVsOiBzdHJpbmc7XHJcbiAgZGF0YTogbnVtYmVyW107XHJcbn07XHJcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EscUdBQXFHO0FBQ3JHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnIHwgJ3NtYWxsJztcbi8vIFRoZXNlIGFyZSB0aGUgc2l6ZXMgb2YgdGhlIGNhbnZhcywgbm90IHRoZSBjaGFydCBpdHNlbGYuIEl0IGluY2x1ZGVzIDQwcHggb2YgcGFkZGluZyBvbiBhbGwgc2lkZXMuXG5leHBvcnQgY29uc3QgU21hbGxTcGlkZXJDaGFydFNpemU6IG51bWJlciA9IDIwMDtcbmV4cG9ydCBjb25zdCBMYXJnZVNwaWRlckNoYXJ0U2l6ZTogbnVtYmVyID0gMjgwO1xuZXhwb3J0IHR5cGUgU3BpZGVyQ2hhcnREYXRhID0ge1xuICBsYWJlbHM6IHN0cmluZ1tdO1xuICBsYWJlbERlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgcGxvdERhdGE6IFtQbG90RGF0YSwgUGxvdERhdGFdIHwgW1Bsb3REYXRhXTsgLy8gQ3VycmVudCBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBtYXggMiBkYXRhc2V0cy5cbn07XG5leHBvcnQgdHlwZSBQbG90RGF0YSA9IHtcbiAgZGF0YWJhc2VMYWJlbDogc3RyaW5nO1xuICBkYXRhOiBudW1iZXJbXTtcbn07XG4iXX0=
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
41
41
  ],
42
42
  }]
43
43
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVoRSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFnQmpDLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWJ0QixvQkFBb0IsYUFHakMsT0FBTztZQUNQLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVksYUFUSixvQkFBb0I7Z0hBWW5CLDBCQUEwQixZQVJuQyxjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLHNCQUFzQjtZQUN0QixZQUFZOzs0RkFHSCwwQkFBMEI7a0JBZHRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ1AsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBTcGlkZXJDaGFydENvbXBvbmVudCB9IGZyb20gJy4vc3BpZGVyLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IENoYXJ0LCByZWdpc3RlcmFibGVzIH0gZnJvbSAnY2hhcnQuanMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNwaW5uZXJDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIubW9kdWxlJztcclxuaW1wb3J0IHsgTWVtb2l6ZUZ1bmNQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvbWVtb2l6ZS1mdW5jLnBpcGUnO1xyXG5cclxuQ2hhcnQucmVnaXN0ZXIoLi4ucmVnaXN0ZXJhYmxlcyk7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NwaWRlckNoYXJ0Q29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbU3BpZGVyQ2hhcnRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXHJcbiAgICBOZ0NoYXJ0c01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXHJcbiAgICBNZW1vaXplRnVuY1BpcGUsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGlkZXJDaGFydENvbXBvbmVudE1vZHVsZSB7fVxyXG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUVoRSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFnQmpDLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWJ0QixvQkFBb0IsYUFHakMsT0FBTztZQUNQLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysc0JBQXNCO1lBQ3RCLFlBQVksYUFUSixvQkFBb0I7Z0hBWW5CLDBCQUEwQixZQVJuQyxjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLHNCQUFzQjtZQUN0QixZQUFZOzs0RkFHSCwwQkFBMEI7a0JBZHRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ1AsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFNwaWRlckNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IE5nQ2hhcnRzTW9kdWxlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5pbXBvcnQgeyBDaGFydCwgcmVnaXN0ZXJhYmxlcyB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBNZW1vaXplRnVuY1BpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9tZW1vaXplLWZ1bmMucGlwZSc7XG5cbkNoYXJ0LnJlZ2lzdGVyKC4uLnJlZ2lzdGVyYWJsZXMpO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTcGlkZXJDaGFydENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTcGlkZXJDaGFydENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIFVpVHJhbnNsYXRlUGlwZSxcbiAgICBOZ0NoYXJ0c01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFVpVHJhbnNsYXRlUGlwZSxcbiAgICBNZW1vaXplRnVuY1BpcGUsXG4gICAgU3Bpbm5lckNvbXBvbmVudE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNwaWRlckNoYXJ0Q29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNwaW5uZXJTaXplID0gJ2xhcmdlJyB8ICdzbWFsbCc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNwaW5uZXJTaXplID0gJ2xhcmdlJyB8ICdzbWFsbCc7XG4iXX0=