@openziti/ziti-console-lib 0.12.11 → 1.0.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 (450) hide show
  1. package/assets/fonts/icomoon.eot +0 -0
  2. package/assets/fonts/icomoon.svg +6 -1
  3. package/assets/fonts/icomoon.ttf +0 -0
  4. package/assets/fonts/icomoon.woff +0 -0
  5. package/assets/fonts/icomoon.woff2 +0 -0
  6. package/assets/styles/dark.css +15 -8
  7. package/assets/styles/global.scss +431 -24
  8. package/assets/styles/icons.scss +644 -0
  9. package/assets/svgs/Icon_Log_Logout.svg +43 -0
  10. package/assets/svgs/clients.svg +6 -0
  11. package/assets/svgs/ziti-logo.svg +23 -0
  12. package/esm2022/lib/ZAC_VERSION.mjs +4 -0
  13. package/esm2022/lib/default-app-config.mjs +5 -0
  14. package/esm2022/lib/features/card/card.component.mjs +4 -5
  15. package/esm2022/lib/features/card-list/card-list.component.mjs +2 -4
  16. package/esm2022/lib/features/config-editor/config-editor.component.mjs +2 -3
  17. package/esm2022/lib/features/confirm/confirm.component.mjs +4 -5
  18. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +2 -3
  19. package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +4 -5
  20. package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +2 -3
  21. package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +2 -3
  22. package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +4 -5
  23. package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +2 -3
  24. package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +2 -3
  25. package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +2 -3
  26. package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +2 -3
  27. package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +4 -5
  28. package/esm2022/lib/features/data-table/data-table-filter.service.mjs +2 -3
  29. package/esm2022/lib/features/data-table/data-table.component.mjs +4 -5
  30. package/esm2022/lib/features/data-table/data-table.service.mjs +2 -3
  31. package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +4 -5
  32. package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +2 -3
  33. package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +2 -3
  34. package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +2 -3
  35. package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +2 -3
  36. package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +2 -3
  37. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +2 -3
  38. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +2 -3
  39. package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +2 -3
  40. package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +4 -5
  41. package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +2 -3
  42. package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +2 -3
  43. package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +2 -3
  44. package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +2 -3
  45. package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +2 -3
  46. package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +2 -3
  47. package/esm2022/lib/features/extendable/extendable.component.mjs +2 -3
  48. package/esm2022/lib/features/extendable/extensions-noop.service.mjs +3 -3
  49. package/esm2022/lib/features/header-bar/header-bar.component.mjs +105 -0
  50. package/esm2022/lib/features/json-view/json-view.component.mjs +4 -5
  51. package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +2 -3
  52. package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +4 -5
  53. package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +2 -3
  54. package/esm2022/lib/features/login/login-dialog.component.mjs +10 -12
  55. package/esm2022/lib/features/messaging/growler.component.mjs +4 -5
  56. package/esm2022/lib/features/messaging/growler.module.mjs +2 -3
  57. package/esm2022/lib/features/messaging/growler.service.mjs +2 -3
  58. package/esm2022/lib/features/messaging/logger.service.mjs +2 -3
  59. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +2 -3
  60. package/esm2022/lib/features/no-items/no-items.component.mjs +2 -3
  61. package/esm2022/lib/features/overrides/overrides.component.mjs +2 -3
  62. package/esm2022/lib/features/overrides/overrides.service.mjs +2 -3
  63. package/esm2022/lib/features/preview-list/preview-list.component.mjs +4 -5
  64. package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +2 -3
  65. package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +2 -3
  66. package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +2 -3
  67. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +5 -9
  68. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +2 -3
  69. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +5 -9
  70. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +2 -3
  71. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +5 -9
  72. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +2 -3
  73. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +4 -8
  74. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +2 -3
  75. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +5 -9
  76. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +2 -3
  77. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +5 -9
  78. package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +2 -3
  79. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +34 -26
  80. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +2 -3
  81. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +13 -14
  82. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +6 -7
  83. package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +4 -5
  84. package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +4 -5
  85. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +4 -5
  86. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +6 -12
  87. package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +2 -3
  88. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +5 -12
  89. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +2 -3
  90. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +5 -9
  91. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +2 -3
  92. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +36 -74
  93. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +5 -8
  94. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -3
  95. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +57 -24
  96. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +13 -14
  97. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +6 -7
  98. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +14 -15
  99. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +9 -10
  100. package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +5 -9
  101. package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +2 -3
  102. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +4 -8
  103. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +2 -3
  104. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +7 -11
  105. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +2 -3
  106. package/esm2022/lib/features/qr-code/qr-code.component.mjs +4 -5
  107. package/esm2022/lib/features/quick-add/quick-add.component.mjs +50 -0
  108. package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +4 -5
  109. package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +2 -3
  110. package/esm2022/lib/features/side-modal/side-modal.component.mjs +2 -3
  111. package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +127 -0
  112. package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +4 -5
  113. package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +4 -5
  114. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +2 -3
  115. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +2 -3
  116. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +2 -3
  117. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +2 -3
  118. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +2 -3
  119. package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +2 -3
  120. package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +2 -3
  121. package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +2 -3
  122. package/esm2022/lib/pages/attributes/attributes.component.mjs +104 -0
  123. package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +2 -3
  124. package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +4 -4
  125. package/esm2022/lib/pages/callback/callback.component.mjs +2 -3
  126. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +2 -3
  127. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +2 -3
  128. package/esm2022/lib/pages/config-types/config-types-page.component.mjs +2 -3
  129. package/esm2022/lib/pages/config-types/config-types-page.service.mjs +2 -3
  130. package/esm2022/lib/pages/configurations/configurations-page.component.mjs +2 -3
  131. package/esm2022/lib/pages/configurations/configurations-page.service.mjs +2 -3
  132. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -13
  133. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +2 -3
  134. package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +5 -16
  135. package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +2 -4
  136. package/esm2022/lib/pages/geolocate/geolocate.component.mjs +130 -0
  137. package/esm2022/lib/pages/identities/identities-page.component.mjs +5 -16
  138. package/esm2022/lib/pages/identities/identities-page.service.mjs +2 -3
  139. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +2 -3
  140. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +2 -3
  141. package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +3 -4
  142. package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +2 -3
  143. package/esm2022/lib/pages/profile/profile.component.mjs +58 -0
  144. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +6 -13
  145. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +2 -3
  146. package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +6 -13
  147. package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +2 -3
  148. package/esm2022/lib/pages/services/services-page.component.mjs +6 -13
  149. package/esm2022/lib/pages/services/services-page.service.mjs +2 -3
  150. package/esm2022/lib/pages/sessions/sessions-page.component.mjs +2 -3
  151. package/esm2022/lib/pages/sessions/sessions-page.service.mjs +2 -3
  152. package/esm2022/lib/pages/settings/settings.component.mjs +61 -0
  153. package/esm2022/lib/pages/terminators/terminators-page.component.mjs +3 -4
  154. package/esm2022/lib/pages/terminators/terminators-page.service.mjs +2 -3
  155. package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +5 -16
  156. package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +2 -3
  157. package/esm2022/lib/safe.pipe.mjs +2 -3
  158. package/esm2022/lib/services/auth.service.mjs +2 -3
  159. package/esm2022/lib/services/console-events.service.mjs +2 -14
  160. package/esm2022/lib/services/csv-download.service.mjs +2 -3
  161. package/esm2022/lib/services/deactivate-guard.service.mjs +2 -3
  162. package/esm2022/lib/services/login-service.class.mjs +2 -3
  163. package/esm2022/lib/services/node-data.service.mjs +24 -3
  164. package/esm2022/lib/services/noop-login.service.mjs +2 -3
  165. package/esm2022/lib/services/schema.service.mjs +2 -3
  166. package/esm2022/lib/services/settings-service.class.mjs +5 -18
  167. package/esm2022/lib/services/settings.service.mjs +14 -11
  168. package/esm2022/lib/services/tab-name.service.mjs +9 -6
  169. package/esm2022/lib/services/validation.service.mjs +2 -3
  170. package/esm2022/lib/services/ziti-controller-data.service.mjs +21 -6
  171. package/esm2022/lib/services/ziti-data.service.mjs +5 -5
  172. package/esm2022/lib/shared/list-page-component.class.mjs +6 -3
  173. package/esm2022/lib/shared/list-page-service.class.mjs +2 -3
  174. package/esm2022/lib/zac-routing.module.mjs +3 -10
  175. package/esm2022/lib/ziti-console-lib.module.mjs +43 -24
  176. package/esm2022/lib/ziti-console.constants.mjs +2 -1
  177. package/esm2022/public-api.mjs +9 -8
  178. package/fesm2022/openziti-ziti-console-lib.mjs +3547 -4342
  179. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  180. package/lib/ZAC_VERSION.d.ts +4 -0
  181. package/lib/ZAC_VERSION.d.ts.map +1 -0
  182. package/lib/default-app-config.d.ts +9 -0
  183. package/lib/default-app-config.d.ts.map +1 -0
  184. package/lib/features/card-list/card-list.component.d.ts +0 -1
  185. package/lib/features/card-list/card-list.component.d.ts.map +1 -1
  186. package/lib/features/extendable/extensions-noop.service.d.ts +2 -0
  187. package/lib/features/extendable/extensions-noop.service.d.ts.map +1 -1
  188. package/lib/features/header-bar/header-bar.component.d.ts +29 -0
  189. package/lib/features/header-bar/header-bar.component.d.ts.map +1 -0
  190. package/lib/features/login/login-dialog.component.d.ts +2 -1
  191. package/lib/features/login/login-dialog.component.d.ts.map +1 -1
  192. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +1 -2
  193. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +1 -1
  194. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +1 -2
  195. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +1 -1
  196. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +1 -2
  197. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +1 -1
  198. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +1 -2
  199. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +1 -1
  200. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +1 -2
  201. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +1 -1
  202. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +1 -2
  203. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
  204. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +6 -3
  205. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
  206. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +2 -2
  207. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
  208. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +2 -2
  209. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
  210. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +1 -2
  211. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
  212. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +1 -2
  213. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +1 -1
  214. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +1 -2
  215. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +1 -1
  216. package/lib/features/projectable-forms/projectable-form.class.d.ts +11 -7
  217. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
  218. package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -1
  219. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
  220. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +9 -2
  221. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
  222. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +2 -2
  223. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
  224. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts +2 -2
  225. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
  226. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +2 -2
  227. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
  228. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +4 -4
  229. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
  230. package/lib/features/projectable-forms/session/session-form.component.d.ts +1 -2
  231. package/lib/features/projectable-forms/session/session-form.component.d.ts.map +1 -1
  232. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +1 -2
  233. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +1 -1
  234. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +1 -2
  235. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +1 -1
  236. package/lib/features/quick-add/quick-add.component.d.ts +15 -0
  237. package/lib/features/quick-add/quick-add.component.d.ts.map +1 -0
  238. package/lib/features/side-navigator/side-navigator.component.d.ts +33 -0
  239. package/lib/features/side-navigator/side-navigator.component.d.ts.map +1 -0
  240. package/lib/pages/attributes/attributes.component.d.ts +31 -0
  241. package/lib/pages/attributes/attributes.component.d.ts.map +1 -0
  242. package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
  243. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +1 -3
  244. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
  245. package/lib/pages/edge-routers/edge-routers-page.component.d.ts +1 -3
  246. package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +1 -1
  247. package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
  248. package/lib/pages/geolocate/geolocate.component.d.ts +32 -0
  249. package/lib/pages/geolocate/geolocate.component.d.ts.map +1 -0
  250. package/lib/pages/identities/identities-page.component.d.ts +1 -3
  251. package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
  252. package/lib/pages/profile/profile.component.d.ts +17 -0
  253. package/lib/pages/profile/profile.component.d.ts.map +1 -0
  254. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +1 -3
  255. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +1 -1
  256. package/lib/pages/service-policies/service-policies-page.component.d.ts +1 -3
  257. package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -1
  258. package/lib/pages/services/services-page.component.d.ts +1 -3
  259. package/lib/pages/services/services-page.component.d.ts.map +1 -1
  260. package/lib/pages/settings/settings.component.d.ts +23 -0
  261. package/lib/pages/settings/settings.component.d.ts.map +1 -0
  262. package/lib/pages/transit-routers/transit-routers-page.component.d.ts +1 -3
  263. package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +1 -1
  264. package/lib/services/console-events.service.d.ts.map +1 -1
  265. package/lib/services/node-data.service.d.ts +1 -0
  266. package/lib/services/node-data.service.d.ts.map +1 -1
  267. package/lib/services/settings-service.class.d.ts +0 -2
  268. package/lib/services/settings-service.class.d.ts.map +1 -1
  269. package/lib/services/settings.service.d.ts.map +1 -1
  270. package/lib/services/tab-name.service.d.ts.map +1 -1
  271. package/lib/services/ziti-controller-data.service.d.ts +2 -1
  272. package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
  273. package/lib/services/ziti-data.service.d.ts +2 -1
  274. package/lib/services/ziti-data.service.d.ts.map +1 -1
  275. package/lib/shared/list-page-component.class.d.ts.map +1 -1
  276. package/lib/zac-routing.module.d.ts.map +1 -1
  277. package/lib/ziti-console-lib.module.d.ts +114 -110
  278. package/lib/ziti-console-lib.module.d.ts.map +1 -1
  279. package/lib/ziti-console.constants.d.ts +1 -0
  280. package/lib/ziti-console.constants.d.ts.map +1 -1
  281. package/package.json +1 -1
  282. package/public-api.d.ts +8 -7
  283. package/public-api.d.ts.map +1 -1
  284. package/assets/components/add.html +0 -1
  285. package/assets/components/api.html +0 -12
  286. package/assets/components/customtags.html +0 -4
  287. package/assets/components/line.html +0 -1
  288. package/assets/components/noitems.html +0 -1
  289. package/assets/components/save.html +0 -4
  290. package/assets/components/search.html +0 -8
  291. package/assets/components/tabIdentities.html +0 -5
  292. package/assets/components/tabPolicies.html +0 -7
  293. package/assets/components/tabRouters.html +0 -5
  294. package/assets/components/tabServers.html +0 -4
  295. package/assets/components/tabServices.html +0 -6
  296. package/assets/components/tabSessions.html +0 -4
  297. package/assets/data/mail.json +0 -0
  298. package/assets/data/services.json +0 -6
  299. package/assets/data/site.json +0 -31
  300. package/assets/data/tags.json +0 -7
  301. package/assets/data/templates.json +0 -1
  302. package/assets/fonts/zac.eot +0 -0
  303. package/assets/fonts/zac.svg +0 -57
  304. package/assets/fonts/zac.ttf +0 -0
  305. package/assets/fonts/zac.woff +0 -0
  306. package/assets/fonts/zac.woff2 +0 -0
  307. package/assets/html/api-sessions.htm +0 -152
  308. package/assets/html/attributes.htm +0 -260
  309. package/assets/html/auth-policies.htm +0 -410
  310. package/assets/html/cas.htm +0 -439
  311. package/assets/html/config-types.htm +0 -167
  312. package/assets/html/configs.htm +0 -238
  313. package/assets/html/deprecated/fabric-links.htm +0 -336
  314. package/assets/html/deprecated/fabric-routers.htm +0 -72
  315. package/assets/html/deprecated/fabric-services.htm +0 -494
  316. package/assets/html/identities.htm +0 -934
  317. package/assets/html/index.htm +0 -222
  318. package/assets/html/jwt-signers.htm +0 -260
  319. package/assets/html/known.htm +0 -115
  320. package/assets/html/login.htm +0 -131
  321. package/assets/html/organization.htm +0 -223
  322. package/assets/html/posture-checks.htm +0 -393
  323. package/assets/html/profile.htm +0 -52
  324. package/assets/html/recipes.htm +0 -455
  325. package/assets/html/router-policies.htm +0 -168
  326. package/assets/html/routers.htm +0 -323
  327. package/assets/html/servers.htm +0 -236
  328. package/assets/html/service-policies.htm +0 -197
  329. package/assets/html/service-router-policies.htm +0 -170
  330. package/assets/html/services.htm +0 -634
  331. package/assets/html/sessions.htm +0 -157
  332. package/assets/html/settings.htm +0 -146
  333. package/assets/html/terminators.htm +0 -244
  334. package/assets/html/transit-routers.htm +0 -173
  335. package/assets/resources/avatar/man.svg +0 -78
  336. package/assets/resources/avatar/woman.svg +0 -96
  337. package/assets/resources/icon/analysis.svg +0 -104
  338. package/assets/resources/icon/appwans.svg +0 -20
  339. package/assets/resources/icon/architecture.svg +0 -1
  340. package/assets/resources/icon/bike.svg +0 -94
  341. package/assets/resources/icon/bus.svg +0 -64
  342. package/assets/resources/icon/cas.svg +0 -46
  343. package/assets/resources/icon/clusters.svg +0 -28
  344. package/assets/resources/icon/computer.svg +0 -1
  345. package/assets/resources/icon/data.svg +0 -1
  346. package/assets/resources/icon/delivery-truck.svg +0 -1
  347. package/assets/resources/icon/explosion.svg +0 -81
  348. package/assets/resources/icon/fabricServices.svg +0 -31
  349. package/assets/resources/icon/fabrics.svg +0 -136
  350. package/assets/resources/icon/front.svg +0 -83
  351. package/assets/resources/icon/gateway.svg +0 -49
  352. package/assets/resources/icon/gear.svg +0 -122
  353. package/assets/resources/icon/house.svg +0 -72
  354. package/assets/resources/icon/language.svg +0 -1
  355. package/assets/resources/icon/objective.svg +0 -55
  356. package/assets/resources/icon/route.svg +0 -97
  357. package/assets/resources/icon/routers.svg +0 -27
  358. package/assets/resources/icon/startup.svg +0 -112
  359. package/assets/resources/icon/switch.svg +0 -101
  360. package/assets/scripts/chart.min.js +0 -7
  361. package/assets/scripts/commands.js +0 -112
  362. package/assets/scripts/components/codemirror/codemirror.css +0 -356
  363. package/assets/scripts/components/codemirror/codemirror.js +0 -9741
  364. package/assets/scripts/components/codemirror/modes/addons/closetags.js +0 -200
  365. package/assets/scripts/components/codemirror/modes/addons/colorize.js +0 -40
  366. package/assets/scripts/components/codemirror/modes/addons/css-hint.js +0 -66
  367. package/assets/scripts/components/codemirror/modes/addons/formatting.js +0 -124
  368. package/assets/scripts/components/codemirror/modes/addons/html-hint.js +0 -366
  369. package/assets/scripts/components/codemirror/modes/addons/javascript-hint.js +0 -159
  370. package/assets/scripts/components/codemirror/modes/addons/show-hint.css +0 -36
  371. package/assets/scripts/components/codemirror/modes/addons/show-hint.js +0 -482
  372. package/assets/scripts/components/codemirror/modes/css.js +0 -831
  373. package/assets/scripts/components/codemirror/modes/htmlmixed.js +0 -152
  374. package/assets/scripts/components/codemirror/modes/javascript.js +0 -930
  375. package/assets/scripts/components/codemirror/modes/xml.js +0 -413
  376. package/assets/scripts/components/column.css +0 -184
  377. package/assets/scripts/components/column.js +0 -165
  378. package/assets/scripts/components/flows.css +0 -0
  379. package/assets/scripts/components/flows.js +0 -48
  380. package/assets/scripts/components/moment.js +0 -4602
  381. package/assets/scripts/components/multiselect.js +0 -333
  382. package/assets/scripts/components/resources.js +0 -26
  383. package/assets/scripts/components/selector-new.js +0 -300
  384. package/assets/scripts/components/selector.js +0 -300
  385. package/assets/scripts/components/spectrum.js +0 -2323
  386. package/assets/scripts/components/timezone.js +0 -1545
  387. package/assets/scripts/context.js +0 -177
  388. package/assets/scripts/dragging.js +0 -58
  389. package/assets/scripts/forms/forms.js +0 -74
  390. package/assets/scripts/forms/host.v1.htm +0 -43
  391. package/assets/scripts/forms/intercept.v1.htm +0 -0
  392. package/assets/scripts/forms/schema.js +0 -693
  393. package/assets/scripts/growler.js +0 -137
  394. package/assets/scripts/header.js +0 -163
  395. package/assets/scripts/jquery-3.6.3.min.js +0 -2
  396. package/assets/scripts/jquery.datetimepicker.js +0 -2930
  397. package/assets/scripts/locale.js +0 -47
  398. package/assets/scripts/modal.js +0 -65
  399. package/assets/scripts/model/data.js +0 -558
  400. package/assets/scripts/model/fabric.js +0 -55
  401. package/assets/scripts/model/fabricServices.js +0 -45
  402. package/assets/scripts/model/known.js +0 -43
  403. package/assets/scripts/model/links.js +0 -44
  404. package/assets/scripts/model/routers.js +0 -51
  405. package/assets/scripts/model/series.js +0 -70
  406. package/assets/scripts/model/sessions.js +0 -61
  407. package/assets/scripts/model/settings.js +0 -60
  408. package/assets/scripts/model/summary.js +0 -49
  409. package/assets/scripts/model/tags.js +0 -310
  410. package/assets/scripts/model/templates.js +0 -42
  411. package/assets/scripts/model/user.js +0 -40
  412. package/assets/scripts/restrictions.js +0 -34
  413. package/assets/scripts/service.js +0 -76
  414. package/assets/scripts/validation-tools.js +0 -5119
  415. package/assets/scripts/ziti.js +0 -372
  416. package/assets/styles/chart.min.css +0 -1
  417. package/assets/styles/datetimepicker.css +0 -1
  418. package/assets/styles/forms.css +0 -521
  419. package/assets/styles/growler.css +0 -190
  420. package/assets/styles/header.css +0 -232
  421. package/assets/styles/icons.css +0 -182
  422. package/assets/styles/navigation.css +0 -183
  423. package/assets/styles/select2.css +0 -481
  424. package/assets/styles/spectrum.css +0 -507
  425. package/assets/styles/tables.css +0 -449
  426. package/assets/styles/tooltip.css +0 -134
  427. package/assets/styles/ziti.css +0 -3271
  428. package/assets/templates/footer.htm +0 -183
  429. package/assets/templates/header.htm +0 -297
  430. package/esm2022/lib/features/sidebars/side-banner/side-banner.component.mjs +0 -17
  431. package/esm2022/lib/features/sidebars/side-toolbar/side-toolbar.component.mjs +0 -129
  432. package/esm2022/lib/features/wrappers/node-wrapper.service.mjs +0 -51
  433. package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +0 -95
  434. package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +0 -148
  435. package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +0 -981
  436. package/esm2022/lib/version.mjs +0 -4
  437. package/lib/features/sidebars/side-banner/side-banner.component.d.ts +0 -7
  438. package/lib/features/sidebars/side-banner/side-banner.component.d.ts.map +0 -1
  439. package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts +0 -34
  440. package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts.map +0 -1
  441. package/lib/features/wrappers/node-wrapper.service.d.ts +0 -24
  442. package/lib/features/wrappers/node-wrapper.service.d.ts.map +0 -1
  443. package/lib/features/wrappers/zac-wrapper-service.class.d.ts +0 -38
  444. package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +0 -1
  445. package/lib/features/wrappers/zac-wrapper.component.d.ts +0 -31
  446. package/lib/features/wrappers/zac-wrapper.component.d.ts.map +0 -1
  447. package/lib/features/wrappers/zac-wrapper.service.d.ts +0 -58
  448. package/lib/features/wrappers/zac-wrapper.service.d.ts.map +0 -1
  449. package/lib/version.d.ts +0 -4
  450. package/lib/version.d.ts.map +0 -1
