@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.
- package/assets/fonts/icomoon.eot +0 -0
- package/assets/fonts/icomoon.svg +6 -1
- package/assets/fonts/icomoon.ttf +0 -0
- package/assets/fonts/icomoon.woff +0 -0
- package/assets/fonts/icomoon.woff2 +0 -0
- package/assets/styles/dark.css +15 -8
- package/assets/styles/global.scss +431 -24
- package/assets/styles/icons.scss +644 -0
- package/assets/svgs/Icon_Log_Logout.svg +43 -0
- package/assets/svgs/clients.svg +6 -0
- package/assets/svgs/ziti-logo.svg +23 -0
- package/esm2022/lib/ZAC_VERSION.mjs +4 -0
- package/esm2022/lib/default-app-config.mjs +5 -0
- package/esm2022/lib/features/card/card.component.mjs +4 -5
- package/esm2022/lib/features/card-list/card-list.component.mjs +2 -4
- package/esm2022/lib/features/config-editor/config-editor.component.mjs +2 -3
- package/esm2022/lib/features/confirm/confirm.component.mjs +4 -5
- package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +2 -3
- package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +4 -5
- package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +2 -3
- package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +2 -3
- package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +4 -5
- package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +2 -3
- package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +4 -5
- package/esm2022/lib/features/data-table/data-table-filter.service.mjs +2 -3
- package/esm2022/lib/features/data-table/data-table.component.mjs +4 -5
- package/esm2022/lib/features/data-table/data-table.service.mjs +2 -3
- package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +4 -5
- package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +2 -3
- package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +2 -3
- package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +4 -5
- package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +2 -3
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +2 -3
- package/esm2022/lib/features/extendable/extendable.component.mjs +2 -3
- package/esm2022/lib/features/extendable/extensions-noop.service.mjs +3 -3
- package/esm2022/lib/features/header-bar/header-bar.component.mjs +105 -0
- package/esm2022/lib/features/json-view/json-view.component.mjs +4 -5
- package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +2 -3
- package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +4 -5
- package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +2 -3
- package/esm2022/lib/features/login/login-dialog.component.mjs +10 -12
- package/esm2022/lib/features/messaging/growler.component.mjs +4 -5
- package/esm2022/lib/features/messaging/growler.module.mjs +2 -3
- package/esm2022/lib/features/messaging/growler.service.mjs +2 -3
- package/esm2022/lib/features/messaging/logger.service.mjs +2 -3
- package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +2 -3
- package/esm2022/lib/features/no-items/no-items.component.mjs +2 -3
- package/esm2022/lib/features/overrides/overrides.component.mjs +2 -3
- package/esm2022/lib/features/overrides/overrides.service.mjs +2 -3
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +4 -5
- package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +2 -3
- package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +2 -3
- package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +4 -8
- package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +34 -26
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +13 -14
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +6 -7
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +4 -5
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +6 -12
- package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +5 -12
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +36 -74
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +5 -8
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +57 -24
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +13 -14
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +6 -7
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +14 -15
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +9 -10
- package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +5 -9
- package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +4 -8
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +7 -11
- package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +2 -3
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +4 -5
- package/esm2022/lib/features/quick-add/quick-add.component.mjs +50 -0
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +4 -5
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +2 -3
- package/esm2022/lib/features/side-modal/side-modal.component.mjs +2 -3
- package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +127 -0
- package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +4 -5
- package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +4 -5
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +2 -3
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +2 -3
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +2 -3
- package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +2 -3
- package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +2 -3
- package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +2 -3
- package/esm2022/lib/pages/attributes/attributes.component.mjs +104 -0
- package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +2 -3
- package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +4 -4
- package/esm2022/lib/pages/callback/callback.component.mjs +2 -3
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +2 -3
- package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +2 -3
- package/esm2022/lib/pages/config-types/config-types-page.component.mjs +2 -3
- package/esm2022/lib/pages/config-types/config-types-page.service.mjs +2 -3
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +2 -3
- package/esm2022/lib/pages/configurations/configurations-page.service.mjs +2 -3
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +5 -16
- package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +2 -4
- package/esm2022/lib/pages/geolocate/geolocate.component.mjs +130 -0
- package/esm2022/lib/pages/identities/identities-page.component.mjs +5 -16
- package/esm2022/lib/pages/identities/identities-page.service.mjs +2 -3
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +2 -3
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +2 -3
- package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +3 -4
- package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +2 -3
- package/esm2022/lib/pages/profile/profile.component.mjs +58 -0
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +6 -13
- package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +2 -3
- package/esm2022/lib/pages/services/services-page.component.mjs +6 -13
- package/esm2022/lib/pages/services/services-page.service.mjs +2 -3
- package/esm2022/lib/pages/sessions/sessions-page.component.mjs +2 -3
- package/esm2022/lib/pages/sessions/sessions-page.service.mjs +2 -3
- package/esm2022/lib/pages/settings/settings.component.mjs +61 -0
- package/esm2022/lib/pages/terminators/terminators-page.component.mjs +3 -4
- package/esm2022/lib/pages/terminators/terminators-page.service.mjs +2 -3
- package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +5 -16
- package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +2 -3
- package/esm2022/lib/safe.pipe.mjs +2 -3
- package/esm2022/lib/services/auth.service.mjs +2 -3
- package/esm2022/lib/services/console-events.service.mjs +2 -14
- package/esm2022/lib/services/csv-download.service.mjs +2 -3
- package/esm2022/lib/services/deactivate-guard.service.mjs +2 -3
- package/esm2022/lib/services/login-service.class.mjs +2 -3
- package/esm2022/lib/services/node-data.service.mjs +24 -3
- package/esm2022/lib/services/noop-login.service.mjs +2 -3
- package/esm2022/lib/services/schema.service.mjs +2 -3
- package/esm2022/lib/services/settings-service.class.mjs +5 -18
- package/esm2022/lib/services/settings.service.mjs +14 -11
- package/esm2022/lib/services/tab-name.service.mjs +9 -6
- package/esm2022/lib/services/validation.service.mjs +2 -3
- package/esm2022/lib/services/ziti-controller-data.service.mjs +21 -6
- package/esm2022/lib/services/ziti-data.service.mjs +5 -5
- package/esm2022/lib/shared/list-page-component.class.mjs +6 -3
- package/esm2022/lib/shared/list-page-service.class.mjs +2 -3
- package/esm2022/lib/zac-routing.module.mjs +3 -10
- package/esm2022/lib/ziti-console-lib.module.mjs +43 -24
- package/esm2022/lib/ziti-console.constants.mjs +2 -1
- package/esm2022/public-api.mjs +9 -8
- package/fesm2022/openziti-ziti-console-lib.mjs +3547 -4342
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/ZAC_VERSION.d.ts +4 -0
- package/lib/ZAC_VERSION.d.ts.map +1 -0
- package/lib/default-app-config.d.ts +9 -0
- package/lib/default-app-config.d.ts.map +1 -0
- package/lib/features/card-list/card-list.component.d.ts +0 -1
- package/lib/features/card-list/card-list.component.d.ts.map +1 -1
- package/lib/features/extendable/extensions-noop.service.d.ts +2 -0
- package/lib/features/extendable/extensions-noop.service.d.ts.map +1 -1
- package/lib/features/header-bar/header-bar.component.d.ts +29 -0
- package/lib/features/header-bar/header-bar.component.d.ts.map +1 -0
- package/lib/features/login/login-dialog.component.d.ts +2 -1
- package/lib/features/login/login-dialog.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +1 -2
- package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +6 -3
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +2 -2
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +2 -2
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/projectable-form.class.d.ts +11 -7
- package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +9 -2
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +2 -2
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts +2 -2
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +2 -2
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +4 -4
- package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/session/session-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/session/session-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +1 -1
- package/lib/features/quick-add/quick-add.component.d.ts +15 -0
- package/lib/features/quick-add/quick-add.component.d.ts.map +1 -0
- package/lib/features/side-navigator/side-navigator.component.d.ts +33 -0
- package/lib/features/side-navigator/side-navigator.component.d.ts.map +1 -0
- package/lib/pages/attributes/attributes.component.d.ts +31 -0
- package/lib/pages/attributes/attributes.component.d.ts.map +1 -0
- package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +1 -3
- package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts +1 -3
- package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +1 -1
- package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
- package/lib/pages/geolocate/geolocate.component.d.ts +32 -0
- package/lib/pages/geolocate/geolocate.component.d.ts.map +1 -0
- package/lib/pages/identities/identities-page.component.d.ts +1 -3
- package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
- package/lib/pages/profile/profile.component.d.ts +17 -0
- package/lib/pages/profile/profile.component.d.ts.map +1 -0
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +1 -3
- package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +1 -1
- package/lib/pages/service-policies/service-policies-page.component.d.ts +1 -3
- package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -1
- package/lib/pages/services/services-page.component.d.ts +1 -3
- package/lib/pages/services/services-page.component.d.ts.map +1 -1
- package/lib/pages/settings/settings.component.d.ts +23 -0
- package/lib/pages/settings/settings.component.d.ts.map +1 -0
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts +1 -3
- package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +1 -1
- package/lib/services/console-events.service.d.ts.map +1 -1
- package/lib/services/node-data.service.d.ts +1 -0
- package/lib/services/node-data.service.d.ts.map +1 -1
- package/lib/services/settings-service.class.d.ts +0 -2
- package/lib/services/settings-service.class.d.ts.map +1 -1
- package/lib/services/settings.service.d.ts.map +1 -1
- package/lib/services/tab-name.service.d.ts.map +1 -1
- package/lib/services/ziti-controller-data.service.d.ts +2 -1
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +2 -1
- package/lib/services/ziti-data.service.d.ts.map +1 -1
- package/lib/shared/list-page-component.class.d.ts.map +1 -1
- package/lib/zac-routing.module.d.ts.map +1 -1
- package/lib/ziti-console-lib.module.d.ts +114 -110
- package/lib/ziti-console-lib.module.d.ts.map +1 -1
- package/lib/ziti-console.constants.d.ts +1 -0
- package/lib/ziti-console.constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +8 -7
- package/public-api.d.ts.map +1 -1
- package/assets/components/add.html +0 -1
- package/assets/components/api.html +0 -12
- package/assets/components/customtags.html +0 -4
- package/assets/components/line.html +0 -1
- package/assets/components/noitems.html +0 -1
- package/assets/components/save.html +0 -4
- package/assets/components/search.html +0 -8
- package/assets/components/tabIdentities.html +0 -5
- package/assets/components/tabPolicies.html +0 -7
- package/assets/components/tabRouters.html +0 -5
- package/assets/components/tabServers.html +0 -4
- package/assets/components/tabServices.html +0 -6
- package/assets/components/tabSessions.html +0 -4
- package/assets/data/mail.json +0 -0
- package/assets/data/services.json +0 -6
- package/assets/data/site.json +0 -31
- package/assets/data/tags.json +0 -7
- package/assets/data/templates.json +0 -1
- package/assets/fonts/zac.eot +0 -0
- package/assets/fonts/zac.svg +0 -57
- package/assets/fonts/zac.ttf +0 -0
- package/assets/fonts/zac.woff +0 -0
- package/assets/fonts/zac.woff2 +0 -0
- package/assets/html/api-sessions.htm +0 -152
- package/assets/html/attributes.htm +0 -260
- package/assets/html/auth-policies.htm +0 -410
- package/assets/html/cas.htm +0 -439
- package/assets/html/config-types.htm +0 -167
- package/assets/html/configs.htm +0 -238
- package/assets/html/deprecated/fabric-links.htm +0 -336
- package/assets/html/deprecated/fabric-routers.htm +0 -72
- package/assets/html/deprecated/fabric-services.htm +0 -494
- package/assets/html/identities.htm +0 -934
- package/assets/html/index.htm +0 -222
- package/assets/html/jwt-signers.htm +0 -260
- package/assets/html/known.htm +0 -115
- package/assets/html/login.htm +0 -131
- package/assets/html/organization.htm +0 -223
- package/assets/html/posture-checks.htm +0 -393
- package/assets/html/profile.htm +0 -52
- package/assets/html/recipes.htm +0 -455
- package/assets/html/router-policies.htm +0 -168
- package/assets/html/routers.htm +0 -323
- package/assets/html/servers.htm +0 -236
- package/assets/html/service-policies.htm +0 -197
- package/assets/html/service-router-policies.htm +0 -170
- package/assets/html/services.htm +0 -634
- package/assets/html/sessions.htm +0 -157
- package/assets/html/settings.htm +0 -146
- package/assets/html/terminators.htm +0 -244
- package/assets/html/transit-routers.htm +0 -173
- package/assets/resources/avatar/man.svg +0 -78
- package/assets/resources/avatar/woman.svg +0 -96
- package/assets/resources/icon/analysis.svg +0 -104
- package/assets/resources/icon/appwans.svg +0 -20
- package/assets/resources/icon/architecture.svg +0 -1
- package/assets/resources/icon/bike.svg +0 -94
- package/assets/resources/icon/bus.svg +0 -64
- package/assets/resources/icon/cas.svg +0 -46
- package/assets/resources/icon/clusters.svg +0 -28
- package/assets/resources/icon/computer.svg +0 -1
- package/assets/resources/icon/data.svg +0 -1
- package/assets/resources/icon/delivery-truck.svg +0 -1
- package/assets/resources/icon/explosion.svg +0 -81
- package/assets/resources/icon/fabricServices.svg +0 -31
- package/assets/resources/icon/fabrics.svg +0 -136
- package/assets/resources/icon/front.svg +0 -83
- package/assets/resources/icon/gateway.svg +0 -49
- package/assets/resources/icon/gear.svg +0 -122
- package/assets/resources/icon/house.svg +0 -72
- package/assets/resources/icon/language.svg +0 -1
- package/assets/resources/icon/objective.svg +0 -55
- package/assets/resources/icon/route.svg +0 -97
- package/assets/resources/icon/routers.svg +0 -27
- package/assets/resources/icon/startup.svg +0 -112
- package/assets/resources/icon/switch.svg +0 -101
- package/assets/scripts/chart.min.js +0 -7
- package/assets/scripts/commands.js +0 -112
- package/assets/scripts/components/codemirror/codemirror.css +0 -356
- package/assets/scripts/components/codemirror/codemirror.js +0 -9741
- package/assets/scripts/components/codemirror/modes/addons/closetags.js +0 -200
- package/assets/scripts/components/codemirror/modes/addons/colorize.js +0 -40
- package/assets/scripts/components/codemirror/modes/addons/css-hint.js +0 -66
- package/assets/scripts/components/codemirror/modes/addons/formatting.js +0 -124
- package/assets/scripts/components/codemirror/modes/addons/html-hint.js +0 -366
- package/assets/scripts/components/codemirror/modes/addons/javascript-hint.js +0 -159
- package/assets/scripts/components/codemirror/modes/addons/show-hint.css +0 -36
- package/assets/scripts/components/codemirror/modes/addons/show-hint.js +0 -482
- package/assets/scripts/components/codemirror/modes/css.js +0 -831
- package/assets/scripts/components/codemirror/modes/htmlmixed.js +0 -152
- package/assets/scripts/components/codemirror/modes/javascript.js +0 -930
- package/assets/scripts/components/codemirror/modes/xml.js +0 -413
- package/assets/scripts/components/column.css +0 -184
- package/assets/scripts/components/column.js +0 -165
- package/assets/scripts/components/flows.css +0 -0
- package/assets/scripts/components/flows.js +0 -48
- package/assets/scripts/components/moment.js +0 -4602
- package/assets/scripts/components/multiselect.js +0 -333
- package/assets/scripts/components/resources.js +0 -26
- package/assets/scripts/components/selector-new.js +0 -300
- package/assets/scripts/components/selector.js +0 -300
- package/assets/scripts/components/spectrum.js +0 -2323
- package/assets/scripts/components/timezone.js +0 -1545
- package/assets/scripts/context.js +0 -177
- package/assets/scripts/dragging.js +0 -58
- package/assets/scripts/forms/forms.js +0 -74
- package/assets/scripts/forms/host.v1.htm +0 -43
- package/assets/scripts/forms/intercept.v1.htm +0 -0
- package/assets/scripts/forms/schema.js +0 -693
- package/assets/scripts/growler.js +0 -137
- package/assets/scripts/header.js +0 -163
- package/assets/scripts/jquery-3.6.3.min.js +0 -2
- package/assets/scripts/jquery.datetimepicker.js +0 -2930
- package/assets/scripts/locale.js +0 -47
- package/assets/scripts/modal.js +0 -65
- package/assets/scripts/model/data.js +0 -558
- package/assets/scripts/model/fabric.js +0 -55
- package/assets/scripts/model/fabricServices.js +0 -45
- package/assets/scripts/model/known.js +0 -43
- package/assets/scripts/model/links.js +0 -44
- package/assets/scripts/model/routers.js +0 -51
- package/assets/scripts/model/series.js +0 -70
- package/assets/scripts/model/sessions.js +0 -61
- package/assets/scripts/model/settings.js +0 -60
- package/assets/scripts/model/summary.js +0 -49
- package/assets/scripts/model/tags.js +0 -310
- package/assets/scripts/model/templates.js +0 -42
- package/assets/scripts/model/user.js +0 -40
- package/assets/scripts/restrictions.js +0 -34
- package/assets/scripts/service.js +0 -76
- package/assets/scripts/validation-tools.js +0 -5119
- package/assets/scripts/ziti.js +0 -372
- package/assets/styles/chart.min.css +0 -1
- package/assets/styles/datetimepicker.css +0 -1
- package/assets/styles/forms.css +0 -521
- package/assets/styles/growler.css +0 -190
- package/assets/styles/header.css +0 -232
- package/assets/styles/icons.css +0 -182
- package/assets/styles/navigation.css +0 -183
- package/assets/styles/select2.css +0 -481
- package/assets/styles/spectrum.css +0 -507
- package/assets/styles/tables.css +0 -449
- package/assets/styles/tooltip.css +0 -134
- package/assets/styles/ziti.css +0 -3271
- package/assets/templates/footer.htm +0 -183
- package/assets/templates/header.htm +0 -297
- package/esm2022/lib/features/sidebars/side-banner/side-banner.component.mjs +0 -17
- package/esm2022/lib/features/sidebars/side-toolbar/side-toolbar.component.mjs +0 -129
- package/esm2022/lib/features/wrappers/node-wrapper.service.mjs +0 -51
- package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +0 -95
- package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +0 -148
- package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +0 -981
- package/esm2022/lib/version.mjs +0 -4
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts +0 -7
- package/lib/features/sidebars/side-banner/side-banner.component.d.ts.map +0 -1
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts +0 -34
- package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts.map +0 -1
- package/lib/features/wrappers/node-wrapper.service.d.ts +0 -24
- package/lib/features/wrappers/node-wrapper.service.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts +0 -38
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper.component.d.ts +0 -31
- package/lib/features/wrappers/zac-wrapper.component.d.ts.map +0 -1
- package/lib/features/wrappers/zac-wrapper.service.d.ts +0 -58
- package/lib/features/wrappers/zac-wrapper.service.d.ts.map +0 -1
- package/lib/version.d.ts +0 -4
- package/lib/version.d.ts.map +0 -1
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, Inject, Injectable, InjectionToken } from "@angular/core";
|
|
2
|
-
import { ZITI_DOMAIN_CONTROLLER } from "../../services/ziti-domain-controller.service";
|
|
3
|
-
import { ZITI_URLS } from "../../ziti-console.constants";
|
|
4
|
-
import { SETTINGS_SERVICE } from "../../services/settings.service";
|
|
5
|
-
import { Subscription } from "rxjs";
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
import * as i2 from "@angular/router";
|
|
9
|
-
import * as i3 from "../messaging/growler.service";
|
|
10
|
-
import * as i4 from "../messaging/logger.service";
|
|
11
|
-
import * as i5 from "../../services/validation.service";
|
|
12
|
-
import * as i6 from "../../services/settings.service";
|
|
13
|
-
export const ZAC_WRAPPER_SERVICE = new InjectionToken('ZAC_WRAPPER_SERVICE');
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
const { $, tags } = window;
|
|
16
|
-
class ZacWrapperServiceClass {
|
|
17
|
-
constructor(zitiDomainController, URLS, settingsService, http, router, growlerService, loggerService, validationService) {
|
|
18
|
-
this.zitiDomainController = zitiDomainController;
|
|
19
|
-
this.URLS = URLS;
|
|
20
|
-
this.settingsService = settingsService;
|
|
21
|
-
this.http = http;
|
|
22
|
-
this.router = router;
|
|
23
|
-
this.growlerService = growlerService;
|
|
24
|
-
this.loggerService = loggerService;
|
|
25
|
-
this.validationService = validationService;
|
|
26
|
-
this.zitiUpdated = new EventEmitter();
|
|
27
|
-
this.pageChanged = new EventEmitter();
|
|
28
|
-
this.subscription = new Subscription();
|
|
29
|
-
this.page = '';
|
|
30
|
-
this.scriptsAdded = false;
|
|
31
|
-
this.zacInit = false;
|
|
32
|
-
}
|
|
33
|
-
initZACPersonalSettings() {
|
|
34
|
-
if (!this.settingsService?.supportedFeatures?.tags) {
|
|
35
|
-
localStorage.setItem("hideTags", "yes");
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
localStorage.removeItem("hideTags");
|
|
39
|
-
}
|
|
40
|
-
if (localStorage.getItem("primaryColor") != null) {
|
|
41
|
-
document.documentElement.style.setProperty("--primary", localStorage.getItem("primaryColor"));
|
|
42
|
-
}
|
|
43
|
-
if (localStorage.getItem("secondaryColor") != null) {
|
|
44
|
-
document.documentElement.style.setProperty("--secondary", localStorage.getItem("secondaryColor"));
|
|
45
|
-
}
|
|
46
|
-
var mode = localStorage.getItem("Transitions");
|
|
47
|
-
if (mode == "off") {
|
|
48
|
-
document.documentElement.style.setProperty("--transition", "0s");
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
document.documentElement.style.setProperty("--transition", "0.5s");
|
|
52
|
-
}
|
|
53
|
-
$(document).ready((e) => {
|
|
54
|
-
$(".personal").show();
|
|
55
|
-
if (!this.settingsService?.supportedFeatures?.tags) {
|
|
56
|
-
$("#HideTags").parent().hide();
|
|
57
|
-
$('<div></div>').insertBefore($("#HideTags").parent().siblings()[3]);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
resetZacEvents() {
|
|
62
|
-
$("input").off("keyup");
|
|
63
|
-
$("select").off("keyup");
|
|
64
|
-
$(".toggle").off("click");
|
|
65
|
-
$("body").off("keyup");
|
|
66
|
-
$("#SServiceName").off('keyup');
|
|
67
|
-
$("#SServiceHost").off('keyup');
|
|
68
|
-
$("#CreateButton").off('click');
|
|
69
|
-
$("#CreateIdButton").off('click');
|
|
70
|
-
$("#IdentityDownload").off('click');
|
|
71
|
-
$("#DoneIdButton").off('click');
|
|
72
|
-
$("#DoneServiceButton").off('click');
|
|
73
|
-
$("#InlineAddIdentityButton").off('click');
|
|
74
|
-
$("#InlineAddServiceButton").off('click');
|
|
75
|
-
$("#AlertButton").off('click');
|
|
76
|
-
tags.tagData = [];
|
|
77
|
-
}
|
|
78
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacWrapperServiceClass, deps: [{ token: ZITI_DOMAIN_CONTROLLER }, { token: ZITI_URLS }, { token: SETTINGS_SERVICE }, { token: i1.HttpClient }, { token: i2.Router }, { token: i3.GrowlerService }, { token: i4.LoggerService }, { token: i5.ValidationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacWrapperServiceClass, providedIn: 'root' }); }
|
|
80
|
-
}
|
|
81
|
-
export { ZacWrapperServiceClass };
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacWrapperServiceClass, decorators: [{
|
|
83
|
-
type: Injectable,
|
|
84
|
-
args: [{ providedIn: 'root' }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [ZITI_DOMAIN_CONTROLLER]
|
|
88
|
-
}] }, { type: undefined, decorators: [{
|
|
89
|
-
type: Inject,
|
|
90
|
-
args: [ZITI_URLS]
|
|
91
|
-
}] }, { type: i6.SettingsService, decorators: [{
|
|
92
|
-
type: Inject,
|
|
93
|
-
args: [SETTINGS_SERVICE]
|
|
94
|
-
}] }, { type: i1.HttpClient }, { type: i2.Router }, { type: i3.GrowlerService }, { type: i4.LoggerService }, { type: i5.ValidationService }]; } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFjLXdyYXBwZXItc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy93cmFwcGVycy96YWMtd3JhcHBlci1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFDLHNCQUFzQixFQUE4QixNQUFNLCtDQUErQyxDQUFDO0FBQ2xILE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFLbEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXlCLHFCQUFxQixDQUFDLENBQUM7QUFFckcsYUFBYTtBQUNiLE1BQU0sRUFBQyxDQUFDLEVBQUUsSUFBSSxFQUFDLEdBQUcsTUFBTSxDQUFDO0FBRXpCLE1BQ3NCLHNCQUFzQjtJQVV4QyxZQUM4QyxvQkFBaUQsRUFDOUQsSUFBUyxFQUNGLGVBQWdDLEVBQzFELElBQWdCLEVBQ2hCLE1BQWMsRUFDZCxjQUE4QixFQUM5QixhQUE0QixFQUM1QixpQkFBb0M7UUFQSix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTZCO1FBQzlELFNBQUksR0FBSixJQUFJLENBQUs7UUFDRixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDMUQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHNC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O1FBQ2xDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FyRWlCLHNCQUFzQixrQkFXNUIsc0JBQXNCLGFBQ3RCLFNBQVMsYUFDVCxnQkFBZ0I7bUhBYlYsc0JBQXNCLGNBRG5CLE1BQU07O1NBQ1Qsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzswQkFZdkIsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7WklUSV9ET01BSU5fQ09OVFJPTExFUiwgWml0aURvbWFpbkNvbnRyb2xsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMveml0aS1kb21haW4tY29udHJvbGxlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1pJVElfVVJMU30gZnJvbSBcIi4uLy4uL3ppdGktY29uc29sZS5jb25zdGFudHNcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uL21lc3NhZ2luZy9sb2dnZXIuc2VydmljZVwiO1xuaW1wb3J0IHtWYWxpZGF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZVwiO1xuXG5leHBvcnQgY29uc3QgWkFDX1dSQVBQRVJfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxaYWNXcmFwcGVyU2VydmljZUNsYXNzPignWkFDX1dSQVBQRVJfU0VSVklDRScpO1xuXG4vLyBAdHMtaWdub3JlXG5jb25zdCB7JCwgdGFnc30gPSB3aW5kb3c7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFphY1dyYXBwZXJTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcm9vdFJlc291cmNlQWRkcmVzczogc3RyaW5nO1xuICAgIHppdGlVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIHBhZ2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHBhZ2UgPSAnJztcbiAgICBzY3JpcHRzQWRkZWQgPSBmYWxzZTtcbiAgICB6YWNJbml0ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChaSVRJX0RPTUFJTl9DT05UUk9MTEVSKSBwcm90ZWN0ZWQgeml0aURvbWFpbkNvbnRyb2xsZXI6IFppdGlEb21haW5Db250cm9sbGVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChaSVRJX1VSTFMpIHByb3RlY3RlZCBVUkxTOiBhbnksXG4gICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgcHJvdGVjdGVkIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcm90ZWN0ZWQgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHZhbGlkYXRpb25TZXJ2aWNlOiBWYWxpZGF0aW9uU2VydmljZVxuICAgICkge31cblxuICAgIHB1YmxpYyBhYnN0cmFjdCBpbml0WmFjKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGxvYWRDdXJyZW50UGFnZSgpXG4gICAgcHVibGljIGFic3RyYWN0IGluaXRaQUNCdXR0b25MaXN0ZW5lcigpO1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBpbml0WmFjTGlzdGVuZXJzKCk7XG5cbiAgICBpbml0WkFDUGVyc29uYWxTZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNldHRpbmdzU2VydmljZT8uc3VwcG9ydGVkRmVhdHVyZXM/LnRhZ3MpIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGlkZVRhZ3NcIiwgXCJ5ZXNcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcImhpZGVUYWdzXCIpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwicHJpbWFyeUNvbG9yXCIpIT1udWxsKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLXByaW1hcnlcIiwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJwcmltYXJ5Q29sb3JcIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInNlY29uZGFyeUNvbG9yXCIpIT1udWxsKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLXNlY29uZGFyeVwiLCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInNlY29uZGFyeUNvbG9yXCIpKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbW9kZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiVHJhbnNpdGlvbnNcIik7XG4gICAgICAgIGlmIChtb2RlPT1cIm9mZlwiKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLXRyYW5zaXRpb25cIiwgXCIwc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tdHJhbnNpdGlvblwiLCBcIjAuNXNcIik7XG4gICAgICAgIH1cbiAgICAgICAgJChkb2N1bWVudCkucmVhZHkoKGUpID0+IHtcbiAgICAgICAgICAgICQoXCIucGVyc29uYWxcIikuc2hvdygpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLnNldHRpbmdzU2VydmljZT8uc3VwcG9ydGVkRmVhdHVyZXM/LnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAkKFwiI0hpZGVUYWdzXCIpLnBhcmVudCgpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAkKCc8ZGl2PjwvZGl2PicpLmluc2VydEJlZm9yZSgkKFwiI0hpZGVUYWdzXCIpLnBhcmVudCgpLnNpYmxpbmdzKClbM10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXNldFphY0V2ZW50cygpIHtcbiAgICAgICAgJChcImlucHV0XCIpLm9mZihcImtleXVwXCIpO1xuICAgICAgICAkKFwic2VsZWN0XCIpLm9mZihcImtleXVwXCIpO1xuICAgICAgICAkKFwiLnRvZ2dsZVwiKS5vZmYoXCJjbGlja1wiKTtcbiAgICAgICAgJChcImJvZHlcIikub2ZmKFwia2V5dXBcIik7XG4gICAgICAgICQoXCIjU1NlcnZpY2VOYW1lXCIpLm9mZigna2V5dXAnKTtcbiAgICAgICAgJChcIiNTU2VydmljZUhvc3RcIikub2ZmKCdrZXl1cCcpO1xuICAgICAgICAkKFwiI0NyZWF0ZUJ1dHRvblwiKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoXCIjQ3JlYXRlSWRCdXR0b25cIikub2ZmKCdjbGljaycpO1xuICAgICAgICAkKFwiI0lkZW50aXR5RG93bmxvYWRcIikub2ZmKCdjbGljaycpO1xuICAgICAgICAkKFwiI0RvbmVJZEJ1dHRvblwiKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoXCIjRG9uZVNlcnZpY2VCdXR0b25cIikub2ZmKCdjbGljaycpO1xuICAgICAgICAkKFwiI0lubGluZUFkZElkZW50aXR5QnV0dG9uXCIpLm9mZignY2xpY2snKTtcbiAgICAgICAgJChcIiNJbmxpbmVBZGRTZXJ2aWNlQnV0dG9uXCIpLm9mZignY2xpY2snKTtcbiAgICAgICAgJChcIiNBbGVydEJ1dHRvblwiKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgIHRhZ3MudGFnRGF0YSA9IFtdO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
Copyright NetFoundry Inc.
|
|
3
|
-
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
you may not use this file except in compliance with the License.
|
|
6
|
-
You may obtain a copy of the License at
|
|
7
|
-
|
|
8
|
-
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
|
|
10
|
-
Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
See the License for the specific language governing permissions and
|
|
14
|
-
limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, Inject, ViewChild } from '@angular/core';
|
|
17
|
-
import { NavigationEnd } from '@angular/router';
|
|
18
|
-
import { ZAC_WRAPPER_SERVICE } from "./zac-wrapper-service.class";
|
|
19
|
-
import { cloneDeep, invoke, defer, set, get } from 'lodash';
|
|
20
|
-
import { Subscription } from "rxjs";
|
|
21
|
-
import { SETTINGS_SERVICE } from "../../services/settings.service";
|
|
22
|
-
import { ZAC_LOGIN_SERVICE } from "../../services/login-service.class";
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "../messaging/logger.service";
|
|
25
|
-
import * as i2 from "@angular/router";
|
|
26
|
-
import * as i3 from "@angular/common";
|
|
27
|
-
import * as i4 from "@angular/forms";
|
|
28
|
-
import * as i5 from "../loading-indicator/loading-indicator.component";
|
|
29
|
-
import * as i6 from "../../safe.pipe";
|
|
30
|
-
import * as i7 from "./zac-wrapper-service.class";
|
|
31
|
-
import * as i8 from "../../services/settings.service";
|
|
32
|
-
import * as i9 from "../../services/login-service.class";
|
|
33
|
-
const context = window['context'];
|
|
34
|
-
class ZacWrapperComponent {
|
|
35
|
-
constructor(wrapperService, settingsService, loggerService, loginService, router) {
|
|
36
|
-
this.wrapperService = wrapperService;
|
|
37
|
-
this.settingsService = settingsService;
|
|
38
|
-
this.loggerService = loggerService;
|
|
39
|
-
this.loginService = loginService;
|
|
40
|
-
this.router = router;
|
|
41
|
-
this.loading = false;
|
|
42
|
-
this.pageHtml = '';
|
|
43
|
-
this.subscription = new Subscription();
|
|
44
|
-
this.title = 'Ziti Console';
|
|
45
|
-
this.waitingForSession = true;
|
|
46
|
-
this.pageLoading = false;
|
|
47
|
-
this.settings = {};
|
|
48
|
-
}
|
|
49
|
-
ngOnInit() {
|
|
50
|
-
this.wrapperService.initZac();
|
|
51
|
-
this.subscription.add(this.wrapperService.pageChanged.subscribe(() => {
|
|
52
|
-
if (this.waitingForSession) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
this.loadPage();
|
|
56
|
-
}));
|
|
57
|
-
this.subscription.add(this.wrapperService.zitiUpdated.subscribe(() => {
|
|
58
|
-
if (this.waitingForSession) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.loadPage();
|
|
62
|
-
}));
|
|
63
|
-
this.subscription.add(this.settingsService.settingsChange.subscribe(async (results) => {
|
|
64
|
-
const hasSession = this.settingsService.hasSession();
|
|
65
|
-
const controllerChanged = this.settings?.session?.controllerDomain !== results?.session?.controllerDomain;
|
|
66
|
-
if (hasSession && (!this.pageLoading || controllerChanged)) {
|
|
67
|
-
this.pageLoading = true;
|
|
68
|
-
this.pageHtml = undefined;
|
|
69
|
-
defer(async () => {
|
|
70
|
-
await this.loadPage();
|
|
71
|
-
this.waitingForSession = false;
|
|
72
|
-
this.pageLoading = false;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
this.settings = cloneDeep(results);
|
|
76
|
-
}));
|
|
77
|
-
this.subscription.add(this.router.events.subscribe((event) => {
|
|
78
|
-
if (event instanceof NavigationEnd) {
|
|
79
|
-
this.loadPage();
|
|
80
|
-
}
|
|
81
|
-
}));
|
|
82
|
-
defer(() => {
|
|
83
|
-
this.wrapperService.initZACButtonListener();
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
ngOnDestroy() {
|
|
87
|
-
this.subscription.unsubscribe();
|
|
88
|
-
this.pageHtml = undefined;
|
|
89
|
-
}
|
|
90
|
-
async loadPage() {
|
|
91
|
-
this.pageHtml = await this.wrapperService.loadCurrentPage();
|
|
92
|
-
defer(() => {
|
|
93
|
-
this.wrapperService.resetZacEvents();
|
|
94
|
-
this.executePageScripts();
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
executePageScripts() {
|
|
98
|
-
const scripts = this.zacContainer.nativeElement.getElementsByTagName('script');
|
|
99
|
-
for (const script of scripts) {
|
|
100
|
-
const scriptCopy = document.createElement('script');
|
|
101
|
-
scriptCopy.type = script.type ? script.type : 'text/javascript';
|
|
102
|
-
if (script.innerHTML) {
|
|
103
|
-
scriptCopy.innerHTML = script.innerHTML;
|
|
104
|
-
}
|
|
105
|
-
else if (script.src) {
|
|
106
|
-
scriptCopy.src = script.src;
|
|
107
|
-
}
|
|
108
|
-
scriptCopy.async = false;
|
|
109
|
-
script.parentNode.replaceChild(scriptCopy, script);
|
|
110
|
-
}
|
|
111
|
-
defer(() => {
|
|
112
|
-
try {
|
|
113
|
-
set(window, 'context.items', []);
|
|
114
|
-
set(window, 'context.watchers', []);
|
|
115
|
-
set(window, 'context.eventWatchers', []);
|
|
116
|
-
invoke(window, 'app.init');
|
|
117
|
-
context.addListener(get(window, 'page.filterObject.name', 'identities'), this.wrapperService.initZACButtonListener);
|
|
118
|
-
this.wrapperService.initZACPersonalSettings();
|
|
119
|
-
}
|
|
120
|
-
catch (err) {
|
|
121
|
-
this.loggerService.error('error initializing page scripts');
|
|
122
|
-
}
|
|
123
|
-
finally {
|
|
124
|
-
this.loading = false;
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacWrapperComponent, deps: [{ token: ZAC_WRAPPER_SERVICE }, { token: SETTINGS_SERVICE }, { token: i1.LoggerService }, { token: ZAC_LOGIN_SERVICE }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ZacWrapperComponent, selector: "app-zac-wrapper", viewQueries: [{ propertyName: "zacContainer", first: true, predicate: ["zacContainer"], descendants: true }], ngImport: i0, template: "<div class=\"zac-wrapper-container\" [innerHTML]=\"pageHtml | safe\" #zacContainer [ngClass]=\"{'hidden': pageLoading}\"></div>\n<!-- Operational Wizard UI -->\n<div id=\"WizardModal\" class=\"modal box\">\n <div class=\"close icon-close\"></div>\n <div class=\"title\" data-i18n=\"ZitiWizard\"></div>\n <div class=\"subtitle\" data-i18n=\"WizardService\"></div>\n <div class=\"wizard area open\">\n <label for=\"WServiceName\" data-i18n=\"ServiceName\"></label>\n <input id=\"WServiceName\" type=\"text\" maxlength=\"100\" />\n <label for=\"WServiceRoles\"></label>\n </div>\n <div></div>\n</div>\n\n\n<!-- Add Any Modal UI -->\n<div id=\"AddAnyModal\" class=\"modal box\" style=\"height: fit-content; width: 600px; transition: var(--transition);\" [ngClass]=\"{'hidden': pageLoading}\">\n <div class=\"close icon-close\"></div>\n <div id=\"Select1\">\n <div class=\"title\" data-i18n=\"AddTitle\"></div>\n <div id=\"Selector\" class=\"grid dual\">\n <div id=\"InlineAddIdentityButton\" class=\"iconButton\">\n <div class=\"image icon-identity\"></div>\n <div class=\"label\" data-i18n=\"AddIdentity\"></div>\n </div>\n <div id=\"InlineAddServiceButton\" class=\"iconButton\">\n <div class=\"image icon-services\"></div>\n <div class=\"label\" data-i18n=\"AddService\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"InlineIdentityArea\" style=\"display: none;\" class=\"anyadd\">\n <div class=\"title\" data-i18n=\"AddSimpleIdentity\"></div>\n <div id=\"IdentityLoader\" class=\"center\" style=\"display: none;\">\n <div class=\"lds-ripple\"><div></div><div></div></div>\n </div>\n <div id=\"Identity1\" class=\"anyid\">\n <label for=\"IdName\" data-i18n=\"Name\"></label>\n <input id=\"IdName\" type=\"text\" maxlength=\"50\" data-i18n=\"EnterName\" />\n <label for=\"IdRoles\" data-i18n=\"RoleAttributes\"></label>\n <div id=\"IdRoles\"></div>\n <div class=\"buttons\">\n <div></div>\n <div id=\"CreateIdButton\" class=\"button\" data-i18n=\"Create\"></div>\n </div>\n </div>\n <div id=\"Identity2\" style=\"display: none;\" class=\"anyid\">\n <div class=\"center\">\n <div id=\"IdentityQrCode\"></div>\n </div>\n <div id=\"IdentityDownload\" class=\"linkButton\" data-i18n=\"DownloadJWT\"></div>\n <div class=\"center\">\n <div id=\"DoneIdButton\" class=\"button\" data-i18n=\"Done\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"InlineServiceArea\" style=\"display: none;\" class=\"anyadd\">\n <div class=\"title\" data-i18n=\"AddSimpleService\"></div>\n <div id=\"SServiceLoader\" class=\"center\" style=\"display: none;\">\n <div class=\"lds-ripple\"><div></div><div></div></div>\n </div>\n <div id=\"Service1\" class=\"anyservice\">\n <label for=\"SServiceName\" data-i18n=\"ServiceName\"></label>\n <input id=\"SServiceName\" type=\"text\" maxlength=\"50\" data-i18n=\"EnterName\" />\n <label for=\"WhereHosted\" data-i18n=\"WhereHosted\"></label>\n <div id=\"WhereHosted\"></div>\n <label for=\"WhatIsIt\" data-i18n=\"WhatShare\"></label>\n <div class=\"grid addressFull\">\n <select id=\"HostedProtocol\">\n <option value=\"tcp\">tcp</option>\n <option value=\"udp\">udp</option>\n </select>\n <input id=\"HostedHost\" type=\"text\" maxlength=\"100\" value=\"localhost\" data-i18n=\"EgHost\" />\n <input id=\"HostedPort\" type=\"number\" maxlength=\"10\" value=\"80\" />\n </div>\n <label for=\"WhoAccesses\" data-i18n=\"WhoAccesses\"></label>\n <div id=\"WhoAccesses\"></div>\n <div id=\"IsEncryptionRequired\" class=\"forminfo\" style=\"display: none\"></div>\n <div class=\"grid checkLabel\">\n <div id=\"SimpleEncryptionRequired\" class=\"toggle\">\n <div class=\"switch\"></div>\n <div class=\"label\"></div>\n </div>\n <div class=\"toggleLabel\" data-i18n=\"RequireEncryption\"></div>\n </div>\n <label for=\"HowTo\" data-i18n=\"HowShare\"></label>\n <div class=\"grid addressPort\">\n <input id=\"HowTo\" type=\"text\" maxlength=\"100\" data-i18n=\"EgHost\" />\n <input id=\"HowToPort\" type=\"number\" maxlength=\"10\" value=\"80\" />\n </div>\n <div class=\"buttons\">\n <div>\n <div class=\"linkButton closer\" data-i18n=\"Cancel\" style=\"width: fit-content;\"></div>\n </div>\n <div id=\"CreateButton\" class=\"button\" data-i18n=\"Create\"></div>\n </div>\n </div>\n <div id=\"Service2\" class=\"anyservice\" style=\"display: none;\">\n <label for=\"ServiceHappen\" data-i18n=\"ServiceHappen\"></label>\n <div id=\"ServiceHappen\"></div>\n <div class=\"buttons\">\n <div></div>\n <div id=\"DoneServiceButton\" class=\"button\" data-i18n=\"Done\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"OperationCommands\" class=\"commands\" style=\"display: none\">\n <div class=\"title\" data-i18n=\"ExecutionOperations\"></div>\n <div id=\"ExecutionSteps\"></div>\n <div id=\"IconDownload\" class=\"icon icon-download\"></div>\n <label data-i18n=\"CLICommands\"></label>\n <div class=\"related\">\n <input id=\"CLICommands\" type=\"text\" readonly/>\n <div class=\"icon-copy copy\" data-copy=\"CLICommands\"></div>\n </div>\n <label data-i18n=\"APICalls\"></label>\n <div class=\"related\">\n <input id=\"ApiCall\" type=\"text\" readonly />\n <div class=\"icon-copy copy\" data-copy=\"ApiCall\"></div>\n </div>\n <div class=\"related\">\n <textarea id=\"ApiJson\"></textarea>\n <div class=\"icon-copy copy swap\" data-copy=\"ApiJson\"></div>\n </div>\n </div>\n\n</div>\n<lib-loading-indicator *ngIf=\"loading\" [isLoading]=\"loading\"></lib-loading-indicator>", styles: [".zac-wrapper-container{width:100%;height:100%;position:absolute;display:flex;flex-direction:column;top:0;left:0;flex:1 0 auto}.zac-wrapper-container.hidden,#AddAnyModal.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i5.LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "pipe", type: i6.SafePipe, name: "safe" }] }); }
|
|
130
|
-
}
|
|
131
|
-
export { ZacWrapperComponent };
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ZacWrapperComponent, decorators: [{
|
|
133
|
-
type: Component,
|
|
134
|
-
args: [{ selector: 'app-zac-wrapper', template: "<div class=\"zac-wrapper-container\" [innerHTML]=\"pageHtml | safe\" #zacContainer [ngClass]=\"{'hidden': pageLoading}\"></div>\n<!-- Operational Wizard UI -->\n<div id=\"WizardModal\" class=\"modal box\">\n <div class=\"close icon-close\"></div>\n <div class=\"title\" data-i18n=\"ZitiWizard\"></div>\n <div class=\"subtitle\" data-i18n=\"WizardService\"></div>\n <div class=\"wizard area open\">\n <label for=\"WServiceName\" data-i18n=\"ServiceName\"></label>\n <input id=\"WServiceName\" type=\"text\" maxlength=\"100\" />\n <label for=\"WServiceRoles\"></label>\n </div>\n <div></div>\n</div>\n\n\n<!-- Add Any Modal UI -->\n<div id=\"AddAnyModal\" class=\"modal box\" style=\"height: fit-content; width: 600px; transition: var(--transition);\" [ngClass]=\"{'hidden': pageLoading}\">\n <div class=\"close icon-close\"></div>\n <div id=\"Select1\">\n <div class=\"title\" data-i18n=\"AddTitle\"></div>\n <div id=\"Selector\" class=\"grid dual\">\n <div id=\"InlineAddIdentityButton\" class=\"iconButton\">\n <div class=\"image icon-identity\"></div>\n <div class=\"label\" data-i18n=\"AddIdentity\"></div>\n </div>\n <div id=\"InlineAddServiceButton\" class=\"iconButton\">\n <div class=\"image icon-services\"></div>\n <div class=\"label\" data-i18n=\"AddService\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"InlineIdentityArea\" style=\"display: none;\" class=\"anyadd\">\n <div class=\"title\" data-i18n=\"AddSimpleIdentity\"></div>\n <div id=\"IdentityLoader\" class=\"center\" style=\"display: none;\">\n <div class=\"lds-ripple\"><div></div><div></div></div>\n </div>\n <div id=\"Identity1\" class=\"anyid\">\n <label for=\"IdName\" data-i18n=\"Name\"></label>\n <input id=\"IdName\" type=\"text\" maxlength=\"50\" data-i18n=\"EnterName\" />\n <label for=\"IdRoles\" data-i18n=\"RoleAttributes\"></label>\n <div id=\"IdRoles\"></div>\n <div class=\"buttons\">\n <div></div>\n <div id=\"CreateIdButton\" class=\"button\" data-i18n=\"Create\"></div>\n </div>\n </div>\n <div id=\"Identity2\" style=\"display: none;\" class=\"anyid\">\n <div class=\"center\">\n <div id=\"IdentityQrCode\"></div>\n </div>\n <div id=\"IdentityDownload\" class=\"linkButton\" data-i18n=\"DownloadJWT\"></div>\n <div class=\"center\">\n <div id=\"DoneIdButton\" class=\"button\" data-i18n=\"Done\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"InlineServiceArea\" style=\"display: none;\" class=\"anyadd\">\n <div class=\"title\" data-i18n=\"AddSimpleService\"></div>\n <div id=\"SServiceLoader\" class=\"center\" style=\"display: none;\">\n <div class=\"lds-ripple\"><div></div><div></div></div>\n </div>\n <div id=\"Service1\" class=\"anyservice\">\n <label for=\"SServiceName\" data-i18n=\"ServiceName\"></label>\n <input id=\"SServiceName\" type=\"text\" maxlength=\"50\" data-i18n=\"EnterName\" />\n <label for=\"WhereHosted\" data-i18n=\"WhereHosted\"></label>\n <div id=\"WhereHosted\"></div>\n <label for=\"WhatIsIt\" data-i18n=\"WhatShare\"></label>\n <div class=\"grid addressFull\">\n <select id=\"HostedProtocol\">\n <option value=\"tcp\">tcp</option>\n <option value=\"udp\">udp</option>\n </select>\n <input id=\"HostedHost\" type=\"text\" maxlength=\"100\" value=\"localhost\" data-i18n=\"EgHost\" />\n <input id=\"HostedPort\" type=\"number\" maxlength=\"10\" value=\"80\" />\n </div>\n <label for=\"WhoAccesses\" data-i18n=\"WhoAccesses\"></label>\n <div id=\"WhoAccesses\"></div>\n <div id=\"IsEncryptionRequired\" class=\"forminfo\" style=\"display: none\"></div>\n <div class=\"grid checkLabel\">\n <div id=\"SimpleEncryptionRequired\" class=\"toggle\">\n <div class=\"switch\"></div>\n <div class=\"label\"></div>\n </div>\n <div class=\"toggleLabel\" data-i18n=\"RequireEncryption\"></div>\n </div>\n <label for=\"HowTo\" data-i18n=\"HowShare\"></label>\n <div class=\"grid addressPort\">\n <input id=\"HowTo\" type=\"text\" maxlength=\"100\" data-i18n=\"EgHost\" />\n <input id=\"HowToPort\" type=\"number\" maxlength=\"10\" value=\"80\" />\n </div>\n <div class=\"buttons\">\n <div>\n <div class=\"linkButton closer\" data-i18n=\"Cancel\" style=\"width: fit-content;\"></div>\n </div>\n <div id=\"CreateButton\" class=\"button\" data-i18n=\"Create\"></div>\n </div>\n </div>\n <div id=\"Service2\" class=\"anyservice\" style=\"display: none;\">\n <label for=\"ServiceHappen\" data-i18n=\"ServiceHappen\"></label>\n <div id=\"ServiceHappen\"></div>\n <div class=\"buttons\">\n <div></div>\n <div id=\"DoneServiceButton\" class=\"button\" data-i18n=\"Done\"></div>\n </div>\n </div>\n </div>\n\n <div id=\"OperationCommands\" class=\"commands\" style=\"display: none\">\n <div class=\"title\" data-i18n=\"ExecutionOperations\"></div>\n <div id=\"ExecutionSteps\"></div>\n <div id=\"IconDownload\" class=\"icon icon-download\"></div>\n <label data-i18n=\"CLICommands\"></label>\n <div class=\"related\">\n <input id=\"CLICommands\" type=\"text\" readonly/>\n <div class=\"icon-copy copy\" data-copy=\"CLICommands\"></div>\n </div>\n <label data-i18n=\"APICalls\"></label>\n <div class=\"related\">\n <input id=\"ApiCall\" type=\"text\" readonly />\n <div class=\"icon-copy copy\" data-copy=\"ApiCall\"></div>\n </div>\n <div class=\"related\">\n <textarea id=\"ApiJson\"></textarea>\n <div class=\"icon-copy copy swap\" data-copy=\"ApiJson\"></div>\n </div>\n </div>\n\n</div>\n<lib-loading-indicator *ngIf=\"loading\" [isLoading]=\"loading\"></lib-loading-indicator>", styles: [".zac-wrapper-container{width:100%;height:100%;position:absolute;display:flex;flex-direction:column;top:0;left:0;flex:1 0 auto}.zac-wrapper-container.hidden,#AddAnyModal.hidden{display:none}\n"] }]
|
|
135
|
-
}], ctorParameters: function () { return [{ type: i7.ZacWrapperServiceClass, decorators: [{
|
|
136
|
-
type: Inject,
|
|
137
|
-
args: [ZAC_WRAPPER_SERVICE]
|
|
138
|
-
}] }, { type: i8.SettingsService, decorators: [{
|
|
139
|
-
type: Inject,
|
|
140
|
-
args: [SETTINGS_SERVICE]
|
|
141
|
-
}] }, { type: i1.LoggerService }, { type: i9.LoginServiceClass, decorators: [{
|
|
142
|
-
type: Inject,
|
|
143
|
-
args: [ZAC_LOGIN_SERVICE]
|
|
144
|
-
}] }, { type: i2.Router }]; }, propDecorators: { zacContainer: [{
|
|
145
|
-
type: ViewChild,
|
|
146
|
-
args: ['zacContainer']
|
|
147
|
-
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemFjLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3dyYXBwZXJzL3phYy13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy93cmFwcGVycy96YWMtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFTLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxtQkFBbUIsRUFBeUIsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RixPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sRUFBVyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMxRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUlsRixPQUFPLEVBQW9CLGlCQUFpQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7O0FBQ3hGLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVsQyxNQUthLG1CQUFtQjtJQVc5QixZQUN5QyxjQUFzQyxFQUN6QyxlQUFnQyxFQUMxRCxhQUE0QixFQUNELFlBQStCLEVBQzFELE1BQWM7UUFKZSxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFDekMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQzFELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ0QsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzFELFdBQU0sR0FBTixNQUFNLENBQVE7UUFkMUIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxVQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQVEsRUFBRSxDQUFDO0lBVW5CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFXLEVBQUUsRUFBRTtZQUNsRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEtBQUssT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztZQUMxRyxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtvQkFDZixNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzFDLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUQsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9FLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1lBQzVCLE1BQU0sVUFBVSxHQUFzQixRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDaEUsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO2dCQUNwQixVQUFVLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7YUFDekM7aUJBQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNyQixVQUFVLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDN0I7WUFDRCxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBRztnQkFDRCxHQUFHLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakMsR0FBRyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEMsR0FBRyxDQUFDLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDcEgsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO2FBQy9DO1lBQUEsT0FBTSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQzthQUM3RDtvQkFBUztnQkFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0ExR1UsbUJBQW1CLGtCQVlsQixtQkFBbUIsYUFDbkIsZ0JBQWdCLDBDQUVoQixpQkFBaUI7bUdBZmxCLG1CQUFtQixxS0NqQ2hDLDA1TUFrSXFGOztTRGpHeEUsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCOzswQkFnQnhCLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUV2QixNQUFNOzJCQUFDLGlCQUFpQjtpRUFORixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBOYXZpZ2F0aW9uRW5kfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtaQUNfV1JBUFBFUl9TRVJWSUNFLCBaYWNXcmFwcGVyU2VydmljZUNsYXNzfSBmcm9tIFwiLi96YWMtd3JhcHBlci1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge2Nsb25lRGVlcCwgZGVsYXksIGludm9rZSwgaXNFbXB0eSwgZGVmZXIsIHNldCwgZ2V0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZSwgU0VUVElOR1NfU0VSVklDRX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uL21lc3NhZ2luZy9sb2dnZXIuc2VydmljZVwiO1xuXG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHtMb2dpblNlcnZpY2VDbGFzcywgWkFDX0xPR0lOX1NFUlZJQ0V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9sb2dpbi1zZXJ2aWNlLmNsYXNzXCI7XG5jb25zdCBjb250ZXh0ID0gd2luZG93Wydjb250ZXh0J107XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLXphYy13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vemFjLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3phYy13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFphY1dyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgbG9hZGluZyA9IGZhbHNlO1xuICBwYWdlSHRtbDogYW55ID0gJyc7XG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgdGl0bGUgPSAnWml0aSBDb25zb2xlJztcbiAgd2FpdGluZ0ZvclNlc3Npb24gPSB0cnVlO1xuICBwYWdlTG9hZGluZyA9IGZhbHNlO1xuICBzZXR0aW5nczogYW55ID0ge307XG4gIEBWaWV3Q2hpbGQoJ3phY0NvbnRhaW5lcicpIHphY0NvbnRhaW5lcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgQEluamVjdChaQUNfV1JBUFBFUl9TRVJWSUNFKSBwcml2YXRlIHdyYXBwZXJTZXJ2aWNlOiBaYWNXcmFwcGVyU2VydmljZUNsYXNzLFxuICAgICAgQEluamVjdChTRVRUSU5HU19TRVJWSUNFKSBwcml2YXRlIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgQEluamVjdChaQUNfTE9HSU5fU0VSVklDRSkgcHJpdmF0ZSBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZUNsYXNzLFxuICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLndyYXBwZXJTZXJ2aWNlLmluaXRaYWMoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLndyYXBwZXJTZXJ2aWNlLnBhZ2VDaGFuZ2VkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLndhaXRpbmdGb3JTZXNzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZFBhZ2UoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgIHRoaXMud3JhcHBlclNlcnZpY2Uueml0aVVwZGF0ZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy53YWl0aW5nRm9yU2Vzc2lvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmxvYWRQYWdlKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5nc0NoYW5nZS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdHM6YW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGhhc1Nlc3Npb24gPSB0aGlzLnNldHRpbmdzU2VydmljZS5oYXNTZXNzaW9uKCk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXJDaGFuZ2VkID0gdGhpcy5zZXR0aW5ncz8uc2Vzc2lvbj8uY29udHJvbGxlckRvbWFpbiAhPT0gcmVzdWx0cz8uc2Vzc2lvbj8uY29udHJvbGxlckRvbWFpbjtcbiAgICAgICAgaWYgKGhhc1Nlc3Npb24gJiYgKCF0aGlzLnBhZ2VMb2FkaW5nIHx8IGNvbnRyb2xsZXJDaGFuZ2VkKSkge1xuICAgICAgICAgIHRoaXMucGFnZUxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgIHRoaXMucGFnZUh0bWwgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgZGVmZXIoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkUGFnZSgpO1xuICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yU2Vzc2lvbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5wYWdlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBjbG9uZURlZXAocmVzdWx0cyk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkUGFnZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICApO1xuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMud3JhcHBlclNlcnZpY2UuaW5pdFpBQ0J1dHRvbkxpc3RlbmVyKCk7XG4gICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5wYWdlSHRtbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFzeW5jIGxvYWRQYWdlKCkge1xuICAgIHRoaXMucGFnZUh0bWwgPSBhd2FpdCB0aGlzLndyYXBwZXJTZXJ2aWNlLmxvYWRDdXJyZW50UGFnZSgpO1xuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMud3JhcHBlclNlcnZpY2UucmVzZXRaYWNFdmVudHMoKTtcbiAgICAgIHRoaXMuZXhlY3V0ZVBhZ2VTY3JpcHRzKCk7XG4gICAgfSk7XG4gIH1cblxuICBleGVjdXRlUGFnZVNjcmlwdHMoKSB7XG4gICAgY29uc3Qgc2NyaXB0cyA9IHRoaXMuemFjQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpO1xuICAgIGZvciAoY29uc3Qgc2NyaXB0IG9mIHNjcmlwdHMpIHtcbiAgICAgIGNvbnN0IHNjcmlwdENvcHkgPSA8SFRNTFNjcmlwdEVsZW1lbnQ+ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHRDb3B5LnR5cGUgPSBzY3JpcHQudHlwZSA/IHNjcmlwdC50eXBlIDogJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICBpZiAoc2NyaXB0LmlubmVySFRNTCkge1xuICAgICAgICBzY3JpcHRDb3B5LmlubmVySFRNTCA9IHNjcmlwdC5pbm5lckhUTUw7XG4gICAgICB9IGVsc2UgaWYgKHNjcmlwdC5zcmMpIHtcbiAgICAgICAgc2NyaXB0Q29weS5zcmMgPSBzY3JpcHQuc3JjO1xuICAgICAgfVxuICAgICAgc2NyaXB0Q29weS5hc3luYyA9IGZhbHNlO1xuICAgICAgc2NyaXB0LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHNjcmlwdENvcHksIHNjcmlwdCk7XG4gICAgfVxuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIHRyeXtcbiAgICAgICAgc2V0KHdpbmRvdywgJ2NvbnRleHQuaXRlbXMnLCBbXSk7XG4gICAgICAgIHNldCh3aW5kb3csICdjb250ZXh0LndhdGNoZXJzJywgW10pO1xuICAgICAgICBzZXQod2luZG93LCAnY29udGV4dC5ldmVudFdhdGNoZXJzJywgW10pO1xuICAgICAgICBpbnZva2Uod2luZG93LCAnYXBwLmluaXQnKTtcbiAgICAgICAgY29udGV4dC5hZGRMaXN0ZW5lcihnZXQod2luZG93LCAncGFnZS5maWx0ZXJPYmplY3QubmFtZScsICdpZGVudGl0aWVzJyksIHRoaXMud3JhcHBlclNlcnZpY2UuaW5pdFpBQ0J1dHRvbkxpc3RlbmVyKTtcbiAgICAgICAgdGhpcy53cmFwcGVyU2VydmljZS5pbml0WkFDUGVyc29uYWxTZXR0aW5ncygpO1xuICAgICAgfWNhdGNoKGVycikge1xuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoJ2Vycm9yIGluaXRpYWxpemluZyBwYWdlIHNjcmlwdHMnKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiemFjLXdyYXBwZXItY29udGFpbmVyXCIgW2lubmVySFRNTF09XCJwYWdlSHRtbCB8IHNhZmVcIiAjemFjQ29udGFpbmVyIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogcGFnZUxvYWRpbmd9XCI+PC9kaXY+XG48IS0tIE9wZXJhdGlvbmFsIFdpemFyZCBVSSAtLT5cbjxkaXYgaWQ9XCJXaXphcmRNb2RhbFwiIGNsYXNzPVwibW9kYWwgYm94XCI+XG4gICAgPGRpdiBjbGFzcz1cImNsb3NlIGljb24tY2xvc2VcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLWkxOG49XCJaaXRpV2l6YXJkXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlXCIgZGF0YS1pMThuPVwiV2l6YXJkU2VydmljZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3aXphcmQgYXJlYSBvcGVuXCI+XG4gICAgICAgIDxsYWJlbCBmb3I9XCJXU2VydmljZU5hbWVcIiBkYXRhLWkxOG49XCJTZXJ2aWNlTmFtZVwiPjwvbGFiZWw+XG4gICAgICAgIDxpbnB1dCBpZD1cIldTZXJ2aWNlTmFtZVwiIHR5cGU9XCJ0ZXh0XCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cbiAgICAgICAgPGxhYmVsIGZvcj1cIldTZXJ2aWNlUm9sZXNcIj48L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+PC9kaXY+XG48L2Rpdj5cblxuXG48IS0tIEFkZCBBbnkgTW9kYWwgVUkgLS0+XG48ZGl2IGlkPVwiQWRkQW55TW9kYWxcIiBjbGFzcz1cIm1vZGFsIGJveFwiIHN0eWxlPVwiaGVpZ2h0OiBmaXQtY29udGVudDsgd2lkdGg6IDYwMHB4OyB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcIiBbbmdDbGFzc109XCJ7J2hpZGRlbic6IHBhZ2VMb2FkaW5nfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbG9zZSBpY29uLWNsb3NlXCI+PC9kaXY+XG4gICAgPGRpdiBpZD1cIlNlbGVjdDFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS1pMThuPVwiQWRkVGl0bGVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cIlNlbGVjdG9yXCIgY2xhc3M9XCJncmlkIGR1YWxcIj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJJbmxpbmVBZGRJZGVudGl0eUJ1dHRvblwiIGNsYXNzPVwiaWNvbkJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZSBpY29uLWlkZW50aXR5XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgZGF0YS1pMThuPVwiQWRkSWRlbnRpdHlcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBpZD1cIklubGluZUFkZFNlcnZpY2VCdXR0b25cIiBjbGFzcz1cImljb25CdXR0b25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UgaWNvbi1zZXJ2aWNlc1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIGRhdGEtaTE4bj1cIkFkZFNlcnZpY2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgaWQ9XCJJbmxpbmVJZGVudGl0eUFyZWFcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgY2xhc3M9XCJhbnlhZGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS1pMThuPVwiQWRkU2ltcGxlSWRlbnRpdHlcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cIklkZW50aXR5TG9hZGVyXCIgY2xhc3M9XCJjZW50ZXJcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGRzLXJpcHBsZVwiPjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJJZGVudGl0eTFcIiBjbGFzcz1cImFueWlkXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiSWROYW1lXCIgZGF0YS1pMThuPVwiTmFtZVwiPjwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJJZE5hbWVcIiB0eXBlPVwidGV4dFwiIG1heGxlbmd0aD1cIjUwXCIgZGF0YS1pMThuPVwiRW50ZXJOYW1lXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJJZFJvbGVzXCIgZGF0YS1pMThuPVwiUm9sZUF0dHJpYnV0ZXNcIj48L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBpZD1cIklkUm9sZXNcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQ3JlYXRlSWRCdXR0b25cIiBjbGFzcz1cImJ1dHRvblwiIGRhdGEtaTE4bj1cIkNyZWF0ZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwiSWRlbnRpdHkyXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGNsYXNzPVwiYW55aWRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiSWRlbnRpdHlRckNvZGVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBpZD1cIklkZW50aXR5RG93bmxvYWRcIiBjbGFzcz1cImxpbmtCdXR0b25cIiBkYXRhLWkxOG49XCJEb3dubG9hZEpXVFwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJEb25lSWRCdXR0b25cIiBjbGFzcz1cImJ1dHRvblwiIGRhdGEtaTE4bj1cIkRvbmVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgaWQ9XCJJbmxpbmVTZXJ2aWNlQXJlYVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIiBjbGFzcz1cImFueWFkZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLWkxOG49XCJBZGRTaW1wbGVTZXJ2aWNlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJTU2VydmljZUxvYWRlclwiIGNsYXNzPVwiY2VudGVyXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxkcy1yaXBwbGVcIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwiU2VydmljZTFcIiBjbGFzcz1cImFueXNlcnZpY2VcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJTU2VydmljZU5hbWVcIiBkYXRhLWkxOG49XCJTZXJ2aWNlTmFtZVwiPjwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJTU2VydmljZU5hbWVcIiB0eXBlPVwidGV4dFwiIG1heGxlbmd0aD1cIjUwXCIgZGF0YS1pMThuPVwiRW50ZXJOYW1lXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJXaGVyZUhvc3RlZFwiIGRhdGEtaTE4bj1cIldoZXJlSG9zdGVkXCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJXaGVyZUhvc3RlZFwiPjwvZGl2PlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIldoYXRJc0l0XCIgZGF0YS1pMThuPVwiV2hhdFNoYXJlXCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGFkZHJlc3NGdWxsXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdCBpZD1cIkhvc3RlZFByb3RvY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJ0Y3BcIj50Y3A8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInVkcFwiPnVkcDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIkhvc3RlZEhvc3RcIiB0eXBlPVwidGV4dFwiIG1heGxlbmd0aD1cIjEwMFwiIHZhbHVlPVwibG9jYWxob3N0XCIgZGF0YS1pMThuPVwiRWdIb3N0XCIgLz5cbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJIb3N0ZWRQb3J0XCIgdHlwZT1cIm51bWJlclwiIG1heGxlbmd0aD1cIjEwXCIgdmFsdWU9XCI4MFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJXaG9BY2Nlc3Nlc1wiIGRhdGEtaTE4bj1cIldob0FjY2Vzc2VzXCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJXaG9BY2Nlc3Nlc1wiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBpZD1cIklzRW5jcnlwdGlvblJlcXVpcmVkXCIgY2xhc3M9XCJmb3JtaW5mb1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgY2hlY2tMYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJTaW1wbGVFbmNyeXB0aW9uUmVxdWlyZWRcIiBjbGFzcz1cInRvZ2dsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpdGNoXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGVMYWJlbFwiIGRhdGEtaTE4bj1cIlJlcXVpcmVFbmNyeXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJIb3dUb1wiIGRhdGEtaTE4bj1cIkhvd1NoYXJlXCI+PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGFkZHJlc3NQb3J0XCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiSG93VG9cIiB0eXBlPVwidGV4dFwiIG1heGxlbmd0aD1cIjEwMFwiIGRhdGEtaTE4bj1cIkVnSG9zdFwiIC8+XG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiSG93VG9Qb3J0XCIgdHlwZT1cIm51bWJlclwiIG1heGxlbmd0aD1cIjEwXCIgdmFsdWU9XCI4MFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtCdXR0b24gY2xvc2VyXCIgZGF0YS1pMThuPVwiQ2FuY2VsXCIgc3R5bGU9XCJ3aWR0aDogZml0LWNvbnRlbnQ7XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIkNyZWF0ZUJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uXCIgZGF0YS1pMThuPVwiQ3JlYXRlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJTZXJ2aWNlMlwiIGNsYXNzPVwiYW55c2VydmljZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJTZXJ2aWNlSGFwcGVuXCIgZGF0YS1pMThuPVwiU2VydmljZUhhcHBlblwiPjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiU2VydmljZUhhcHBlblwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJEb25lU2VydmljZUJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uXCIgZGF0YS1pMThuPVwiRG9uZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBpZD1cIk9wZXJhdGlvbkNvbW1hbmRzXCIgY2xhc3M9XCJjb21tYW5kc1wiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLWkxOG49XCJFeGVjdXRpb25PcGVyYXRpb25zXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJFeGVjdXRpb25TdGVwc1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwiSWNvbkRvd25sb2FkXCIgY2xhc3M9XCJpY29uIGljb24tZG93bmxvYWRcIj48L2Rpdj5cbiAgICAgICAgPGxhYmVsIGRhdGEtaTE4bj1cIkNMSUNvbW1hbmRzXCI+PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0ZWRcIj5cbiAgICAgICAgICAgIDxpbnB1dCBpZD1cIkNMSUNvbW1hbmRzXCIgdHlwZT1cInRleHRcIiByZWFkb25seS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb3B5IGNvcHlcIiBkYXRhLWNvcHk9XCJDTElDb21tYW5kc1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxhYmVsIGRhdGEtaTE4bj1cIkFQSUNhbGxzXCI+PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0ZWRcIj5cbiAgICAgICAgICAgIDxpbnB1dCBpZD1cIkFwaUNhbGxcIiB0eXBlPVwidGV4dFwiIHJlYWRvbmx5IC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb3B5IGNvcHlcIiBkYXRhLWNvcHk9XCJBcGlDYWxsXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRlZFwiPlxuICAgICAgICAgICAgPHRleHRhcmVhIGlkPVwiQXBpSnNvblwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1jb3B5IGNvcHkgc3dhcFwiIGRhdGEtY29weT1cIkFwaUpzb25cIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbjwvZGl2PlxuPGxpYi1sb2FkaW5nLWluZGljYXRvciAqbmdJZj1cImxvYWRpbmdcIiBbaXNMb2FkaW5nXT1cImxvYWRpbmdcIj48L2xpYi1sb2FkaW5nLWluZGljYXRvcj4iXX0=
|