@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
@@ -20,7 +20,7 @@ import * as i0 from "@angular/core";
20
20
  import * as i1 from "../../data-table-filter.service";
21
21
  import * as i2 from "@angular/common";
22
22
  import * as i3 from "@angular/forms";
23
- class TableColumnFilterComponent {
23
+ export class TableColumnFilterComponent {
24
24
  constructor(filterService) {
25
25
  this.filterService = filterService;
26
26
  this.type = 'TEXTINPUT';
@@ -71,7 +71,6 @@ class TableColumnFilterComponent {
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnFilterComponent, deps: [{ token: i1.DataTableFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
72
72
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnFilterComponent, selector: "app-table-column-filter", inputs: { type: "type", filterString: "filterString", filterName: "filterName", columnDef: "columnDef", openStatusMenu: "openStatusMenu", dateFilter: "dateFilter" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<div class=\"header-filter-container\">\n <div *ngIf=\"type === 'TEXTINPUT' || type === 'COMBO'\" class=\"text-input-filter\">\n <input\n #filterInput\n (keyup)=\"setFilterDebounced()\"\n [(ngModel)]=\"filterString\"\n class=\"search\"\n id=\"SearchFilter\"\n placeholder=\"Type to Filter\"\n type=\"text\"\n />\n </div>\n <div *ngIf=\"type === 'SELECT'\"></div>\n</div>\n", styles: [".header-filter-container .search{height:2.5rem;border-width:0;font-size:.875rem;box-shadow:none;padding-left:0rem;margin-top:.9375rem}#TimeSearch{position:relative;float:left;display:inline-block;margin-left:.625rem;width:3.125rem;height:2.5rem;background-color:var(--primary)}#TimeSearch #TimeSearchList{width:2.75rem;height:0rem;position:absolute;top:0rem;left:-.125rem;overflow:hidden;transition:var(--transition);background-color:var(--menu);border-radius:.5rem;z-index:30}#TimeSearch #TimeSearchList .time{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;font-size:.75rem;font-weight:700;text-align:center;margin-top:.125rem;margin-left:.125rem;left:-.125rem;top:-3.1875rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSearchList.open{top:-3.1875rem;width:2.75rem;height:14.125rem}#TimeSearch #TimeSelectButton{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;text-align:center;font-size:.75rem;font-weight:700;margin-top:.4375rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSelectButton:hover,#TimeSearch #TimeSearchList .time:hover{background-color:var(--primaryColor);color:var(--white)}::ng-deep .tag-selector-filter .select2-selection{border:none!important}::ng-deep .tag-selector-filter .select2-selection .select2-search__field{height:2.1875rem!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
73
73
  }
74
- export { TableColumnFilterComponent };
75
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnFilterComponent, decorators: [{
76
75
  type: Component,
77
76
  args: [{ selector: 'app-table-column-filter', template: "<div class=\"header-filter-container\">\n <div *ngIf=\"type === 'TEXTINPUT' || type === 'COMBO'\" class=\"text-input-filter\">\n <input\n #filterInput\n (keyup)=\"setFilterDebounced()\"\n [(ngModel)]=\"filterString\"\n class=\"search\"\n id=\"SearchFilter\"\n placeholder=\"Type to Filter\"\n type=\"text\"\n />\n </div>\n <div *ngIf=\"type === 'SELECT'\"></div>\n</div>\n", styles: [".header-filter-container .search{height:2.5rem;border-width:0;font-size:.875rem;box-shadow:none;padding-left:0rem;margin-top:.9375rem}#TimeSearch{position:relative;float:left;display:inline-block;margin-left:.625rem;width:3.125rem;height:2.5rem;background-color:var(--primary)}#TimeSearch #TimeSearchList{width:2.75rem;height:0rem;position:absolute;top:0rem;left:-.125rem;overflow:hidden;transition:var(--transition);background-color:var(--menu);border-radius:.5rem;z-index:30}#TimeSearch #TimeSearchList .time{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;font-size:.75rem;font-weight:700;text-align:center;margin-top:.125rem;margin-left:.125rem;left:-.125rem;top:-3.1875rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSearchList.open{top:-3.1875rem;width:2.75rem;height:14.125rem}#TimeSearch #TimeSelectButton{width:2.5rem;background-color:var(--background);padding-left:.5rem;padding-right:.5rem;border-radius:.5rem;line-height:1.625rem;text-align:center;font-size:.75rem;font-weight:700;margin-top:.4375rem;cursor:pointer;transition:var(--transition)}#TimeSearch #TimeSelectButton:hover,#TimeSearch #TimeSearchList .time:hover{background-color:var(--primaryColor);color:var(--white)}::ng-deep .tag-selector-filter .select2-selection{border:none!important}::ng-deep .tag-selector-filter .select2-selection .select2-search__field{height:2.1875rem!important}\n"] }]
@@ -91,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
90
  type: ViewChild,
92
91
  args: ['filterInput']
93
92
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWZpbHRlci90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFnQixTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRWxDLE1BS2EsMEJBQTBCO0lBYW5DLFlBQW1CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQVovQyxTQUFJLEdBQUcsV0FBVyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFHaEIsZUFBVSxHQUFRLEtBQUssQ0FBQztRQUVqQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBS3JELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUMzQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUU7b0JBQ2pELEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUN6QixNQUFNO2lCQUNUO2FBQ0o7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFNBQVMsR0FBRztZQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBSztRQUNmLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDOUIsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBRyxJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLENBQUM7SUFDakUsQ0FBQzsrR0ExRFEsMEJBQTBCO21HQUExQiwwQkFBMEIsaVZDMUJ2QyxrYUFjQTs7U0RZYSwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDSSx5QkFBeUI7NkdBSzFCLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWNvbHVtbi1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHR5cGUgPSAnVEVYVElOUFVUJztcbiAgICBASW5wdXQoKSBmaWx0ZXJTdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSBmaWx0ZXJOYW1lID0gJyc7XG4gICAgQElucHV0KCkgY29sdW1uRGVmO1xuICAgIEBJbnB1dCgpIG9wZW5TdGF0dXNNZW51O1xuICAgIEBJbnB1dCgpIGRhdGVGaWx0ZXI6IGFueSA9ICcyNGgnO1xuXG4gICAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHNldEZpbHRlckRlYm91bmNlZCA9IF8uZGVib3VuY2UodGhpcy5zZXRGaWx0ZXIsIDUwMCk7XG5cbiAgICBAVmlld0NoaWxkKCdmaWx0ZXJJbnB1dCcpIGZpbHRlcklucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcnNDaGFuZ2VkLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB0bXAgPSAnJztcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCBmaWx0ZXJzLmxlbmd0aDsgaWR4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlcnNbaWR4XS5jb2x1bW5JZCA9PT0gdGhpcy5jb2x1bW5EZWY/LmNvbElkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBmaWx0ZXJzW2lkeF0udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlclN0cmluZyA9IHRtcDtcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBzZXRGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbHRlck9iaiA9IHtcbiAgICAgICAgICAgIGZpbHRlck5hbWU6IHRoaXMuZmlsdGVyTmFtZSxcbiAgICAgICAgICAgIGNvbHVtbklkOiB0aGlzLmNvbHVtbkRlZj8uY29sSWQsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5maWx0ZXJTdHJpbmcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5maWx0ZXJTdHJpbmcsXG4gICAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS51cGRhdGVGaWx0ZXIoZmlsdGVyT2JqKVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJJbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBzdGF0dXNDbGlja2VkKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCAmJiB0aGlzLm9wZW5TdGF0dXNNZW51KSB7XG4gICAgICAgICAgICBldmVudC5zdGF0dXNGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5vcGVuU3RhdHVzTWVudShldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYodGhpcy5zdWJzY3JpcHRpb24pIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGF2YWlsYWJsZVJvbGVBdHRyaWJ1dGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2x1bW5EZWY/LmhlYWRlckNvbXBvbmVudFBhcmFtcz8ucm9sZUF0dHJpYnV0ZXM7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlci1maWx0ZXItY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nSWY9XCJ0eXBlID09PSAnVEVYVElOUFVUJyB8fCB0eXBlID09PSAnQ09NQk8nXCIgY2xhc3M9XCJ0ZXh0LWlucHV0LWZpbHRlclwiPlxuICAgIDxpbnB1dFxuICAgICAgI2ZpbHRlcklucHV0XG4gICAgICAoa2V5dXApPVwic2V0RmlsdGVyRGVib3VuY2VkKClcIlxuICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJTdHJpbmdcIlxuICAgICAgY2xhc3M9XCJzZWFyY2hcIlxuICAgICAgaWQ9XCJTZWFyY2hGaWx0ZXJcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlIHRvIEZpbHRlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJ0eXBlID09PSAnU0VMRUNUJ1wiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tZmlsdGVyL3RhYmxlLWNvbHVtbi1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWZpbHRlci90YWJsZS1jb2x1bW4tZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFnQixTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBT2xDLE1BQU0sT0FBTywwQkFBMEI7SUFhbkMsWUFBbUIsYUFBcUM7UUFBckMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBWi9DLFNBQUksR0FBRyxXQUFXLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUdoQixlQUFVLEdBQVEsS0FBSyxDQUFDO1FBRWpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFLckQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2IsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzNDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRTtvQkFDakQsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3pCLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sU0FBUyxHQUFHO1lBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUs7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDbEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM5QixLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFHLElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsQ0FBQztJQUNqRSxDQUFDOytHQTFEUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixpVkMxQnZDLGthQWNBOzs0RkRZYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0kseUJBQXlCOzZHQUsxQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jb2x1bW4tZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSB0eXBlID0gJ1RFWFRJTlBVVCc7XG4gICAgQElucHV0KCkgZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgZmlsdGVyTmFtZSA9ICcnO1xuICAgIEBJbnB1dCgpIGNvbHVtbkRlZjtcbiAgICBASW5wdXQoKSBvcGVuU3RhdHVzTWVudTtcbiAgICBASW5wdXQoKSBkYXRlRmlsdGVyOiBhbnkgPSAnMjRoJztcblxuICAgIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBzZXRGaWx0ZXJEZWJvdW5jZWQgPSBfLmRlYm91bmNlKHRoaXMuc2V0RmlsdGVyLCA1MDApO1xuXG4gICAgQFZpZXdDaGlsZCgnZmlsdGVySW5wdXQnKSBmaWx0ZXJJbnB1dDogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXJzQ2hhbmdlZC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdG1wID0gJyc7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgZmlsdGVycy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJzW2lkeF0uY29sdW1uSWQgPT09IHRoaXMuY29sdW1uRGVmPy5jb2xJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gZmlsdGVyc1tpZHhdLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSB0bXA7XG4gICAgICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgc2V0RmlsdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWx0ZXJPYmogPSB7XG4gICAgICAgICAgICBmaWx0ZXJOYW1lOiB0aGlzLmZpbHRlck5hbWUsXG4gICAgICAgICAgICBjb2x1bW5JZDogdGhpcy5jb2x1bW5EZWY/LmNvbElkLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyU3RyaW5nLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmlsdGVyU3RyaW5nLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UudXBkYXRlRmlsdGVyKGZpbHRlck9iailcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVySW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgc3RhdHVzQ2xpY2tlZChldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQgJiYgdGhpcy5vcGVuU3RhdHVzTWVudSkge1xuICAgICAgICAgICAgZXZlbnQuc3RhdHVzRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub3BlblN0YXR1c01lbnUoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmKHRoaXMuc3Vic2NyaXB0aW9uKSB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCBhdmFpbGFibGVSb2xlQXR0cmlidXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sdW1uRGVmPy5oZWFkZXJDb21wb25lbnRQYXJhbXM/LnJvbGVBdHRyaWJ1dGVzO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItZmlsdGVyLWNvbnRhaW5lclwiPlxuICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ1RFWFRJTlBVVCcgfHwgdHlwZSA9PT0gJ0NPTUJPJ1wiIGNsYXNzPVwidGV4dC1pbnB1dC1maWx0ZXJcIj5cbiAgICA8aW5wdXRcbiAgICAgICNmaWx0ZXJJbnB1dFxuICAgICAgKGtleXVwKT1cInNldEZpbHRlckRlYm91bmNlZCgpXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZmlsdGVyU3RyaW5nXCJcbiAgICAgIGNsYXNzPVwic2VhcmNoXCJcbiAgICAgIGlkPVwiU2VhcmNoRmlsdGVyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBGaWx0ZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ1NFTEVDVCdcIj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2,7 +2,7 @@ import { Component } from '@angular/core';
2
2
  import _ from 'lodash';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "ng-click-outside";
5
- class TableColumnMenuComponent {
5
+ export class TableColumnMenuComponent {
6
6
  constructor() {
7
7
  this.item = {
8
8
  selected: false,
@@ -30,9 +30,8 @@ class TableColumnMenuComponent {
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
31
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnMenuComponent, selector: "app-table-column-menu", ngImport: i0, template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:1.875rem;right:.625rem;height:1.875rem;position:absolute;top:.625rem;font-size:1.5rem;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:.8125rem;border-radius:var(--inputBorderRadius)}\n"], dependencies: [{ kind: "directive", type: i1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
32
32
  }
33
- export { TableColumnMenuComponent };
34
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnMenuComponent, decorators: [{
35
34
  type: Component,
36
35
  args: [{ selector: 'app-table-column-menu', template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:1.875rem;right:.625rem;height:1.875rem;position:absolute;top:.625rem;font-size:1.5rem;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:.8125rem;border-radius:var(--inputBorderRadius)}\n"] }]
37
36
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7OztBQUV2QixNQUthLHdCQUF3QjtJQUxyQztRQU1FLFNBQUksR0FBRztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsRUFBRSxFQUFFLEVBQUU7WUFDTixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7UUFFRixTQUFJLEdBQUcsS0FBSyxDQUFDO0tBcUJkO0lBbkJDLE1BQU0sQ0FBQyxZQUEyQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBMkI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZCxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBM0JVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZEQ1ZyQyxpUUFJTTs7U0RNTyx3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lIZWFkZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUhlYWRlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWNvbHVtbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNvbHVtbi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5NZW51Q29tcG9uZW50IGltcGxlbWVudHMgSUhlYWRlckFuZ3VsYXJDb21wIHtcbiAgaXRlbSA9IHtcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgaWQ6ICcnLFxuICAgIGFjdGlvbkxpc3Q6IFtdLFxuICB9O1xuICBoZWFkZXJQYXJhbXM7XG4gIG9wZW4gPSBmYWxzZTtcblxuICBhZ0luaXQoaGVhZGVyUGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBoZWFkZXJQYXJhbXM7XG4gICAgdGhpcy5pdGVtID0gXy5nZXQoaGVhZGVyUGFyYW1zLCAnZGF0YScpO1xuICB9XG5cbiAgcmVmcmVzaChoZWFkZXJQYXJhbXM6IElIZWFkZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICB0aGlzLmhlYWRlclBhcmFtcyA9IGhlYWRlclBhcmFtcztcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQpOiB2b2lkIHtcbiAgICBfLmRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLm9wZW5IZWFkZXJNZW51KGV2ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlQWN0aW9uTWVudShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVyUGFyYW1zLmNsb3NlTWVudShldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUFjdGlvbk1lbnUoJGV2ZW50KVwiIGNsYXNzPVwiY2VsbC1tZW51LWNvbnRhaW5lclwiPlxuICA8ZGl2IChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIiBjbGFzcz1cImRvdHNcIiBpZD1cIkRvdHNfQnVsa1wiPlxuICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZU1lbnUoJGV2ZW50KVwiIGNsYXNzPVwiZG90c1wiIGlkPVwiSGVhZGVyUm93RG90c1wiPi4uLjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7OztBQU92QixNQUFNLE9BQU8sd0JBQXdCO0lBTHJDO1FBTUUsU0FBSSxHQUFHO1lBQ0wsUUFBUSxFQUFFLEtBQUs7WUFDZixFQUFFLEVBQUUsRUFBRTtZQUNOLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztRQUVGLFNBQUksR0FBRyxLQUFLLENBQUM7S0FxQmQ7SUFuQkMsTUFBTSxDQUFDLFlBQTJCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxZQUEyQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0EzQlUsd0JBQXdCO21HQUF4Qix3QkFBd0IsNkRDVnJDLGlRQUlNOzs0RkRNTyx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJSGVhZGVyQW5ndWxhckNvbXB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge0lIZWFkZXJQYXJhbXN9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jb2x1bW4tbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb2x1bW4tbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNvbHVtbi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIElIZWFkZXJBbmd1bGFyQ29tcCB7XG4gIGl0ZW0gPSB7XG4gICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlkOiAnJyxcbiAgICBhY3Rpb25MaXN0OiBbXSxcbiAgfTtcbiAgaGVhZGVyUGFyYW1zO1xuICBvcGVuID0gZmFsc2U7XG5cbiAgYWdJbml0KGhlYWRlclBhcmFtczogSUhlYWRlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVyUGFyYW1zID0gaGVhZGVyUGFyYW1zO1xuICAgIHRoaXMuaXRlbSA9IF8uZ2V0KGhlYWRlclBhcmFtcywgJ2RhdGEnKTtcbiAgfVxuXG4gIHJlZnJlc2goaGVhZGVyUGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBoZWFkZXJQYXJhbXM7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0b2dnbGVNZW51KGV2ZW50KTogdm9pZCB7XG4gICAgXy5kZWZlcigoKSA9PiB7XG4gICAgICB0aGlzLmhlYWRlclBhcmFtcy5vcGVuSGVhZGVyTWVudShldmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZUFjdGlvbk1lbnUoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlclBhcmFtcy5jbG9zZU1lbnUoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IChjbGlja091dHNpZGUpPVwiY2xvc2VBY3Rpb25NZW51KCRldmVudClcIiBjbGFzcz1cImNlbGwtbWVudS1jb250YWluZXJcIj5cbiAgPGRpdiAoY2xpY2spPVwidG9nZ2xlTWVudSgkZXZlbnQpXCIgY2xhc3M9XCJkb3RzXCIgaWQ9XCJEb3RzX0J1bGtcIj5cbiAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIiBjbGFzcz1cImRvdHNcIiBpZD1cIkhlYWRlclJvd0RvdHNcIj4uLi48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Component, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
- class TableColumnSelectComponent {
4
+ export class TableColumnSelectComponent {
5
5
  constructor() {
6
6
  this.gridApi = {
7
7
  zitiAllToggled: undefined,
@@ -21,14 +21,13 @@ class TableColumnSelectComponent {
21
21
  }
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnSelectComponent, selector: "app-table-column-select", viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true }], ngImport: i0, template: "<div\n #toggleButton\n (click)=\"toggleAll()\"\n [ngClass]=\"{ selected: gridApi.zitiAllToggled }\"\n class=\"tSelect tSelectHeader\"\n id=\"RowSelect_Header\"\n></div>\n", styles: [".tSelectHeader.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--offWhite);transition:var(--transition)}.tSelectHeader.tSelect.selected{background-color:var(--green);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;border:none}.tSelectHeader.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.tSelectHeader.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnSelectComponent, selector: "app-table-column-select", viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true }], ngImport: i0, template: "<div\n #toggleButton\n (click)=\"toggleAll()\"\n [ngClass]=\"{ selected: gridApi.zitiAllToggled }\"\n class=\"tSelect tSelectHeader\"\n id=\"RowSelect_Header\"\n></div>\n", styles: [".tSelectHeader.tSelect{width:var(--checkboxHeightWidth);height:var(--checkboxHeightWidth);border:.1rem var(--inputBorder) solid;border-radius:var(--inputBorderRadius);cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--offWhite);transition:var(--transition)}.tSelectHeader.tSelect.selected{background-color:var(--green);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;border:none}.tSelectHeader.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.tSelectHeader.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
25
25
  }
26
- export { TableColumnSelectComponent };
27
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnSelectComponent, decorators: [{
28
27
  type: Component,
29
- args: [{ selector: 'app-table-column-select', template: "<div\n #toggleButton\n (click)=\"toggleAll()\"\n [ngClass]=\"{ selected: gridApi.zitiAllToggled }\"\n class=\"tSelect tSelectHeader\"\n id=\"RowSelect_Header\"\n></div>\n", styles: [".tSelectHeader.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--offWhite);transition:var(--transition)}.tSelectHeader.tSelect.selected{background-color:var(--green);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;border:none}.tSelectHeader.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.tSelectHeader.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"] }]
28
+ args: [{ selector: 'app-table-column-select', template: "<div\n #toggleButton\n (click)=\"toggleAll()\"\n [ngClass]=\"{ selected: gridApi.zitiAllToggled }\"\n class=\"tSelect tSelectHeader\"\n id=\"RowSelect_Header\"\n></div>\n", styles: [".tSelectHeader.tSelect{width:var(--checkboxHeightWidth);height:var(--checkboxHeightWidth);border:.1rem var(--inputBorder) solid;border-radius:var(--inputBorderRadius);cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--offWhite);transition:var(--transition)}.tSelectHeader.tSelect.selected{background-color:var(--green);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC);background-size:45%;background-position:center center;border:none}.tSelectHeader.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.tSelectHeader.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"] }]
30
29
  }], propDecorators: { toggleButton: [{
31
30
  type: ViewChild,
32
31
  args: ['toggleButton']
33
32
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tc2VsZWN0L3RhYmxlLWNvbHVtbi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLXNlbGVjdC90YWJsZS1jb2x1bW4tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFJL0QsTUFLYSwwQkFBMEI7SUFMdkM7UUFPRSxZQUFPLEdBQVE7WUFDYixjQUFjLEVBQUUsU0FBUztTQUMxQixDQUFDO0tBbUJIO0lBZkMsTUFBTSxDQUFDLFlBQTJCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzdFO0lBQ0gsQ0FBQzsrR0F0QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsNktDVHZDLGlMQU9BOztTREVhLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFVUixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SUhlYWRlckFuZ3VsYXJDb21wfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHtJSGVhZGVyUGFyYW1zfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jb2x1bW4tc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNvbHVtbi1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb2x1bW4tc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgSUhlYWRlckFuZ3VsYXJDb21wIHtcbiAgaGVhZGVyUGFyYW1zOiBhbnk7XG4gIGdyaWRBcGk6IGFueSA9IHtcbiAgICB6aXRpQWxsVG9nZ2xlZDogdW5kZWZpbmVkLFxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ3RvZ2dsZUJ1dHRvbicpIHRvZ2dsZUJ1dHRvbjogRWxlbWVudFJlZjtcblxuICBhZ0luaXQoaGVhZGVyUGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBoZWFkZXJQYXJhbXM7XG4gICAgdGhpcy5ncmlkQXBpID0gaGVhZGVyUGFyYW1zLmFwaTtcbiAgfVxuXG4gIHJlZnJlc2gocGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB0b2dnbGVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkQXBpLnppdGlBbGxUb2dnbGVkID0gIXRoaXMuZ3JpZEFwaS56aXRpQWxsVG9nZ2xlZDtcbiAgICBpZiAodGhpcy5oZWFkZXJQYXJhbXMudG9nZ2xlQWxsKSB7XG4gICAgICB0aGlzLmhlYWRlclBhcmFtcy50b2dnbGVBbGwodGhpcy5ncmlkQXBpLnppdGlBbGxUb2dnbGVkLCB0aGlzLmhlYWRlclBhcmFtcyk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICN0b2dnbGVCdXR0b25cbiAgKGNsaWNrKT1cInRvZ2dsZUFsbCgpXCJcbiAgW25nQ2xhc3NdPVwieyBzZWxlY3RlZDogZ3JpZEFwaS56aXRpQWxsVG9nZ2xlZCB9XCJcbiAgY2xhc3M9XCJ0U2VsZWN0IHRTZWxlY3RIZWFkZXJcIlxuICBpZD1cIlJvd1NlbGVjdF9IZWFkZXJcIlxuPjwvZGl2PlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvZGF0YS10YWJsZS9jb2x1bW4taGVhZGVycy90YWJsZS1jb2x1bW4tc2VsZWN0L3RhYmxlLWNvbHVtbi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLXNlbGVjdC90YWJsZS1jb2x1bW4tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFTL0QsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQU9FLFlBQU8sR0FBUTtZQUNiLGNBQWMsRUFBRSxTQUFTO1NBQzFCLENBQUM7S0FtQkg7SUFmQyxNQUFNLENBQUMsWUFBMkI7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDM0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0U7SUFDSCxDQUFDOytHQXRCVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw2S0NUdkMsaUxBT0E7OzRGREVhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7OEJBVVIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lIZWFkZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUhlYWRlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtY29sdW1uLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jb2x1bW4tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIElIZWFkZXJBbmd1bGFyQ29tcCB7XG4gIGhlYWRlclBhcmFtczogYW55O1xuICBncmlkQXBpOiBhbnkgPSB7XG4gICAgeml0aUFsbFRvZ2dsZWQ6IHVuZGVmaW5lZCxcbiAgfTtcblxuICBAVmlld0NoaWxkKCd0b2dnbGVCdXR0b24nKSB0b2dnbGVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgYWdJbml0KGhlYWRlclBhcmFtczogSUhlYWRlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVyUGFyYW1zID0gaGVhZGVyUGFyYW1zO1xuICAgIHRoaXMuZ3JpZEFwaSA9IGhlYWRlclBhcmFtcy5hcGk7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogSUhlYWRlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZEFwaS56aXRpQWxsVG9nZ2xlZCA9ICF0aGlzLmdyaWRBcGkueml0aUFsbFRvZ2dsZWQ7XG4gICAgaWYgKHRoaXMuaGVhZGVyUGFyYW1zLnRvZ2dsZUFsbCkge1xuICAgICAgdGhpcy5oZWFkZXJQYXJhbXMudG9nZ2xlQWxsKHRoaXMuZ3JpZEFwaS56aXRpQWxsVG9nZ2xlZCwgdGhpcy5oZWFkZXJQYXJhbXMpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAjdG9nZ2xlQnV0dG9uXG4gIChjbGljayk9XCJ0b2dnbGVBbGwoKVwiXG4gIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGdyaWRBcGkueml0aUFsbFRvZ2dsZWQgfVwiXG4gIGNsYXNzPVwidFNlbGVjdCB0U2VsZWN0SGVhZGVyXCJcbiAgaWQ9XCJSb3dTZWxlY3RfSGVhZGVyXCJcbj48L2Rpdj5cbiJdfQ==
@@ -5,7 +5,7 @@ import { HttpParams } from "@angular/common/http";
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@angular/router";
8
- class DataTableFilterService {
8
+ export class DataTableFilterService {
9
9
  constructor(location, router, activatedRoute) {
10
10
  this.location = location;
11
11
  this.router = router;
@@ -129,11 +129,10 @@ class DataTableFilterService {
129
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableFilterService, deps: [{ token: i1.Location }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
130
130
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableFilterService, providedIn: 'root' }); }
131
131
  }
132
- export { DataTableFilterService };
133
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableFilterService, decorators: [{
134
133
  type: Injectable,
135
134
  args: [{
136
135
  providedIn: 'root'
137
136
  }]
138
137
  }], ctorParameters: function () { return [{ type: i1.Location }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWNoRCxNQUdhLHNCQUFzQjtJQVcvQixZQUFvQixRQUFrQixFQUFVLE1BQWMsRUFBVSxjQUE4QjtRQUFsRixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVR0RyxZQUFPLEdBQWdCLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFdkQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFekQsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO0lBR3hCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBb0I7UUFDN0IsSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDM0c7WUFDRCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEIsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM5QixPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNmLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDaEM7U0FDSjtRQUNELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQW9CO1FBQzdCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDNUIsTUFBTTthQUNUO1NBQ0o7UUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2YsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEtBQUssR0FBRyxFQUFFO2dCQUNwQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hDLE1BQU07YUFDVDtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZO1FBQ1IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELG1CQUFtQixDQUFDLGtCQUF5QixFQUFFO1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlDLElBQUksTUFBTSxHQUFlLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDMUIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFlLElBQUksVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFN0IsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFCLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDL0MsT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksWUFBWSxFQUFFO2dCQUNkLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUN6QztpQkFBTTtnQkFDSCxJQUFJLEdBQUcsR0FBUSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLElBQUksR0FBRyxXQUFXLENBQUE7Z0JBQ3RCLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDaEIsSUFBSSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzdCLEdBQUcsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN0QixLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNmLElBQUksR0FBRyxXQUFXLENBQUE7aUJBQ3JCO2dCQUNELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUNyQixRQUFRLEVBQUUsR0FBRztvQkFDYixLQUFLLEVBQUUsR0FBRztvQkFDVixLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDO29CQUNoQyxVQUFVLEVBQUUsR0FBRztvQkFDZixJQUFJLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQzsrR0FqSVEsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7U0FFVCxzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge2ZvckVhY2gsIGlzRW1wdHl9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7SHR0cFBhcmFtc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuZXhwb3J0IHR5cGUgRmlsdGVyT2JqID0ge1xuICAgIGZpbHRlck5hbWU6IHN0cmluZztcbiAgICBjb2x1bW5JZDogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGhpZGRlbj86IGJvb2xlYW47XG4gICAgdmVyYj86IHN0cmluZ1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUZpbHRlclNlcnZpY2Uge1xuXG4gICAgZmlsdGVyczogRmlsdGVyT2JqW10gPSBbXTtcbiAgICBjdXJyZW50UGFnZSA9IDE7XG4gICAgZmlsdGVyc0NoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlck9ialtdPih0aGlzLmZpbHRlcnMpO1xuICAgIHB1YmxpYyBmaWx0ZXJpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHBhZ2VDaGFuZ2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuY3VycmVudFBhZ2UpO1xuXG4gICAgY3VycmVudFF1ZXJ5UGFyYW1zID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB9XG5cbiAgICB1cGRhdGVGaWx0ZXIoZmlsdGVyT2JqOiBGaWx0ZXJPYmopIHtcbiAgICAgICAgaWYoaXNFbXB0eShmaWx0ZXJPYmoudmFsdWUpICYmIChpc05hTihmaWx0ZXJPYmoudmFsdWUpIHx8IGZpbHRlck9iai52YWx1ZSA9PT0gJycpKSB0aGlzLnJlbW92ZUZpbHRlcihmaWx0ZXJPYmopO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBpc0ZvdW5kID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLmZpbHRlcnMubGVuZ3RoOyBpZHgrKykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcnNbaWR4XS5jb2x1bW5JZCA9PT0gZmlsdGVyT2JqLmNvbHVtbklkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyc1tpZHhdID0gZmlsdGVyT2JqO1xuICAgICAgICAgICAgICAgICAgICBpc0ZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJzLnB1c2goZmlsdGVyT2JqKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVVybFBhcmFtZXRlcnMoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5uZXh0KHRoaXMuZmlsdGVycyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRmlsdGVyKGZpbHRlck9iajogRmlsdGVyT2JqKSB7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuZmlsdGVycy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJzW2lkeF0uY29sdW1uSWQgPT09IGZpbHRlck9iai5jb2x1bW5JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVycy5zcGxpY2UoaWR4LCAxKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVVybFBhcmFtZXRlcnMoW2ZpbHRlck9ial0pO1xuICAgICAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkLm5leHQodGhpcy5maWx0ZXJzKTtcbiAgICB9XG5cbiAgICBnZXRGaWx0ZXJTdHJpbmcoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gJyc7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuZmlsdGVycy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJzW2lkeF0uY29sdW1uSWQgPT09IGtleSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5maWx0ZXJzW2lkeF0udmFsdWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGNoYW5nZVBhZ2UocGFnZTogYW55KSB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSBwYWdlO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2VkLm5leHQocGFnZSk7XG4gICAgfVxuXG4gICAgY2xlYXJGaWx0ZXJzKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcbiAgICAgICAgdGhpcy51cGRhdGVVcmxQYXJhbWV0ZXJzKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQubmV4dCh0aGlzLmZpbHRlcnMpO1xuICAgIH1cblxuICAgIHN0b3JlRmlsdGVycygpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NlYXJjaF9maWx0ZXJzJywgSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJzKSk7XG4gICAgfVxuXG4gICAgZ2V0U3RvcmVkRmlsdGVycygpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZUl0ZW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc2VhcmNoX2ZpbHRlcnMnKTtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IHN0b3JhZ2VJdGVtID8gSlNPTi5wYXJzZShzdG9yYWdlSXRlbSkgOiBbXTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgfVxuXG4gICAgdXBkYXRlVXJsUGFyYW1ldGVycyhmaWx0ZXJzVG9SZW1vdmU6IGFueVtdID0gW10pIHtcbiAgICAgICAgY29uc3QgdXJsRmlsdGVyc01hcCA9IHRoaXMuZ2V0VXJsRmlsdGVyc01hcCgpO1xuICAgICAgICBsZXQgcGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgICAgIHVybEZpbHRlcnNNYXBbZmlsdGVyLmNvbHVtbklkXSA9IGZpbHRlcjtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IG5ld0ZpbHRlcnMgPSBbXTtcbiAgICAgICAgZm9yRWFjaCh1cmxGaWx0ZXJzTWFwLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyUmVtb3ZlZCA9IGZpbHRlcnNUb1JlbW92ZS5zb21lKChyZW1vdmVkKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlbW92ZWQuY29sdW1uSWQgPT09IGtleTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBpZiAoIWZpbHRlclJlbW92ZWQpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudmFsdWUpO1xuICAgICAgICAgICAgICAgIG5ld0ZpbHRlcnMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBuZXdGaWx0ZXJzO1xuICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KFwiP1wiKVswXTtcbiAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUocGF0aCwgcGFyYW1zLnRvU3RyaW5nKCkpO1xuICAgICAgICB0aGlzLnN0b3JlRmlsdGVycygpO1xuICAgIH1cblxuICAgIGdldFVybEZpbHRlcnNNYXAoKTogYW55IHtcbiAgICAgICAgY29uc3QgcGFyYW1TdHJpbmcgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdChcIj9cIilbMV07XG4gICAgICAgIGNvbnN0IHBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZnJvbVN0cmluZzogcGFyYW1TdHJpbmcgfSk7XG4gICAgICAgIGNvbnN0IHN0b3JlZEZpbHRlcnMgPSB0aGlzLmdldFN0b3JlZEZpbHRlcnMoKTtcbiAgICAgICAgY29uc3QgYXBwbGllZEZpbHRlcnNNYXAgPSB7fTtcblxuICAgICAgICBwYXJhbXMua2V5cygpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RvcmVkRmlsdGVyID0gc3RvcmVkRmlsdGVycy5maW5kKChmaWx0ZXIpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyLmNvbHVtbklkID09PSBrZXk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChzdG9yZWRGaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBhcHBsaWVkRmlsdGVyc01hcFtrZXldID0gc3RvcmVkRmlsdGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsOiBhbnkgPSBwYXJhbXMuZ2V0KGtleSk7XG4gICAgICAgICAgICAgICAgbGV0IHR5cGUgPSAnVEVYVElOUFVUJ1xuICAgICAgICAgICAgICAgIGxldCBsYWJlbCA9IHZhbDtcbiAgICAgICAgICAgICAgICBpZiAodmFsPy5zcGxpdCgnLCcpPy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IHZhbD8uc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSB2YWxbMF07XG4gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnQVRUUklCVVRFJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhcHBsaWVkRmlsdGVyc01hcFtrZXldID0ge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5JZDoga2V5LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogZGVjb2RlVVJJQ29tcG9uZW50KGxhYmVsKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyTmFtZToga2V5LFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBhcHBsaWVkRmlsdGVyc01hcDtcbiAgICB9XG5cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWlCaEQsTUFBTSxPQUFPLHNCQUFzQjtJQVcvQixZQUFvQixRQUFrQixFQUFVLE1BQWMsRUFBVSxjQUE4QjtRQUFsRixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVR0RyxZQUFPLEdBQWdCLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFdkQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFekQsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO0lBR3hCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBb0I7UUFDN0IsSUFBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxL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R0FBRztvQkFDVixLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDO29CQUNoQyxVQUFVLEVBQUUsR0FBRztvQkFDZixJQUFJLEVBQUUsSUFBSTtpQkFDYixDQUFDO2FBQ0w7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQzsrR0FqSVEsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7NEZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Zm9yRWFjaCwgaXNFbXB0eX0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJPYmogPSB7XG4gICAgZmlsdGVyTmFtZTogc3RyaW5nO1xuICAgIGNvbHVtbklkOiBzdHJpbmc7XG4gICAgdmFsdWU6IGFueTtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICB2ZXJiPzogc3RyaW5nXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlRmlsdGVyU2VydmljZSB7XG5cbiAgICBmaWx0ZXJzOiBGaWx0ZXJPYmpbXSA9IFtdO1xuICAgIGN1cnJlbnRQYWdlID0gMTtcbiAgICBmaWx0ZXJzQ2hhbmdlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyT2JqW10+KHRoaXMuZmlsdGVycyk7XG4gICAgcHVibGljIGZpbHRlcmluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcGFnZUNoYW5nZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odGhpcy5jdXJyZW50UGFnZSk7XG5cbiAgICBjdXJyZW50UXVlcnlQYXJhbXMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIH1cblxuICAgIHVwZGF0ZUZpbHRlcihmaWx0ZXJPYmo6IEZpbHRlck9iaikge1xuICAgICAgICBpZihpc0VtcHR5KGZpbHRlck9iai52YWx1ZSkgJiYgKGlzTmFOKGZpbHRlck9iai52YWx1ZSkgfHwgZmlsdGVyT2JqLnZhbHVlID09PSAnJykpIHRoaXMucmVtb3ZlRmlsdGVyKGZpbHRlck9iaik7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IGlzRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuZmlsdGVycy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyc1tpZHhdLmNvbHVtbklkID09PSBmaWx0ZXJPYmouY29sdW1uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJzW2lkeF0gPSBmaWx0ZXJPYmo7XG4gICAgICAgICAgICAgICAgICAgIGlzRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzRm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMucHVzaChmaWx0ZXJPYmopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlVXJsUGFyYW1ldGVycygpO1xuICAgICAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkLm5leHQodGhpcy5maWx0ZXJzKTtcbiAgICB9XG5cbiAgICByZW1vdmVGaWx0ZXIoZmlsdGVyT2JqOiBGaWx0ZXJPYmopIHtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5maWx0ZXJzLmxlbmd0aDsgaWR4KyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcnNbaWR4XS5jb2x1bW5JZCA9PT0gZmlsdGVyT2JqLmNvbHVtbklkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJzLnNwbGljZShpZHgsIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlVXJsUGFyYW1ldGVycyhbZmlsdGVyT2JqXSk7XG4gICAgICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQubmV4dCh0aGlzLmZpbHRlcnMpO1xuICAgIH1cblxuICAgIGdldEZpbHRlclN0cmluZyhrZXk6IHN0cmluZykge1xuICAgICAgICBsZXQgdmFsdWUgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5maWx0ZXJzLmxlbmd0aDsgaWR4KyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcnNbaWR4XS5jb2x1bW5JZCA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmZpbHRlcnNbaWR4XS52YWx1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZShwYWdlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMucGFnZUNoYW5nZWQubmV4dChwYWdlKTtcbiAgICB9XG5cbiAgICBjbGVhckZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZVVybFBhcmFtZXRlcnMoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJzQ2hhbmdlZC5uZXh0KHRoaXMuZmlsdGVycyk7XG4gICAgfVxuXG4gICAgc3RvcmVGaWx0ZXJzKCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc2VhcmNoX2ZpbHRlcnMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcnMpKTtcbiAgICB9XG5cbiAgICBnZXRTdG9yZWRGaWx0ZXJzKCkge1xuICAgICAgICBjb25zdCBzdG9yYWdlSXRlbSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzZWFyY2hfZmlsdGVycycpO1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gc3RvcmFnZUl0ZW0gPyBKU09OLnBhcnNlKHN0b3JhZ2VJdGVtKSA6IFtdO1xuICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG5cbiAgICB1cGRhdGVVcmxQYXJhbWV0ZXJzKGZpbHRlcnNUb1JlbW92ZTogYW55W10gPSBbXSkge1xuICAgICAgICBjb25zdCB1cmxGaWx0ZXJzTWFwID0gdGhpcy5nZXRVcmxGaWx0ZXJzTWFwKCk7XG4gICAgICAgIGxldCBwYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICAgICAgdXJsRmlsdGVyc01hcFtmaWx0ZXIuY29sdW1uSWRdID0gZmlsdGVyO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgbmV3RmlsdGVycyA9IFtdO1xuICAgICAgICBmb3JFYWNoKHVybEZpbHRlcnNNYXAsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJSZW1vdmVkID0gZmlsdGVyc1RvUmVtb3ZlLnNvbWUoKHJlbW92ZWQpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVtb3ZlZC5jb2x1bW5JZCA9PT0ga2V5O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGlmICghZmlsdGVyUmVtb3ZlZCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoa2V5LCB2YWx1ZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgbmV3RmlsdGVycy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmlsdGVycyA9IG5ld0ZpbHRlcnM7XG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci51cmwuc3BsaXQoXCI/XCIpWzBdO1xuICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZShwYXRoLCBwYXJhbXMudG9TdHJpbmcoKSk7XG4gICAgICAgIHRoaXMuc3RvcmVGaWx0ZXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0VXJsRmlsdGVyc01hcCgpOiBhbnkge1xuICAgICAgICBjb25zdCBwYXJhbVN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KFwiP1wiKVsxXTtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoeyBmcm9tU3RyaW5nOiBwYXJhbVN0cmluZyB9KTtcbiAgICAgICAgY29uc3Qgc3RvcmVkRmlsdGVycyA9IHRoaXMuZ2V0U3RvcmVkRmlsdGVycygpO1xuICAgICAgICBjb25zdCBhcHBsaWVkRmlsdGVyc01hcCA9IHt9O1xuXG4gICAgICAgIHBhcmFtcy5rZXlzKCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdG9yZWRGaWx0ZXIgPSBzdG9yZWRGaWx0ZXJzLmZpbmQoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXIuY29sdW1uSWQgPT09IGtleTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHN0b3JlZEZpbHRlcikge1xuICAgICAgICAgICAgICAgIGFwcGxpZWRGaWx0ZXJzTWFwW2tleV0gPSBzdG9yZWRGaWx0ZXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCB2YWw6IGFueSA9IHBhcmFtcy5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICBsZXQgdHlwZSA9ICdURVhUSU5QVVQnXG4gICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gdmFsO1xuICAgICAgICAgICAgICAgIGlmICh2YWw/LnNwbGl0KCcsJyk/Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsPy5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHZhbFswXTtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdBVFRSSUJVVEUnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFwcGxpZWRGaWx0ZXJzTWFwW2tleV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbklkOiBrZXksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBkZWNvZGVVUklDb21wb25lbnQobGFiZWwpLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJOYW1lOiBrZXksXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHR5cGVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFwcGxpZWRGaWx0ZXJzTWFwO1xuICAgIH1cblxufVxuIl19