@@ -19,7 +19,7 @@ import { ZITI_NAVIGATOR } from "../../../ziti-console.constants";
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "@angular/router";
21
21
  import * as i2 from "@angular/common";
22
- class SideNavbarComponent {
22
+ export class SideNavbarComponent {
23
23
  constructor(router, currentNav) {
24
24
  this.router = router;
25
25
  this.currentNav = currentNav;
@@ -40,16 +40,15 @@ class SideNavbarComponent {
40
40
  this.isOpened = !this.isOpened;
41
41
  }
42
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavbarComponent, deps: [{ token: i1.Router }, { token: ZITI_NAVIGATOR }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideNavbarComponent, selector: "lib-side-navbar", inputs: { version: "version" }, ngImport: i0, template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:.5rem;display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SideNavbarComponent, selector: "lib-side-navbar", inputs: { version: "version" }, ngImport: i0, template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:var(--inputBorderRadius);display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
44
44
  }
45
- export { SideNavbarComponent };
46
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SideNavbarComponent, decorators: [{
47
46
  type: Component,
48
- args: [{ selector: 'lib-side-navbar', template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:.5rem;display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"] }]
47
+ args: [{ selector: 'lib-side-navbar', template: "<div class=\"sideNavbar\">\n <div class=\"title\" data-i18n=\"AppName\">Ziti Console</div>\n <div id=\"Version\" class=\"version\">{{version}}</div>\n <div id=\"CustomLogo\"></div>\n <div class=\"side-navigator-menu-container\">\n <div *ngFor=\"let group of currentNav.groups\" class=\"side-navigator-menu-group\">\n <span class=\"side-navigator-menu-group-label\">{{ group.label }}</span>\n <div *ngFor=\"let item of group.menuItems\">\n <div class=\"side-navigator-menu-item {{item.className}}\" [routerLink]=\"item.route\" *ngIf=\"!item.hidden\"\n [ngClass]=\"{ selected: item.selectedRoutes?.includes(url) }\">\n <div class=\"side-navigator-menu-item-icon\">\n <div class=\"image\" [ngClass]=\"item.iconClass\"></div>\n <span *ngIf=\"item.badgeCount\" class=\"counterBadge\">{{ item.badgeCount }}</span>\n </div>\n <span class=\"side-navigator-menu-item-label\">{{ item.label }}\n <span class=\"side-navigator-menu-item-sublabel\">{{item.sublabel}}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".sideNavbar{position:relative;display:inline-block;width:19.75rem;background-color:transparent;height:100%}.sideNavbar .title{color:var(--primary);filter:brightness(50%);font-family:Russo One,serif;text-align:center;font-size:1.5rem;line-height:3.5rem}.sideNavbar .navList{display:grid;grid-template-columns:100%;grid-row-gap:1.25rem;color:var(--white);margin-left:1.25rem}.sideNavbar .lock:before{color:var(--text)!important}.sideNavbar .lock{position:absolute;bottom:1.25rem;right:.625rem;width:1.875rem;height:1.875rem;font-size:1.875rem;line-height:1.875rem;text-align:center;opacity:.2;cursor:pointer;transition:.2s}.sideNavbar .lock:hover{opacity:.4}.sideNavbar .lock.locked{opacity:.6}.sideNavbar .version{position:absolute;bottom:1.25rem;width:100%;color:var(--text);opacity:.7;font-size:.875rem;right:0;left:0;display:flex;align-items:center;justify-content:center}.sideNavbar #CustomLogo{width:75%;height:6.25rem;position:absolute;bottom:3.0625rem;right:1.25rem;background-repeat:no-repeat;background-size:contain;background-position:center center}.sideNavbar [class^=icon-],.sideNavbar [class*=\" icon-\"]{font-family:zac,serif!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sideNavbar .side-navigator-menu-container,.sideNavbar .side-navigator-menu-container .side-navigator-menu-group{display:flex;flex-direction:column;width:100%;margin-bottom:.9375rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-group-label{margin-left:1.4375rem;color:var(--groupText);font-size:.875rem;position:relative;text-transform:uppercase;font-weight:600}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item{position:relative;display:flex;height:3.3125rem;cursor:pointer;align-items:center;padding-left:1.5625rem;margin-bottom:.3125rem;margin-top:.3125rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected{background-color:var(--primaryColorShadowLight);border-right-color:var(--secondaryColor);border-right-width:.25rem;border-right-style:solid}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item.selected:hover{border-right-color:var(--secondaryColor)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item:hover{background-color:var(--primaryColorShadowLight);border-right-color:var(--primaryColor);border-right-width:.25rem;border-right-style:solid;transition:.3s}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon{max-width:3.125rem;width:3.125rem;height:3.125rem;background-color:var(--white);box-shadow:var(--shadow);border-color:var(--white);transition:var(--transition);border-radius:var(--inputBorderRadius);display:flex;align-items:center;justify-content:center;border-width:var(--inputBorderWidth);flex:1 0 auto;border-style:solid;font-size:2.1875rem}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon:hover{box-shadow:0 .875rem 1.25rem #0000000d,0 .875rem 1.25rem #0000000d}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-icon .image:before{color:var(--primary)}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label{color:var(--tableText);font-size:1rem;text-transform:unset;font-weight:600;text-align:left;font-family:Open Sans,serif;width:100%;margin-bottom:0;margin-left:.9375rem;display:flex}.sideNavbar .side-navigator-menu-container .side-navigator-menu-item .side-navigator-menu-item-label .side-navigator-menu-item-sublabel{color:var(--placeholder);margin-left:.3125rem}.sideNavbar .headerNetworkList,.sideNavbar .headerTenantList{height:11.375rem;overflow-y:scroll}.sideNavbar .headerNetworkList .row,.sideNavbar .headerTenantList .row{color:var(--white);font-size:.875rem;font-weight:600;line-height:1.875rem;padding-left:2.8125rem;cursor:pointer;height:2rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:.2s;position:relative}.sideNavbar .headerNetworkList .row.selected,.sideNavbar .headerTenantList .row.selected{color:var(--white);font-weight:800;font-family:Open Sans,serif}.sideNavbar .headerNetworkList .row:hover,.sideNavbar .headerTenantList .row:hover{background-color:var(--primaryColor);transition:.2s}.sideNavbar .headerNetworkList .row:active,.sideNavbar .headerTenantList .row:active{background-color:var(--primaryColor);filter:brightness(.95);transition:.2s}.sideNavbar .headerNetworkList .status,.sideNavbar .headerTenantList .status{width:1.5625rem;height:1.5625rem;top:.1875rem;left:.625rem}.sideNavbar #Networks .currentNetwork,.sideNavbar #Tenants .currentTenant{color:var(--white)}.sideNavbar .networks{border-color:var(--inputBorder);border-width:var(--inputBorderWidth);border-radius:var(--inputBorderRadius);border-style:solid;width:16.9375rem;height:2.5rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-size:1.25rem .625rem;cursor:pointer;background-color:var(--background);animation:fadein .5s;position:relative;margin-top:1.125rem;margin-bottom:.625rem}.sideNavbar .currentNetwork{font-family:Russo One,serif;font-size:1.125rem;color:var(--tableText);padding-left:.625rem;line-height:2.25rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:1.25rem;width:16.1875rem}.sideNavbar #Networks{border-radius:var(--inputBorderRadius);height:0;width:101.5%;overflow:hidden;position:absolute;top:-.125rem;left:-.125rem;padding-top:.125rem;background-color:var(--menu);min-height:1.25rem;z-index:60;opacity:0;transition:.5s;pointer-events:none}.sideNavbar #Networks.opened{height:18.75rem;opacity:1;pointer-events:all}.sideNavbar #Networks .search.row{line-height:3.4375rem}.sideNavbar .counterBadge{display:flex;position:absolute;align-items:center;justify-content:center;top:.125rem;left:3.375rem;background-color:var(--red);box-shadow:0 .125rem .4375rem #ff0d4980;z-index:999;color:#fff;font-size:.75rem;font-weight:700;width:1.125rem;height:1.125rem;line-height:1.125rem;border-radius:.5625rem;font-family:Open Sans,serif}\n"] }]
49
48
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: undefined, decorators: [{
50
49
  type: Inject,
51
50
  args: [ZITI_NAVIGATOR]
52
51
  }] }]; }, propDecorators: { version: [{
53
52
  type: Input
54
53
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtbmF2YmFyL3NpZGUtbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9zaWRlYmFycy9zaWRlLW5hdmJhci9zaWRlLW5hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFrQixLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUUvRCxNQUthLG1CQUFtQjtJQU01QixZQUNZLE1BQWMsRUFDUyxVQUFlO1FBRHRDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDUyxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBUHpDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDdEIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsUUFBRyxHQUFHLEVBQUUsQ0FBQztJQU1ULENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDakIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7K0dBdkJRLG1CQUFtQix3Q0FRaEIsY0FBYzttR0FSakIsbUJBQW1CLHVGQ3pCaEMsMHZDQXNCQTs7U0RHYSxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSxpQkFBaUI7OzBCQVl0QixNQUFNOzJCQUFDLGNBQWM7NENBUGpCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtaSVRJX05BVklHQVRPUn0gZnJvbSBcIi4uLy4uLy4uL3ppdGktY29uc29sZS5jb25zdGFudHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItc2lkZS1uYXZiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2lkZS1uYXZiYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTmF2YmFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB2ZXJzaW9uID0gJyc7XG4gICAgb3BlbiA9IHRydWU7XG4gICAgaXNPcGVuZWQgPSBmYWxzZTtcbiAgICB1cmwgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBASW5qZWN0KFpJVElfTkFWSUdBVE9SKSBwdWJsaWMgY3VycmVudE5hdjogYW55XG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cmwgPSBldmVudC51cmwuc3BsaXQoJz8nKVswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlTGlzdChldmVudDogYW55KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gIXRoaXMuaXNPcGVuZWQ7XG4gICAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwic2lkZU5hdmJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIGRhdGEtaTE4bj1cIkFwcE5hbWVcIj5aaXRpIENvbnNvbGU8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiVmVyc2lvblwiIGNsYXNzPVwidmVyc2lvblwiPnt7dmVyc2lvbn19PC9kaXY+XG4gICAgPGRpdiBpZD1cIkN1c3RvbUxvZ29cIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgY3VycmVudE5hdi5ncm91cHNcIiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1ncm91cC1sYWJlbFwiPnt7IGdyb3VwLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cC5tZW51SXRlbXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1pdGVtIHt7aXRlbS5jbGFzc05hbWV9fVwiIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIiAqbmdJZj1cIiFpdGVtLmhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLnNlbGVjdGVkUm91dGVzPy5pbmNsdWRlcyh1cmwpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiBbbmdDbGFzc109XCJpdGVtLmljb25DbGFzc1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmJhZGdlQ291bnRcIiBjbGFzcz1cImNvdW50ZXJCYWRnZVwiPnt7IGl0ZW0uYmFkZ2VDb3VudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1pdGVtLWxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWl0ZW0tc3VibGFiZWxcIj57e2l0ZW0uc3VibGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3NpZGViYXJzL3NpZGUtbmF2YmFyL3NpZGUtbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9zaWRlYmFycy9zaWRlLW5hdmJhci9zaWRlLW5hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFrQixLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLGFBQWEsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQU8vRCxNQUFNLE9BQU8sbUJBQW1CO0lBTTVCLFlBQ1ksTUFBYyxFQUNTLFVBQWU7UUFEdEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNTLGVBQVUsR0FBVixVQUFVLENBQUs7UUFQekMsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixRQUFHLEdBQUcsRUFBRSxDQUFDO0lBTVQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQzsrR0F2QlEsbUJBQW1CLHdDQVFoQixjQUFjO21HQVJqQixtQkFBbUIsdUZDekJoQywwdkNBc0JBOzs0RkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCOzswQkFZdEIsTUFBTTsyQkFBQyxjQUFjOzRDQVBqQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7WklUSV9OQVZJR0FUT1J9IGZyb20gXCIuLi8uLi8uLi96aXRpLWNvbnNvbGUuY29uc3RhbnRzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXNpZGUtbmF2YmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2lkZS1uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NpZGUtbmF2YmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdmJhckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgdmVyc2lvbiA9ICcnO1xuICAgIG9wZW4gPSB0cnVlO1xuICAgIGlzT3BlbmVkID0gZmFsc2U7XG4gICAgdXJsID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChaSVRJX05BVklHQVRPUikgcHVibGljIGN1cnJlbnROYXY6IGFueVxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXJsID0gZXZlbnQudXJsLnNwbGl0KCc/JylbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvZ2dsZUxpc3QoZXZlbnQ6IGFueSkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9ICF0aGlzLmlzT3BlbmVkO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cInNpZGVOYXZiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLWkxOG49XCJBcHBOYW1lXCI+Wml0aSBDb25zb2xlPC9kaXY+XG4gICAgPGRpdiBpZD1cIlZlcnNpb25cIiBjbGFzcz1cInZlcnNpb25cIj57e3ZlcnNpb259fTwvZGl2PlxuICAgIDxkaXYgaWQ9XCJDdXN0b21Mb2dvXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGN1cnJlbnROYXYuZ3JvdXBzXCIgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWdyb3VwXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtZ3JvdXAtbGFiZWxcIj57eyBncm91cC5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXAubWVudUl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbSB7e2l0ZW0uY2xhc3NOYW1lfX1cIiBbcm91dGVyTGlua109XCJpdGVtLnJvdXRlXCIgKm5nSWY9XCIhaXRlbS5oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogaXRlbS5zZWxlY3RlZFJvdXRlcz8uaW5jbHVkZXModXJsKSB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdmlnYXRvci1tZW51LWl0ZW0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ2xhc3NcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5iYWRnZUNvdW50XCIgY2xhc3M9XCJjb3VudGVyQmFkZ2VcIj57eyBpdGVtLmJhZGdlQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNpZGUtbmF2aWdhdG9yLW1lbnUtaXRlbS1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2lkZS1uYXZpZ2F0b3ItbWVudS1pdGVtLXN1YmxhYmVsXCI+e3tpdGVtLnN1YmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -4,7 +4,7 @@ import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/forms";
5
5
  import * as i3 from "@angular/cdk/bidi";
6
6
  import * as i4 from "ng-click-outside";
7
- class TagSelectorComponent {
7
+ export class TagSelectorComponent {
8
8
  constructor() {
9
9
  this._availableRoleAttributes = [];
10
10
  this._availableNamedAttributes = [];
@@ -238,12 +238,11 @@ class TagSelectorComponent {
238
238
  return this._selectedRoleAttributes?.length <= 0 && this._selectedNamedAttributes?.length <= 0;
239
239
  }
240
240
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
241
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: { placeholder: "placeholder", disableField: "disableField", disableCreate: "disableCreate", hideOption: "hideOption", isLoading: "isLoading", errorMessage: "errorMessage", focusOnInit: "focusOnInit", selectedRoleAttributes: "selectedRoleAttributes", selectedNamedAttributes: "selectedNamedAttributes", hasError: "hasError", availableRoleAttributes: "availableRoleAttributes", availableNamedAttributes: "availableNamedAttributes" }, outputs: { addRoleAttribute: "addRoleAttribute", addNamedAttribute: "addNamedAttribute", roleAttributeRemoved: "roleAttributeRemoved", namedAttributeRemoved: "namedAttributeRemoved", selectedRoleAttributesChange: "selectedRoleAttributesChange", selectedNamedAttributesChange: "selectedNamedAttributesChange", filterChange: "filterChange" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "dropdownWrapper", first: true, predicate: ["dropdownWrapper"], descendants: true }], ngImport: i0, template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--white)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--white)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--white);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:.3125rem;border-top-right-radius:0;border-top-left-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: { placeholder: "placeholder", disableField: "disableField", disableCreate: "disableCreate", hideOption: "hideOption", isLoading: "isLoading", errorMessage: "errorMessage", focusOnInit: "focusOnInit", selectedRoleAttributes: "selectedRoleAttributes", selectedNamedAttributes: "selectedNamedAttributes", hasError: "hasError", availableRoleAttributes: "availableRoleAttributes", availableNamedAttributes: "availableNamedAttributes" }, outputs: { addRoleAttribute: "addRoleAttribute", addNamedAttribute: "addNamedAttribute", roleAttributeRemoved: "roleAttributeRemoved", namedAttributeRemoved: "namedAttributeRemoved", selectedRoleAttributesChange: "selectedRoleAttributesChange", selectedNamedAttributesChange: "selectedNamedAttributesChange", filterChange: "filterChange" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true }, { propertyName: "dropdownWrapper", first: true, predicate: ["dropdownWrapper"], descendants: true }], ngImport: i0, template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--offWhite_ALWAYS)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--offWhite_ALWAYS)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--offWhite_ALWAYS);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
242
242
  }
243
- export { TagSelectorComponent };
244
243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagSelectorComponent, decorators: [{
245
244
  type: Component,
246
- args: [{ selector: 'lib-tag-selector', template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--white)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--white)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--white);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:.3125rem;border-top-right-radius:0;border-top-left-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"] }]
245
+ args: [{ selector: 'lib-tag-selector', template: "<span (clickOutside)=\"hide()\" [ngClass]=\"{ readOnly: disableField }\" class=\"clickOutside fullWidth tagsSelector\" >\n <span\n class=\"select2 select2-container select2-container--default select2-container--below select2-container--focus\"\n dir=\"ltr\"\n >\n <span class=\"selection\">\n <span\n [ngClass]=\"{ 'select2-selection-focus': !hideSelect, tagError: _hasError }\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n class=\"select2-selection select2-selection--multiple\"\n role=\"combobox\"\n tabindex=\"-1\"\n >\n <input\n (focus)=\"inputFocus()\"\n (keydown)=\"handleKeyDown($event);\"\n (keyup)=\"handleKeyUp($event, filterString);\"\n (mouseup)=\"applyFilterMouseUp()\"\n [(ngModel)]=\"filterString\"\n [disabled]=\"disableField\"\n [ngClass]=\"{ empty: isNothingSelected, tagError: _hasError }\"\n aria-autocomplete=\"list\"\n autocapitalize=\"off\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n class=\"select2-search__field\"\n placeholder=\"{{disableField ? (isNothingSelected ? 'Nothing selected' : '') : placeholder}}\"\n role=\"textbox\"\n spellcheck=\"false\"\n tabindex=\"0\"\n type=\"search\"\n #search\n />\n <span *ngIf=\"isLoading\" class=\"spinner\"></span>\n\n <ul\n (click)=\"openSelect()\"\n [ngClass]=\"{ error: _hasError, readOnly: disableField, empty: isNothingSelected }\"\n class=\"select2-selection__rendered\"\n >\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedRoleAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"hashtag select2-selection__choice\"\n title=\"#{{ item }}\"\n >\n <span\n (click)=\"removeRoleAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">#{{ item }}</span>\n </li>\n <li\n (click)=\"$event.stopPropagation()\"\n *ngFor=\"let item of _selectedNamedAttributes\"\n [hidden]=\"item === this.hideOption\"\n class=\"select2-selection_choice_item\"\n >\n <div class=\"attag select2-selection__choice\" title=\"@{{ item }}\">\n <span\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n <div class=\"tag-name select2-selection__choice\" title=\"@{{ item }}\">\n <span\n (click)=\"removeNamedAttribute(item); $event.stopPropagation()\"\n class=\"select2-selection__choice__remove\"\n role=\"presentation\"\n >\u00D7</span\n ><span class=\"select2-selection__choice__text\">@{{ item }}</span>\n </div>\n </li>\n </ul>\n </span>\n </span>\n <span aria-hidden=\"true\" class=\"dropdown-wrapper\" tabindex=\"-1\" #dropdownWrapper></span>\n </span>\n <span *ngIf=\"_hasError\" class=\"err\">\n {{ errorMessage }}\n </span>\n\n <span\n *ngIf=\"!hideSelect\"\n [ngClass]=\"{ withBorder: !hideSelect }\"\n class=\"nf-select2-dropdown select2-dropdown--below\"\n dir=\"ltr\"\n >\n <span class=\"select2-results\">\n <ul\n aria-expanded=\"true\"\n aria-hidden=\"false\"\n aria-multiselectable=\"true\"\n class=\"select2-results__options\"\n role=\"tree\"\n >\n <li\n (click)=\"addNewAttribute(filterString)\"\n [hidden]=\"filterString === '' || isAttributeSelected(filterString)\"\n aria-selected=\"false\"\n class=\"select2-results__option hashtag\"\n role=\"treeitem\"\n title=\"{{ filterString }} (New Attribute)\"\n >\n {{ filterString }} (New Attribute)\n </li>\n <li\n (click)=\"addSelectedRoleAttribute(option)\"\n *ngFor=\"let option of displayedRoleOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n class=\"hashtag select2-results__option\"\n role=\"treeitem\"\n >\n #{{ option }}\n </li>\n <li\n (click)=\"addSelectedNamedAttribute(option)\"\n *ngFor=\"let option of displayedNamedOptions\"\n [hidden]=\"option === this.hideOption || isSelected(option)\"\n aria-selected=\"false\"\n >\n <div class=\"attag select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n <div class=\"tag-name select2-results__option\" title=\"@{{ option }}\" role=\"treeitem\">\n @{{ option }}\n </div>\n </li>\n </ul>\n </span>\n </span>\n</span>\n", styles: [".searchSelector .tagButton{cursor:pointer;transition:.5s}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container.select2-container--focus .select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container.select2-container--focus .select2-selection .select2-selection__choice__text{cursor:text;user-select:text;-webkit-user-select:text}.select2-container--default .select2-selection--multiple input{height:calc(var(--defaultInputHeight) - .1875rem)}.select2-container--default .select2-selection--multiple .select2-selection__choice{overflow:hidden;text-wrap:wrap;display:flex}.select2-container--default .select2-selection--multiple .select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-container--default .select2-selection--multiple .select2-selection__choice.tag-name{background-color:transparent}.select2-results__options li{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;position:relative}.select2-results__options li[hidden]{display:none}.select2-results__option.tag-name,.select2-results__option.attag,.select2-results__option.hashtag,.select2-selection__choice.tag-name,.select2-selection__choice.attag,.select2-selection__choice.hashtag{margin-bottom:0rem;margin-top:0rem;font-size:1rem;font-weight:600;line-height:unset;padding:.3125rem .625rem;float:left;border-radius:var(--inputBorderRadius);margin-left:.125rem;transition:var(--transition);overflow:hidden;text-wrap:wrap;display:flex}.select2-results__option.hashtag,.select2-selection__choice.hashtag{background-color:var(--primary);position:relative;color:var(--offWhite_ALWAYS)}.select2-results__option.attag,.select2-selection__choice.attag{background-color:var(--secondary);color:transparent;position:absolute}.select2-results__option.tag-name,.select2-selection__choice.tag-name{background-color:transparent;position:relative;color:var(--offWhite_ALWAYS)}.err{color:var(--red)!important}.select2-selection{border-radius:var(--inputBorderRadius);border-width:var(--inputBorderWidth);border-color:var(--inputBorder);border-style:solid;color:var(--offWhite_ALWAYS);padding-left:0rem}.select2-selection.select2-selection-focus{border-color:var(--primaryColor)}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:1.75rem;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:.5rem;padding-right:1.25rem;overflow-y:auto;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:.5rem;padding-left:1.25rem}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:2rem;user-select:none;-webkit-user-select:none;border-radius:var(--inputBorderRadius);border:.125rem solid var(--stroke);color:var(--white);padding-left:0;background-color:var(--table);overflow:hidden}.select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection_choice_item{width:-moz-fit-content;width:fit-content;overflow:hidden;position:relative}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow-y:auto;overflow-x:hidden;padding-left:.5rem;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:.3125rem;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-results{display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;width:100%;gap:.625rem;padding:.625rem}.select2-results__options{list-style:none;margin:0;padding:0;display:flex;flex-flow:wrap;width:100%;gap:.3125rem}.select2-results__option{display:flex;height:-moz-fit-content;height:fit-content;padding-left:.625rem;padding-top:.125rem;padding-bottom:.125rem;font-size:1rem;font-weight:600;user-select:none;-webkit-user-select:none;margin:0}.select2-results__option[hidden]{display:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:.25rem}.select2-search--dropdown .select2-search__field{padding:.25rem;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:.0625rem!important;margin:-.0625rem!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:.0625rem!important}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 .25rem .3125rem .25rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;width:100%;background-color:var(--background);border-radius:0;display:flex;flex-wrap:wrap;gap:.3125rem;padding:0rem .3125rem .3125rem}.select2-container--default .select2-selection--multiple .select2-selection__rendered.empty{padding:0;margin:0}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:var(--placeholder);margin-top:.3125rem;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:400;margin-top:.3125rem;margin-right:.625rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--white);cursor:pointer;display:inline-block;font-weight:400;margin-right:.25rem}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--white);filter:brightness(90%);transition:.3s}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:active{filter:brightness(80%);transform:scale(.97);transition:.3s}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:.3125rem;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:.125rem;margin-right:auto}.readOnly{opacity:.75;cursor:default}.readOnly .select2-container .select2-selection__rendered:not(.empty){min-height:var(--defaultInputHeight)}.readOnly .select2-container input:disabled{font-weight:600;font-family:Open Sans,Arial,sans-serif;height:0rem!important;width:100%;padding-left:.625rem;padding-right:.625rem;margin-bottom:0rem;border:none;outline:none;box-sizing:border-box;box-shadow:none;cursor:text;text-align:left;background-color:var(--background)!important;color:var(--tableText);text-transform:none}.readOnly .select2-container input:disabled:hover{box-shadow:none;filter:none}.readOnly .select2-container input:disabled.empty{height:3.125rem}.fullModal .select2-container--default.select2-container--focus .select2-selection--multiple{border-radius:var(--inputBorderRadius);border:.125rem solid var(--inputBorder);color:var(--white);padding-left:0}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__rendered{margin-bottom:-.1875rem;border-color:var(--primaryColor)}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{position:absolute;left:.625rem;font-size:1.625rem;cursor:pointer;display:inline-block;font-weight:400;margin-right:.125rem;color:var(--white)}.fullModal .select2-container--default .select2-selection--multiple{background-color:unset}.fullModal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--primaryColor)}.select2-container .select2-dropdown{background-color:var(--background)}.select2-container.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--primaryColor)}.nf-select2-dropdown{background-color:var(--menu);border-top:0rem;border-radius:var(--inputBorderRadius);color:var(--white);box-sizing:border-box;display:flex;flex-grow:1;height:-moz-fit-content;height:fit-content;position:absolute;width:100%;z-index:99999;max-height:12.5rem;overflow:auto;font-weight:600;margin-top:.0625rem;box-shadow:0 0 0 .0625rem var(--shadow),0 .5rem 1rem var(--shadow)!important}.select2-results__option:hover{background-color:var(--icon)!important;color:var(--white);cursor:pointer}.select2-search__field{border-width:0rem;width:100%}.select2-container input{padding-top:.125rem;border-radius:0}.select2-container--below.select2-container--focus{width:75%}.nf-select2-dropdown.select2-dropdown--below{width:31.4375rem}.roleForm .select2-container--below.select2-container--focus,.roleForm .nf-select2-dropdown.select2-dropdown--below{width:26.0625rem}.fullWidth .select2-container--below.select2-container--focus,.fullWidth .nf-select2-dropdown.select2-dropdown--below{width:100%}.nf-select2-dropdown.select2-dropdown--below.withBorder{border:none}input{box-shadow:none;font-size:.875rem}.tagError{border-color:var(--red)!important}::ng-deep .select2-container ::placeholder{color:var(--placeholder)}.spinner{position:absolute;right:1em;top:1em;display:inline-block;width:2rem;height:2rem;border-radius:50%;background:transparent;border-top:.3125rem solid var(--placeholder);border-right:.3125rem solid var(--placeholder);border-bottom:.3125rem solid transparent;border-left:.3125rem solid transparent;animation:loading .5s infinite linear}.tagsSelector.clickOutside{position:relative}\n"] }]
247
246
  }], ctorParameters: function () { return []; }, propDecorators: { placeholder: [{
248
247
  type: Input
249
248
  }], disableField: [{
@@ -289,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
289
288
  }], availableNamedAttributes: [{
290
289
  type: Input
291
290
  }] } });
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRW5ILE1BS2Esb0JBQW9CO0lBNEIvQjtRQTNCQSw2QkFBd0IsR0FBVSxFQUFFLENBQUM7UUFDckMsOEJBQXlCLEdBQVUsRUFBRSxDQUFDO1FBRTdCLGdCQUFXLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMvQywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hELGlDQUE0QixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkQsa0NBQTZCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4RCxpQkFBWSxH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bkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQVFjLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDVyxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFhZixzQkFBc0I7c0JBQWxDLEtBQUs7Z0JBU08sdUJBQXVCO3NCQUFuQyxLQUFLO2dCQVNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sdUJBQXVCO3NCQUFuQyxLQUFLO2dCQU9PLHdCQUF3QjtzQkFBcEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhZy1zZWxlY3RvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWctc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWctc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICBfYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVGaWVsZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlQ3JlYXRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVPcHRpb24gPSAnJztcbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZSA9ICcnO1xuICBASW5wdXQoKSBmb2N1c09uSW5pdCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgYWRkUm9sZUF0dHJpYnV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYWRkTmFtZWRBdHRyaWJ1dGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJvbGVBdHRyaWJ1dGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBuYW1lZEF0dHJpYnV0ZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBoaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgZGlzcGxheWVkUm9sZU9wdGlvbnM6IGFueVtdID0gW107XG4gIGRpc3BsYXllZE5hbWVkT3B0aW9uczogYW55W10gPSBbXTtcbiAgZmlsdGVyU3RyaW5nID0gJyc7XG4gIF9oYXNoQXR0cmlidXRlcyA9IHt9O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHNlYXJjaDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25XcmFwcGVyJykgZHJvcGRvd25XcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmZvY3VzT25Jbml0KSB7XG4gICAgICAgIHRoaXMuc2VhcmNoLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBfc2VsZWN0ZWRSb2xlQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzID0gYXR0cnM7XG4gICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZE5hbWVkQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIF9oYXNFcnJvciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBoYXNFcnJvcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc0Vycm9yID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fYXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzKGF0dHJzOiBhbnkpIHtcbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgIHRoaXMuX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIGlzU2VsZWN0ZWQoaXRlbTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChpdGVtKTtcbiAgfVxuXG4gIGFkZFNlbGVjdGVkUm9sZUF0dHJpYnV0ZShpdGVtOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChpdGVtKSkge1xuICAgICAgdGhpcy5hZGRSb2xlQXR0cmlidXRlLmVtaXQoaXRlbSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzLnB1c2goaXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFNlbGVjdGVkTmFtZWRBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgIHRoaXMuYWRkTmFtZWRBdHRyaWJ1dGUuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzLnB1c2goaXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgaXNBdHRyaWJ1dGVTZWxlY3RlZChhdHRyaWJ1dGUpIHtcbiAgICBpZighYXR0cmlidXRlIHx8IGF0dHJpYnV0ZS5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXR0cmlidXRlLmNoYXJBdCgwKSA9PT0gJyMnIHx8IGF0dHJpYnV0ZS5jaGFyQXQoMCkgPT09ICdAJykge1xuICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICB9XG4gICAgbGV0IHNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICBpZihhdHRyID09PSBhdHRyaWJ1dGUpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzLmZvckVhY2goKGF0dHIpID0+IHtcbiAgICAgIGlmKGF0dHIgPT09IGF0dHJpYnV0ZSkge1xuICAgICAgICBzZWxlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHNlbGVjdGVkO1xuICB9XG5cbiAgcmVtb3ZlUm9sZUF0dHJpYnV0ZShpdGVtOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUZpZWxkKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzID0gdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIgIT09IGl0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlQXR0cmlidXRlc0NoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5yb2xlQXR0cmlidXRlUmVtb3ZlZC5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlTmFtZWRBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMgPSB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIgIT09IGl0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcyk7XG4gICAgICB0aGlzLm5hbWVkQXR0cmlidXRlUmVtb3ZlZC5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmhpZGVTZWxlY3QgPSBmYWxzZTtcbiAgfVxuXG4gIGlucHV0Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgfVxuXG4gIHRvZ2dsZVNlbGVjdCgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUZpZWxkKSB7XG4gICAgICB0aGlzLmhpZGVTZWxlY3QgPSAhdGhpcy5oaWRlU2VsZWN0O1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5oaWRlU2VsZWN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmhpZGVTZWxlY3QgPSB0cnVlO1xuICB9XG5cbiAgaGFuZGxlS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50LCBmaWx0ZXJTdHJpbmc6IHN0cmluZykge1xuICAgIHN3aXRjaCAoJGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICB0aGlzLmFkZE5ld0F0dHJpYnV0ZShmaWx0ZXJTdHJpbmcpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bldyYXBwZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoKTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdChmaWx0ZXJTdHJpbmcpO1xuICB9XG5cbiAgaGFuZGxlS2V5RG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKCRldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH1cblxuICBhcHBseUZpbHRlciA9ICgpID0+IHtcbiAgICB0aGlzLl9oYXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgfTtcblxuICAvLyB1cGRhdGUgdGhlIGZpbHRlciBvbiBtb3VzZSB1cCBldmVudFxuICAvLyB0aGlzIGlzIHVzZWQgZm9yIHRoZSBzcGVjaWZpYyBjYXNlIHdoZXJlIHRoZSB1c2VyIGNsZWFycyB0aGUgZmlsdGVyIHZpYSB0aGUgeCBidXR0b25cbiAgYXBwbHlGaWx0ZXJNb3VzZVVwKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZmlsdGVyU3RyaW5nID09PSAnJykge1xuICAgICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgICB9XG4gICAgfSwgNTApO1xuICB9XG5cbiAgX2ZpbHRlckF0dHJpYnV0ZXMoKSB7XG4gICAgbGV0IGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXM6IGFueVtdID0gW107XG4gICAgbGV0IGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICAgIGlmICh0aGlzLmZpbHRlclN0cmluZykge1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVSb2xlQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzLmZpbHRlcigoYXR0cikgPT4ge1xuICAgICAgICByZXR1cm4gYXR0ci5pbmRleE9mKHRoaXMuZmlsdGVyU3RyaW5nKSA+PSAwXG4gICAgICB9KTtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzLmZpbHRlcigoYXR0cikgPT4ge1xuICAgICAgICByZXR1cm4gYXR0ci5pbmRleE9mKHRoaXMuZmlsdGVyU3RyaW5nKSA+PSAwXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVSb2xlQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzO1xuICAgICAgZmlsdGVyZWRBdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXM7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5ZWRSb2xlT3B0aW9ucyA9IGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXM7XG4gICAgdGhpcy5kaXNwbGF5ZWROYW1lZE9wdGlvbnMgPSBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcztcbiAgfVxuXG4gIGFkZE5ld0F0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5kaXNhYmxlQ3JlYXRlKSB7XG4gICAgICB0aGlzLl9oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgaWYgKGF0dHJpYnV0ZSAhPT0gJycpIHtcbiAgICAgICAgbGV0IHJlZmVyZW5jZSA9IGF0dHJpYnV0ZS5jaGFyQXQoMCk7XG5cbiAgICAgICAgaWYgKHJlZmVyZW5jZSA9PT0gJyMnIHx8IHJlZmVyZW5jZSA9PT0gJ0AnKSB7XG4gICAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWZlcmVuY2UgPSAnIyc7XG4gICAgICAgIH1cblxuICAgICAgICBhdHRyaWJ1dGUgPSBgJHtyZWZlcmVuY2V9JHthdHRyaWJ1dGV9YDtcbiAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnRyaW0oKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNBdHRyaWJ1dGVTZWxlY3RlZChhdHRyaWJ1dGUpKSB7XG4gICAgICAgICAgYXR0cmlidXRlID0gYXR0cmlidXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICBpZiAocmVmZXJlbmNlID09PSAnQCcpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWROYW1lZEF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgICAgICAgdGhpcy5hZGRSb2xlQXR0cmlidXRlLmVtaXQoYXR0cmlidXRlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGRTZWxlY3RlZFJvbGVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgIHRoaXMuYWRkTmFtZWRBdHRyaWJ1dGUuZW1pdChhdHRyaWJ1dGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc05vdGhpbmdTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcz8ubGVuZ3RoIDw9IDAgJiYgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXM/Lmxlbmd0aCA8PSAwO1xuICB9XG5cbiAgbmFtZVNvcnQgPSAoYTogYW55LCBiOiBhbnkpID0+IChhLm5hbWUgPCBiLm5hbWUgPyAtMSA6IGEubmFtZSA+IGIubmFtZSA/IDEgOiAwKTtcbn1cbiIsIjxzcGFuIChjbGlja091dHNpZGUpPVwiaGlkZSgpXCIgW25nQ2xhc3NdPVwieyByZWFkT25seTogZGlzYWJsZUZpZWxkIH1cIiBjbGFzcz1cImNsaWNrT3V0c2lkZSBmdWxsV2lkdGggdGFnc1NlbGVjdG9yXCIgPlxuICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cInNlbGVjdDIgc2VsZWN0Mi1jb250YWluZXIgc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgc2VsZWN0Mi1jb250YWluZXItLWJlbG93IHNlbGVjdDItY29udGFpbmVyLS1mb2N1c1wiXG4gICAgICAgICAgICBkaXI9XCJsdHJcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdDItc2VsZWN0aW9uLWZvY3VzJzogIWhpZGVTZWxlY3QsIHRhZ0Vycm9yOiBfaGFzRXJyb3IgfVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbiBzZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwiaGFuZGxlS2V5VXAoJGV2ZW50LCBmaWx0ZXJTdHJpbmcpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAobW91c2V1cCk9XCJhcHBseUZpbHRlck1vdXNlVXAoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlclN0cmluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZW1wdHk6IGlzTm90aGluZ1NlbGVjdGVkLCB0YWdFcnJvcjogX2hhc0Vycm9yIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VhcmNoX19maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ZGlzYWJsZUZpZWxkID8gKGlzTm90aGluZ1NlbGVjdGVkID8gJ05vdGhpbmcgc2VsZWN0ZWQnIDogJycpIDogcGxhY2Vob2xkZXJ9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwidGV4dGJveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3NlYXJjaFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cInNwaW5uZXJcIj48L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBlcnJvcjogX2hhc0Vycm9yLCByZWFkT25seTogZGlzYWJsZUZpZWxkLCBlbXB0eTogaXNOb3RoaW5nU2VsZWN0ZWQgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtID09PSB0aGlzLmhpZGVPcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYXNodGFnIHNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCIje3sgaXRlbSB9fVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVJvbGVBdHRyaWJ1dGUoaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+I3t7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJpdGVtID09PSB0aGlzLmhpZGVPcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9jaG9pY2VfaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhZyBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCIgdGl0bGU9XCJAe3sgaXRlbSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+QHt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctbmFtZSBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCIgdGl0bGU9XCJAe3sgaXRlbSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlTmFtZWRBdHRyaWJ1dGUoaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX190ZXh0XCI+QHt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZHJvcGRvd24td3JhcHBlclwiIHRhYmluZGV4PVwiLTFcIiAjZHJvcGRvd25XcmFwcGVyPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJfaGFzRXJyb3JcIiBjbGFzcz1cImVyclwiPlxuICAgICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlbGVjdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHdpdGhCb3JkZXI6ICFoaWRlU2VsZWN0IH1cIlxuICAgICAgICAgICAgY2xhc3M9XCJuZi1zZWxlY3QyLWRyb3Bkb3duIHNlbGVjdDItZHJvcGRvd24tLWJlbG93XCJcbiAgICAgICAgICAgIGRpcj1cImx0clwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdDItcmVzdWx0c1wiPlxuICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTmV3QXR0cmlidXRlKGZpbHRlclN0cmluZylcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cImZpbHRlclN0cmluZyA9PT0gJycgfHwgaXNBdHRyaWJ1dGVTZWxlY3RlZChmaWx0ZXJTdHJpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBoYXNodGFnXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBmaWx0ZXJTdHJpbmcgfX0gKE5ldyBBdHRyaWJ1dGUpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGZpbHRlclN0cmluZyB9fSAoTmV3IEF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU2VsZWN0ZWRSb2xlQXR0cmlidXRlKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRpc3BsYXllZFJvbGVPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJvcHRpb24gPT09IHRoaXMuaGlkZU9wdGlvbiB8fCBpc1NlbGVjdGVkKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhhc2h0YWcgc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwidHJlZWl0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgI3t7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRTZWxlY3RlZE5hbWVkQXR0cmlidXRlKG9wdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRpc3BsYXllZE5hbWVkT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwib3B0aW9uID09PSB0aGlzLmhpZGVPcHRpb24gfHwgaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdHRhZyBzZWxlY3QyLXJlc3VsdHNfX29wdGlvblwiIHRpdGxlPVwiQHt7IG9wdGlvbiB9fVwiIHJvbGU9XCJ0cmVlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1uYW1lIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uXCIgdGl0bGU9XCJAe3sgb3B0aW9uIH19XCIgcm9sZT1cInRyZWVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAe3sgb3B0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuPC9zcGFuPlxuIl19
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT25ILE1BQU0sT0FBTyxvQkFBb0I7SUE0Qi9CO1FBM0JBLDZCQUF3QixHQUFVLEVBQUUsQ0FBQztRQUNyQyw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFDdkIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDM0Msc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM1Qyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEQsaUNBQTRCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2RCxrQ0FBNkIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3hELGlC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Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFRYyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ1csZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBYWYsc0JBQXNCO3NCQUFsQyxLQUFLO2dCQVNPLHVCQUF1QjtzQkFBbkMsS0FBSztnQkFTTyxRQUFRO3NCQUFwQixLQUFLO2dCQUlPLHVCQUF1QjtzQkFBbkMsS0FBSztnQkFPTyx3QkFBd0I7c0JBQXBDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWctc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFnLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ1NlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIF9hdmFpbGFibGVSb2xlQXR0cmlidXRlczogYW55W10gPSBbXTtcbiAgX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY3QnO1xuICBASW5wdXQoKSBkaXNhYmxlRmllbGQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZUNyZWF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlT3B0aW9uID0gJyc7XG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2UgPSAnJztcbiAgQElucHV0KCkgZm9jdXNPbkluaXQgPSBmYWxzZTtcbiAgQE91dHB1dCgpIGFkZFJvbGVBdHRyaWJ1dGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGFkZE5hbWVkQXR0cmlidXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByb2xlQXR0cmlidXRlUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbmFtZWRBdHRyaWJ1dGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvbGVBdHRyaWJ1dGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZE5hbWVkQXR0cmlidXRlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgaGlkZVNlbGVjdCA9IHRydWU7XG4gIGRpc3BsYXllZFJvbGVPcHRpb25zOiBhbnlbXSA9IFtdO1xuICBkaXNwbGF5ZWROYW1lZE9wdGlvbnM6IGFueVtdID0gW107XG4gIGZpbHRlclN0cmluZyA9ICcnO1xuICBfaGFzaEF0dHJpYnV0ZXMgPSB7fTtcblxuICBAVmlld0NoaWxkKCdzZWFyY2gnKSBzZWFyY2g6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duV3JhcHBlcicpIGRyb3Bkb3duV3JhcHBlcjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5mb2N1c09uSW5pdCkge1xuICAgICAgICB0aGlzLnNlYXJjaC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkUm9sZUF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyA9IGF0dHJzO1xuICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgIH1cbiAgfVxuXG4gIF9zZWxlY3RlZE5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMoYXR0cnM6IGFueSkge1xuICAgIGlmIChhdHRycykge1xuICAgICAgdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBfaGFzRXJyb3IgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgaGFzRXJyb3IodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNFcnJvciA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzKGF0dHJzOiBhbnkpIHtcbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgIHRoaXMuX2F2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzID0gYXR0cnM7XG4gICAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyhhdHRyczogYW55KSB7XG4gICAgaWYgKGF0dHJzKSB7XG4gICAgICB0aGlzLl9hdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXMgPSBhdHRycztcbiAgICAgIHRoaXMuX2ZpbHRlckF0dHJpYnV0ZXMoKTtcbiAgICB9XG4gIH1cblxuICBpc1NlbGVjdGVkKGl0ZW06IGFueSkge1xuICAgIHJldHVybiB0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSk7XG4gIH1cblxuICBhZGRTZWxlY3RlZFJvbGVBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgIHRoaXMuYWRkUm9sZUF0dHJpYnV0ZS5lbWl0KGl0ZW0pO1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcy5wdXNoKGl0ZW0pO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyk7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBhZGRTZWxlY3RlZE5hbWVkQXR0cmlidXRlKGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5pc0F0dHJpYnV0ZVNlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICB0aGlzLmFkZE5hbWVkQXR0cmlidXRlLmVtaXQoaXRlbSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5wdXNoKGl0ZW0pO1xuICAgICAgdGhpcy5zZWxlY3RlZE5hbWVkQXR0cmlidXRlc0NoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlzQXR0cmlidXRlU2VsZWN0ZWQoYXR0cmlidXRlKSB7XG4gICAgaWYoIWF0dHJpYnV0ZSB8fCBhdHRyaWJ1dGUubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGF0dHJpYnV0ZS5jaGFyQXQoMCkgPT09ICcjJyB8fCBhdHRyaWJ1dGUuY2hhckF0KDApID09PSAnQCcpIHtcbiAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgfVxuICAgIGxldCBzZWxlY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgaWYoYXR0ciA9PT0gYXR0cmlidXRlKSB7XG4gICAgICAgIHNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9zZWxlY3RlZE5hbWVkQXR0cmlidXRlcy5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICBpZihhdHRyID09PSBhdHRyaWJ1dGUpIHtcbiAgICAgICAgc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzZWxlY3RlZDtcbiAgfVxuXG4gIHJlbW92ZVJvbGVBdHRyaWJ1dGUoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRSb2xlQXR0cmlidXRlcyA9IHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXMuZmlsdGVyKChhdHRyKSA9PiB7XG4gICAgICAgIHJldHVybiBhdHRyICE9PSBpdGVtO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm9sZUF0dHJpYnV0ZXNDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzKTtcbiAgICAgIHRoaXMucm9sZUF0dHJpYnV0ZVJlbW92ZWQuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZU5hbWVkQXR0cmlidXRlKGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlRmllbGQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMuZmlsdGVyKChhdHRyKSA9PiB7XG4gICAgICAgIHJldHVybiBhdHRyICE9PSBpdGVtO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXMpO1xuICAgICAgdGhpcy5uYW1lZEF0dHJpYnV0ZVJlbW92ZWQuZW1pdChpdGVtKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0Rm9jdXMoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gZmFsc2U7XG4gIH1cblxuICBpbnB1dEZvY3VzT3V0KCkge1xuICAgIHRoaXMuaGlkZVNlbGVjdCA9IHRydWU7XG4gIH1cblxuICB0b2dnbGVTZWxlY3QoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVGaWVsZCkge1xuICAgICAgdGhpcy5oaWRlU2VsZWN0ID0gIXRoaXMuaGlkZVNlbGVjdDtcbiAgICB9XG4gIH1cblxuICBvcGVuU2VsZWN0KCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlRmllbGQpIHtcbiAgICAgIHRoaXMuaGlkZVNlbGVjdCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5oaWRlU2VsZWN0ID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUtleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZmlsdGVyU3RyaW5nOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKCRldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5hZGROZXdBdHRyaWJ1dGUoZmlsdGVyU3RyaW5nKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgdGhpcy5zZWFyY2gubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoZmlsdGVyU3RyaW5nKTtcbiAgfVxuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdCgpO1xuICAgICAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgYXBwbHlGaWx0ZXIgPSAoKSA9PiB7XG4gICAgdGhpcy5faGFzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLl9maWx0ZXJBdHRyaWJ1dGVzKCk7XG4gIH07XG5cbiAgLy8gdXBkYXRlIHRoZSBmaWx0ZXIgb24gbW91c2UgdXAgZXZlbnRcbiAgLy8gdGhpcyBpcyB1c2VkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSB3aGVyZSB0aGUgdXNlciBjbGVhcnMgdGhlIGZpbHRlciB2aWEgdGhlIHggYnV0dG9uXG4gIGFwcGx5RmlsdGVyTW91c2VVcCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZpbHRlclN0cmluZyA9PT0gJycpIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyQXR0cmlidXRlcygpO1xuICAgICAgfVxuICAgIH0sIDUwKTtcbiAgfVxuXG4gIF9maWx0ZXJBdHRyaWJ1dGVzKCkge1xuICAgIGxldCBmaWx0ZXJlZEF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICAgIGxldCBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlczogYW55W10gPSBbXTtcbiAgICBpZiAodGhpcy5maWx0ZXJTdHJpbmcpIHtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVSb2xlQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIuaW5kZXhPZih0aGlzLmZpbHRlclN0cmluZykgPj0gMFxuICAgICAgfSk7XG4gICAgICBmaWx0ZXJlZEF2YWlsYWJsZU5hbWVkQXR0cmlidXRlcyA9IHRoaXMuX2F2YWlsYWJsZU5hbWVkQXR0cmlidXRlcy5maWx0ZXIoKGF0dHIpID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHIuaW5kZXhPZih0aGlzLmZpbHRlclN0cmluZykgPj0gMFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlUm9sZUF0dHJpYnV0ZXMgPSB0aGlzLl9hdmFpbGFibGVSb2xlQXR0cmlidXRlcztcbiAgICAgIGZpbHRlcmVkQXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzID0gdGhpcy5fYXZhaWxhYmxlTmFtZWRBdHRyaWJ1dGVzO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGxheWVkUm9sZU9wdGlvbnMgPSBmaWx0ZXJlZEF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzO1xuICAgIHRoaXMuZGlzcGxheWVkTmFtZWRPcHRpb25zID0gZmlsdGVyZWRBdmFpbGFibGVOYW1lZEF0dHJpYnV0ZXM7XG4gIH1cblxuICBhZGROZXdBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUNyZWF0ZSkge1xuICAgICAgdGhpcy5faGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgIGlmIChhdHRyaWJ1dGUgIT09ICcnKSB7XG4gICAgICAgIGxldCByZWZlcmVuY2UgPSBhdHRyaWJ1dGUuY2hhckF0KDApO1xuXG4gICAgICAgIGlmIChyZWZlcmVuY2UgPT09ICcjJyB8fCByZWZlcmVuY2UgPT09ICdAJykge1xuICAgICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVmZXJlbmNlID0gJyMnO1xuICAgICAgICB9XG5cbiAgICAgICAgYXR0cmlidXRlID0gYCR7cmVmZXJlbmNlfSR7YXR0cmlidXRlfWA7XG4gICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS50cmltKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQXR0cmlidXRlU2VsZWN0ZWQoYXR0cmlidXRlKSkge1xuICAgICAgICAgIGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgaWYgKHJlZmVyZW5jZSA9PT0gJ0AnKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFNlbGVjdGVkTmFtZWRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgIHRoaXMuYWRkUm9sZUF0dHJpYnV0ZS5lbWl0KGF0dHJpYnV0ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRSb2xlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICB0aGlzLmFkZE5hbWVkQXR0cmlidXRlLmVtaXQoYXR0cmlidXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNOb3RoaW5nU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkUm9sZUF0dHJpYnV0ZXM/Lmxlbmd0aCA8PSAwICYmIHRoaXMuX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzPy5sZW5ndGggPD0gMDtcbiAgfVxuXG4gIG5hbWVTb3J0ID0gKGE6IGFueSwgYjogYW55KSA9PiAoYS5uYW1lIDwgYi5uYW1lID8gLTEgOiBhLm5hbWUgPiBiLm5hbWUgPyAxIDogMCk7XG59XG4iLCI8c3BhbiAoY2xpY2tPdXRzaWRlKT1cImhpZGUoKVwiIFtuZ0NsYXNzXT1cInsgcmVhZE9ubHk6IGRpc2FibGVGaWVsZCB9XCIgY2xhc3M9XCJjbGlja091dHNpZGUgZnVsbFdpZHRoIHRhZ3NTZWxlY3RvclwiID5cbiAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyIHNlbGVjdDItY29udGFpbmVyIHNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IHNlbGVjdDItY29udGFpbmVyLS1iZWxvdyBzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXNcIlxuICAgICAgICAgICAgZGlyPVwibHRyXCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3QyLXNlbGVjdGlvbi1mb2N1cyc6ICFoaWRlU2VsZWN0LCB0YWdFcnJvcjogX2hhc0Vycm9yIH1cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb24gc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleXVwKT1cImhhbmRsZUtleVVwKCRldmVudCwgZmlsdGVyU3RyaW5nKTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNldXApPVwiYXBwbHlGaWx0ZXJNb3VzZVVwKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVGaWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGVtcHR5OiBpc05vdGhpbmdTZWxlY3RlZCwgdGFnRXJyb3I6IF9oYXNFcnJvciB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlYXJjaF9fZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2Rpc2FibGVGaWVsZCA/IChpc05vdGhpbmdTZWxlY3RlZCA/ICdOb3RoaW5nIHNlbGVjdGVkJyA6ICcnKSA6IHBsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRleHRib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3BlbGxjaGVjaz1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNzZWFyY2hcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJzcGlubmVyXCI+PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZXJyb3I6IF9oYXNFcnJvciwgcmVhZE9ubHk6IGRpc2FibGVGaWVsZCwgZW1wdHk6IGlzTm90aGluZ1NlbGVjdGVkIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9zZWxlY3RlZFJvbGVBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaXRlbSA9PT0gdGhpcy5oaWRlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGFzaHRhZyBzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiI3t7IGl0ZW0gfX1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVSb2xlQXR0cmlidXRlKGl0ZW0pOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID7Dlzwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPiN7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3NlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaXRlbSA9PT0gdGhpcy5oaWRlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fY2hvaWNlX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWcgc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZVwiIHRpdGxlPVwiQHt7IGl0ZW0gfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPkB7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnLW5hbWUgc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZVwiIHRpdGxlPVwiQHt7IGl0ZW0gfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU5hbWVkQXR0cmlidXRlKGl0ZW0pOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fdGV4dFwiPkB7eyBpdGVtIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImRyb3Bkb3duLXdyYXBwZXJcIiB0YWJpbmRleD1cIi0xXCIgI2Ryb3Bkb3duV3JhcHBlcj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiX2hhc0Vycm9yXCIgY2xhc3M9XCJlcnJcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuXG4gICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVTZWxlY3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyB3aXRoQm9yZGVyOiAhaGlkZVNlbGVjdCB9XCJcbiAgICAgICAgICAgIGNsYXNzPVwibmYtc2VsZWN0Mi1kcm9wZG93biBzZWxlY3QyLWRyb3Bkb3duLS1iZWxvd1wiXG4gICAgICAgICAgICBkaXI9XCJsdHJcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QyLXJlc3VsdHNcIj5cbiAgICAgICAgICAgIDx1bFxuICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLW11bHRpc2VsZWN0YWJsZT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdDItcmVzdWx0c19fb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0cmVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0F0dHJpYnV0ZShmaWx0ZXJTdHJpbmcpXCJcbiAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJmaWx0ZXJTdHJpbmcgPT09ICcnIHx8IGlzQXR0cmlidXRlU2VsZWN0ZWQoZmlsdGVyU3RyaW5nKVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gaGFzaHRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJ0cmVlaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgZmlsdGVyU3RyaW5nIH19IChOZXcgQXR0cmlidXRlKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXJTdHJpbmcgfX0gKE5ldyBBdHRyaWJ1dGUpXG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZFNlbGVjdGVkUm9sZUF0dHJpYnV0ZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkaXNwbGF5ZWRSb2xlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwib3B0aW9uID09PSB0aGlzLmhpZGVPcHRpb24gfHwgaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYXNodGFnIHNlbGVjdDItcmVzdWx0c19fb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICN7eyBvcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkU2VsZWN0ZWROYW1lZEF0dHJpYnV0ZShvcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkaXNwbGF5ZWROYW1lZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIm9wdGlvbiA9PT0gdGhpcy5oaWRlT3B0aW9uIHx8IGlzU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWcgc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25cIiB0aXRsZT1cIkB7eyBvcHRpb24gfX1cIiByb2xlPVwidHJlZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEB7eyBvcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWctbmFtZSBzZWxlY3QyLXJlc3VsdHNfX29wdGlvblwiIHRpdGxlPVwiQHt7IG9wdGlvbiB9fVwiIHJvbGU9XCJ0cmVlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQHt7IG9wdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbjwvc3Bhbj5cbiJdfQ==