@openziti/ziti-console-lib 0.12.10 → 1.0.0
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/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/identity-marker.svg +8 -0
- package/assets/svgs/router-marker.svg +7 -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 +8 -12
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +2 -3
- 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 +25 -21
- 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 +6 -9
- 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 -19
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +8 -12
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +2 -3
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +8 -12
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +3 -4
- 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 +2 -3
- 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 +6 -6
- 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 +18 -3
- package/esm2022/lib/services/ziti-data.service.mjs +2 -3
- 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 +3535 -4325
- 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 +1 -2
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +2 -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 +1 -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-policy/service-policy-form.component.d.ts +1 -2
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.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 +1 -0
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +1 -0
- 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 -179
- 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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 27.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg id="Layer_1" style="enable-background:new 0 0 48 48;" version="1.1" viewBox="0 0 48 48" x="0px"
|
|
4
|
+
xml:space="preserve"
|
|
5
|
+
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
|
|
6
|
+
<style type="text/css">
|
|
7
|
+
.st0 {
|
|
8
|
+
fill: url(#SVGID_1_);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.st1 {
|
|
12
|
+
fill: #FFFFFF;
|
|
13
|
+
}
|
|
14
|
+
</style>
|
|
15
|
+
<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="36.2727" x2="10.8236" y1="48.0866" y2="-1.8601">
|
|
16
|
+
<stop offset="4.306891e-03" style="stop-color:#FC0147"/>
|
|
17
|
+
<stop offset="3.918269e-02" style="stop-color:#F4044D"/>
|
|
18
|
+
<stop offset="0.9" style="stop-color:#0068F9"/>
|
|
19
|
+
</linearGradient>
|
|
20
|
+
<circle class="st0" cx="24" cy="24" r="23"/>
|
|
21
|
+
<path class="st1" d="M24.1,3.4L11.2,23l7.3,4.8l1.2-1.8l3.8,18.2l12.7-19.7l-7.1-4.6l-1.2,1.9L24.1,3.4z M29.9,23.1l3.1,2.1L24.7,38
|
|
22
|
+
l-3.8-18.2l-3.1,4.8l-3.1-2L23,9.7l3.8,18.1L29.9,23.1z"/>
|
|
23
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const ZAC_VERSION = {
|
|
2
|
+
"version": "4.0.0"
|
|
3
|
+
};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWkFDX1ZFUlNJT04uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvWkFDX1ZFUlNJT04udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3ZCLFNBQVMsRUFBRSxPQUFPO0NBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgWkFDX1ZFUlNJT04gPSB7XG4gICAgXCJ2ZXJzaW9uXCI6IFwiNC4wLjBcIlxufTtcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const DEFAULT_APP_CONFIG_PROP = {
|
|
2
|
+
tunnelerEnabledReadOnly: true,
|
|
3
|
+
isOpenZiti: true
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1hcHAtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2RlZmF1bHQtYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJQUNuQyx1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLFVBQVUsRUFBRSxJQUFJO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBEZWZhdWx0QXBwQ29uZmlnID0ge1xuICAgIHR1bm5lbGVyRW5hYmxlZFJlYWRPbmx5OiBib29sZWFuO1xuICAgIGlzT3BlblppdGk/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQVBQX0NPTkZJR19QUk9QID0ge1xuICAgIHR1bm5lbGVyRW5hYmxlZFJlYWRPbmx5OiB0cnVlLFxuICAgIGlzT3BlblppdGk6IHRydWVcbn07Il19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
class CardComponent {
|
|
3
|
+
export class CardComponent {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.imageUrl = 'test';
|
|
6
6
|
this.title = '';
|
|
@@ -13,12 +13,11 @@ class CardComponent {
|
|
|
13
13
|
event.preventDefault();
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardComponent, selector: "lib-card", inputs: { imageUrl: "imageUrl", title: "title", content: "content", buttonText: "buttonText", id: "id", href: "href" }, ngImport: i0, template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:14.375rem}.buttonCard .content{font-size:.875rem;bottom:5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:.1875rem;font-size:.875rem;font-family:Open Sans;font-weight:600;display:inline-block;min-width:9.375rem;clear:both;overflow:hidden;height:2.8125rem;padding:.8125rem;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque)}.padTop{padding-top:.75rem}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:20rem;width:20rem;position:relative;float:none;cursor:pointer;padding-bottom:1.5625rem;margin:0 auto;margin-right:1.25rem;margin-left:1.25rem;margin-top:1.25rem;background-color:var(--navigation);box-shadow:0 .75rem 1.4375rem 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:25.3125rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 .75rem 1.4375rem 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 .1875rem .1875rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 .0625rem .0625rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:1rem;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0rem;font-weight:600;font-family:Open Sans;position:absolute;top:13.75rem;width:100%}.buttonCard .buttonArea{position:absolute;bottom:1.5625rem;width:100
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardComponent, selector: "lib-card", inputs: { imageUrl: "imageUrl", title: "title", content: "content", buttonText: "buttonText", id: "id", href: "href" }, ngImport: i0, template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:14.375rem}.buttonCard .content{font-size:.875rem;bottom:5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:.1875rem;font-size:.875rem;font-family:Open Sans;font-weight:600;display:inline-block;min-width:9.375rem;clear:both;overflow:hidden;height:2.8125rem;padding:.8125rem;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque)}.padTop{padding-top:.75rem}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:20rem;width:20rem;position:relative;float:none;cursor:pointer;padding-bottom:1.5625rem;margin:0 auto;margin-right:1.25rem;margin-left:1.25rem;margin-top:1.25rem;background-color:var(--navigation);box-shadow:0 .75rem 1.4375rem 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:25.3125rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 .75rem 1.4375rem 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 .1875rem .1875rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 .0625rem .0625rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:1rem;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0rem;font-weight:600;font-family:Open Sans;position:absolute;top:13.75rem;width:100%}.buttonCard .buttonArea{position:absolute;bottom:1.5625rem;width:100%;text-align:center!important}.buttonCard .subButton{position:absolute;bottom:.625rem}.buttonCard .content{color:var(--text);font-size:.8125rem;height:5rem;margin-top:.9375rem;margin-bottom:1.875rem;padding-left:1.875rem;padding-right:1.875rem;padding-top:1.875rem;bottom:4.375rem;position:absolute;font-weight:400;font-family:Open Sans}.buttonCard .icon{position:absolute;top:1.875rem;left:.625rem;right:.625rem;height:11.5625rem;background-position:center bottom;background-size:contain;z-index:unset;width:unset;min-width:unset;min-height:unset}.buttonCard .buttonArea{bottom:1.875rem}\n"] }); }
|
|
17
17
|
}
|
|
18
|
-
export { CardComponent };
|
|
19
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
20
19
|
type: Component,
|
|
21
|
-
args: [{ selector: 'lib-card', template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:14.375rem}.buttonCard .content{font-size:.875rem;bottom:5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:.1875rem;font-size:.875rem;font-family:Open Sans;font-weight:600;display:inline-block;min-width:9.375rem;clear:both;overflow:hidden;height:2.8125rem;padding:.8125rem;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque)}.padTop{padding-top:.75rem}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:20rem;width:20rem;position:relative;float:none;cursor:pointer;padding-bottom:1.5625rem;margin:0 auto;margin-right:1.25rem;margin-left:1.25rem;margin-top:1.25rem;background-color:var(--navigation);box-shadow:0 .75rem 1.4375rem 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:25.3125rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 .75rem 1.4375rem 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 .1875rem .1875rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 .0625rem .0625rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:1rem;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0rem;font-weight:600;font-family:Open Sans;position:absolute;top:13.75rem;width:100%}.buttonCard .buttonArea{position:absolute;bottom:1.5625rem;width:100
|
|
20
|
+
args: [{ selector: 'lib-card', template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:14.375rem}.buttonCard .content{font-size:.875rem;bottom:5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:.1875rem;font-size:.875rem;font-family:Open Sans;font-weight:600;display:inline-block;min-width:9.375rem;clear:both;overflow:hidden;height:2.8125rem;padding:.8125rem;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque)}.padTop{padding-top:.75rem}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:20rem;width:20rem;position:relative;float:none;cursor:pointer;padding-bottom:1.5625rem;margin:0 auto;margin-right:1.25rem;margin-left:1.25rem;margin-top:1.25rem;background-color:var(--navigation);box-shadow:0 .75rem 1.4375rem 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:25.3125rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 .75rem 1.4375rem 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 .1875rem .1875rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 .0625rem .0625rem 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:1rem;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0rem;font-weight:600;font-family:Open Sans;position:absolute;top:13.75rem;width:100%}.buttonCard .buttonArea{position:absolute;bottom:1.5625rem;width:100%;text-align:center!important}.buttonCard .subButton{position:absolute;bottom:.625rem}.buttonCard .content{color:var(--text);font-size:.8125rem;height:5rem;margin-top:.9375rem;margin-bottom:1.875rem;padding-left:1.875rem;padding-right:1.875rem;padding-top:1.875rem;bottom:4.375rem;position:absolute;font-weight:400;font-family:Open Sans}.buttonCard .icon{position:absolute;top:1.875rem;left:.625rem;right:.625rem;height:11.5625rem;background-position:center bottom;background-size:contain;z-index:unset;width:unset;min-width:unset;min-height:unset}.buttonCard .buttonArea{bottom:1.875rem}\n"] }]
|
|
22
21
|
}], propDecorators: { imageUrl: [{
|
|
23
22
|
type: Input
|
|
24
23
|
}], title: [{
|
|
@@ -32,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
32
31
|
}], href: [{
|
|
33
32
|
type: Input
|
|
34
33
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxhQUFhO0lBTDFCO1FBT1csYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUNsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFNBQUksR0FBRyxFQUFFLENBQUM7S0FLcEI7SUFIQyxXQUFXLENBQUMsS0FBSztRQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQVhVLGFBQWE7bUdBQWIsYUFBYSx3S0NQMUIsd2lCQWFJOzs0RkROUyxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFVBQVU7OEJBTVgsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgaW1hZ2VVcmwgPSAndGVzdCc7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIGNvbnRlbnQgPSAnJztcbiAgQElucHV0KCkgYnV0dG9uVGV4dCA9ICcnO1xuICBASW5wdXQoKSBpZCA9ICcnO1xuICBASW5wdXQoKSBocmVmID0gJyc7XG5cbiAgbGlua0NsaWNrZWQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG4iLCI8YSBocmVmPVwiL3t7aHJlZn19XCIgKGNsaWNrKT1cImxpbmtDbGlja2VkKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uQ2FyZCBzZWxlY3RUeXBlXCIgW2lkXT1cImlkXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKHt7aW1hZ2VVcmx9fSlcIiBjbGFzcz1cImljb25cIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7dGl0bGV9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICB7eyBjb250ZW50IH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyIGJ1dHRvbkFyZWFcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2F2ZVwiPnt7YnV0dG9uVGV4dH19PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2E+Il19
|
|
@@ -11,7 +11,7 @@ import * as i4 from "@angular/common";
|
|
|
11
11
|
import * as i5 from "../card/card.component";
|
|
12
12
|
import * as i6 from "../../services/settings.service";
|
|
13
13
|
import * as i7 from "../../services/ziti-data.service";
|
|
14
|
-
class CardListComponent extends ProjectableForm {
|
|
14
|
+
export class CardListComponent extends ProjectableForm {
|
|
15
15
|
constructor(settingsService, svc, zitiService, growlerService, extService, router, route, location) {
|
|
16
16
|
super(growlerService, extService, zitiService, router, route, location, settingsService);
|
|
17
17
|
this.settingsService = settingsService;
|
|
@@ -19,7 +19,6 @@ class CardListComponent extends ProjectableForm {
|
|
|
19
19
|
this.zitiService = zitiService;
|
|
20
20
|
this.router = router;
|
|
21
21
|
this.route = route;
|
|
22
|
-
this.formData = {};
|
|
23
22
|
this.close = new EventEmitter();
|
|
24
23
|
this.selected = new EventEmitter();
|
|
25
24
|
}
|
|
@@ -36,7 +35,6 @@ class CardListComponent extends ProjectableForm {
|
|
|
36
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardListComponent, deps: [{ token: SETTINGS_SERVICE }, { token: i1.ServiceFormService }, { token: ZITI_DATA_SERVICE }, { token: i2.GrowlerService }, { token: SERVICE_EXTENSION_SERVICE }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
36
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardListComponent, selector: "lib-card-list", outputs: { close: "close", selected: "selected" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"card-list-content\">\n <div class=\"card-list-title-container\">\n <div class=\"form-title-back-arrow-icon icon-back-arrow\" (click)=\"back()\"></div>\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n </div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n </div>\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper{align-items:center}.card-list-wrapper .card-list-content{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.card-list-wrapper .card-list-title-container{width:100%;position:relative}.card-list-wrapper .card-list-title-container .icon-back-arrow{position:absolute;left:0;height:2rem;width:1.325rem;top:2.25rem;display:flex;align-items:center;justify-content:flex-start;transform:scaleX(1.25);margin-left:1.25rem;min-width:1.325rem;padding-left:.125rem;cursor:pointer;font-family:icomoon!important;font-size:1.25rem;font-weight:600;margin-top:.05rem;color:var(--tableText);z-index:9999999}.card-list-wrapper .card-list-title-container .icon-back-arrow:hover{background-color:#fff;border-radius:var(--inputBorderRadius);filter:brightness(90%);transition:.3s}.card-list-wrapper .card-list-title-container>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"], dependencies: [{ kind: "component", type: i5.CardComponent, selector: "lib-card", inputs: ["imageUrl", "title", "content", "buttonText", "id", "href"] }] }); }
|
|
38
37
|
}
|
|
39
|
-
export { CardListComponent };
|
|
40
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardListComponent, decorators: [{
|
|
41
39
|
type: Component,
|
|
42
40
|
args: [{ selector: 'lib-card-list', template: "<div class=\"card-list-wrapper ziti-page-container fullModal opened\">\n <div class=\"card-list-content\">\n <div class=\"card-list-title-container\">\n <div class=\"form-title-back-arrow-icon icon-back-arrow\" (click)=\"back()\"></div>\n <div class=\"title\" style=\"filter: brightness(50%)\">Create a service</div>\n </div>\n <div class=\"subtitle\">Choose a service type</div>\n <div class=\"card-list-container\">\n <lib-card\n (click)=\"cardSelected('simple')\"\n [imageUrl]=\"'/assets/svgs/Simple.svg'\"\n [title]=\"'Simple'\"\n [content]=\"'Simple services required fewer details, only asking for the most commonly used fields.'\"\n [buttonText]=\"'Create Simple Service'\"\n [id]=\"'SimpleServiceCard'\"\n [href]=\"'services/simple'\"\n ></lib-card>\n <lib-card\n (click)=\"cardSelected('advanced')\"\n [imageUrl]=\"'/assets/svgs/Advanced.svg'\"\n [title]=\"'Advanced'\"\n [content]=\"'Advanced services allow you to configure any option supported by the controller but are subsequently a bit more complex.'\"\n [buttonText]=\"'Create Advanced Service'\"\n [id]=\"'AdvancedServiceCard'\"\n [href]=\"'services/advanced'\"\n ></lib-card>\n </div>\n <div (click)=\"returnToListPage()\" class=\"buttonBall close\" id=\"EscZitiAWClose\">\n <div class=\"buttonLabel\">ESC</div>\n </div>\n </div>\n</div>\n", styles: [":host{--shadow: rgba(0, 0, 0, .08)}.card-list-wrapper{align-items:center}.card-list-wrapper .card-list-content{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.card-list-wrapper .card-list-title-container{width:100%;position:relative}.card-list-wrapper .card-list-title-container .icon-back-arrow{position:absolute;left:0;height:2rem;width:1.325rem;top:2.25rem;display:flex;align-items:center;justify-content:flex-start;transform:scaleX(1.25);margin-left:1.25rem;min-width:1.325rem;padding-left:.125rem;cursor:pointer;font-family:icomoon!important;font-size:1.25rem;font-weight:600;margin-top:.05rem;color:var(--tableText);z-index:9999999}.card-list-wrapper .card-list-title-container .icon-back-arrow:hover{background-color:#fff;border-radius:var(--inputBorderRadius);filter:brightness(90%);transition:.3s}.card-list-wrapper .card-list-title-container>.title{font-size:1.625rem;filter:brightness(50%);padding-top:2.1875rem;text-align:center;width:100%;color:var(--primaryColor);font-family:Russo One;text-transform:uppercase;position:relative;font-weight:400}.card-list-wrapper>.subtitle{text-align:center;width:100%;color:var(--tableText);position:relative;margin-bottom:0rem;font-size:2rem;font-weight:300;font-family:Open Sans;float:left}.card-list-wrapper .card-list-container{display:flex;flex-direction:row;width:100%;justify-content:center}.card-list-wrapper .buttonBall.close{font-style:normal;font-weight:600;-webkit-font-smoothing:antialiased;cursor:pointer;position:absolute;width:3.9375rem;height:3.9375rem;font-size:1.875rem;top:1.25rem;right:1.25rem;left:unset;z-index:20;color:var(--stroke);text-transform:uppercase;text-align:center;line-height:2.5rem;font-family:zac!important;font-variant:normal;border-radius:2.0625rem;transition:all .3s ease 0s}.card-list-wrapper .buttonBall.close:before{content:\"\\e91b\";font-size:1.875rem}.card-list-wrapper .buttonBall:hover{background-color:var(--primaryColor);color:var(--white);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque);transition:all .2s ease 0s}.card-list-wrapper .buttonBall:hover:before{color:var(--white)}.card-list-wrapper .buttonBall .buttonLabel{font-weight:600;font-family:Open Sans,Arial,sans-serif;position:absolute;bottom:-.125rem;width:100%;text-align:center;font-size:.75rem;text-transform:uppercase}\n"] }]
|
|
@@ -54,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
54
52
|
}], selected: [{
|
|
55
53
|
type: Output
|
|
56
54
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEVBQUMseUJBQXlCLEVBQXFCLE1BQU0sbURBQW1ELENBQUM7QUFDaEgsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFXcEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFLcEQsWUFDaUQsZUFBZ0MsRUFDdEUsR0FBdUIsRUFDTSxXQUE0QixFQUNoRSxjQUE4QixFQUNLLFVBQTRCLEVBQzVDLE1BQWMsRUFDZCxLQUFxQixFQUN4QyxRQUFrQjtRQUVwQixLQUFLLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFUMUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3RFLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ00sZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRzdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQVZsQyxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBYWhFLENBQUM7SUFDRCxLQUFLO0lBQ0wsQ0FBQztJQUVELElBQUk7SUFDSixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7K0dBN0JVLGlCQUFpQixrQkFNaEIsZ0JBQWdCLCtDQUVoQixpQkFBaUIsMkNBRWpCLHlCQUF5QjttR0FWMUIsaUJBQWlCLCtIQ2Y5QiwycURBZ0NBOzs0RkRqQmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7OzBCQVVwQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFFeEIsTUFBTTsyQkFBQyx5QkFBeUI7cUhBUjNCLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9qZWN0YWJsZUZvcm19IGZyb20gXCIuLi9wcm9qZWN0YWJsZS1mb3Jtcy9wcm9qZWN0YWJsZS1mb3JtLmNsYXNzXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7U0VSVklDRV9FWFRFTlNJT05fU0VSVklDRSwgU2VydmljZUZvcm1TZXJ2aWNlfSBmcm9tIFwiLi4vcHJvamVjdGFibGUtZm9ybXMvc2VydmljZS9zZXJ2aWNlLWZvcm0uc2VydmljZVwiO1xuaW1wb3J0IHtaSVRJX0RBVEFfU0VSVklDRSwgWml0aURhdGFTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2V9IGZyb20gXCIuLi9leHRlbmRhYmxlL2V4dGVuc2lvbnMtbm9vcC5zZXJ2aWNlXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7TG9jYXRpb259IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNhcmQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDYXJkTGlzdENvbXBvbmVudCBleHRlbmRzIFByb2plY3RhYmxlRm9ybSB7XG5cbiAgQE91dHB1dCgpIGNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHByb3RlY3RlZCBvdmVycmlkZSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICAgIHB1YmxpYyBzdmM6IFNlcnZpY2VGb3JtU2VydmljZSxcbiAgICAgIEBJbmplY3QoWklUSV9EQVRBX1NFUlZJQ0UpIG92ZXJyaWRlIHppdGlTZXJ2aWNlOiBaaXRpRGF0YVNlcnZpY2UsXG4gICAgICBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICBASW5qZWN0KFNFUlZJQ0VfRVhURU5TSU9OX1NFUlZJQ0UpIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgbG9jYXRpb246IExvY2F0aW9uXG4gICkge1xuICAgIHN1cGVyKGdyb3dsZXJTZXJ2aWNlLCBleHRTZXJ2aWNlLCB6aXRpU2VydmljZSwgcm91dGVyLCByb3V0ZSwgbG9jYXRpb24sIHNldHRpbmdzU2VydmljZSk7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLnJvdXRlcj8ubmF2aWdhdGVCeVVybChgJHt0aGlzLmJhc2VQYXRofWApO1xuICB9XG5cbiAgY2FyZFNlbGVjdGVkKHR5cGUpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvc2VydmljZXMvJHt0eXBlfWApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZC1saXN0LXdyYXBwZXIgeml0aS1wYWdlLWNvbnRhaW5lciBmdWxsTW9kYWwgb3BlbmVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNhcmQtbGlzdC1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxpc3QtdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS10aXRsZS1iYWNrLWFycm93LWljb24gaWNvbi1iYWNrLWFycm93XCIgKGNsaWNrKT1cImJhY2soKVwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgc3R5bGU9XCJmaWx0ZXI6IGJyaWdodG5lc3MoNTAlKVwiPkNyZWF0ZSBhIHNlcnZpY2U8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdWJ0aXRsZVwiPkNob29zZSBhIHNlcnZpY2UgdHlwZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1saXN0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpYi1jYXJkXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQoJ3NpbXBsZScpXCJcbiAgICAgICAgICAgICAgICAgICAgW2ltYWdlVXJsXT1cIicvYXNzZXRzL3N2Z3MvU2ltcGxlLnN2ZydcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ1NpbXBsZSdcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCInU2ltcGxlIHNlcnZpY2VzIHJlcXVpcmVkIGZld2VyIGRldGFpbHMsIG9ubHkgYXNraW5nIGZvciB0aGUgbW9zdCBjb21tb25seSB1c2VkIGZpZWxkcy4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2J1dHRvblRleHRdPVwiJ0NyZWF0ZSBTaW1wbGUgU2VydmljZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ1NpbXBsZVNlcnZpY2VDYXJkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cIidzZXJ2aWNlcy9zaW1wbGUnXCJcbiAgICAgICAgICAgID48L2xpYi1jYXJkPlxuICAgICAgICAgICAgPGxpYi1jYXJkXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYXJkU2VsZWN0ZWQoJ2FkdmFuY2VkJylcIlxuICAgICAgICAgICAgICAgICAgICBbaW1hZ2VVcmxdPVwiJy9hc3NldHMvc3Zncy9BZHZhbmNlZC5zdmcnXCJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBZHZhbmNlZCdcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCInQWR2YW5jZWQgc2VydmljZXMgYWxsb3cgeW91IHRvIGNvbmZpZ3VyZSBhbnkgb3B0aW9uIHN1cHBvcnRlZCBieSB0aGUgY29udHJvbGxlciBidXQgYXJlIHN1YnNlcXVlbnRseSBhIGJpdCBtb3JlIGNvbXBsZXguJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtidXR0b25UZXh0XT1cIidDcmVhdGUgQWR2YW5jZWQgU2VydmljZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiJ0FkdmFuY2VkU2VydmljZUNhcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiJ3NlcnZpY2VzL2FkdmFuY2VkJ1wiXG4gICAgICAgICAgICA+PC9saWItY2FyZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cInJldHVyblRvTGlzdFBhZ2UoKVwiIGNsYXNzPVwiYnV0dG9uQmFsbCBjbG9zZVwiIGlkPVwiRXNjWml0aUFXQ2xvc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25MYWJlbFwiPkVTQzwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -10,7 +10,7 @@ import * as i2 from "../messaging/growler.service";
|
|
|
10
10
|
import * as i3 from "@angular/common";
|
|
11
11
|
import * as i4 from "ng-click-outside";
|
|
12
12
|
import * as i5 from "../json-view/json-view.component";
|
|
13
|
-
class ConfigEditorComponent {
|
|
13
|
+
export class ConfigEditorComponent {
|
|
14
14
|
set configData(data) {
|
|
15
15
|
this._configData = data;
|
|
16
16
|
this.initFormData();
|
|
@@ -312,7 +312,6 @@ class ConfigEditorComponent {
|
|
|
312
312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigEditorComponent, deps: [{ token: i1.SchemaService }, { token: i2.GrowlerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
313
313
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigEditorComponent, selector: "lib-config-editor", inputs: { configErrors: "configErrors", configData: "configData", showJsonView: "showJsonView", schema: "schema" }, outputs: { configErrorsChange: "configErrorsChange", configDataChange: "configDataChange" }, viewQueries: [{ propertyName: "dynamicForm", first: true, predicate: ["dynamicform"], descendants: true, read: ViewContainerRef }, { propertyName: "editor", first: true, predicate: JsonEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"form-field-extended-fields\" [hidden]=\"showJsonView\" (mouseup)=\"formDataChangedDebounced($event)\" (keyup)=\"formDataChangedDebounced($event)\" (clickOutside)=\"formDataChangedDebounced($event)\">\n <ng-container #dynamicform></ng-container>\n</div>\n<lib-json-view *ngIf=\"showJsonView && !hideConfigJSON\" (dataChange)=\"jsonDataChangedDebounced($event)\" [(data)]=\"configData\"></lib-json-view>\n<lib-json-view *ngIf=\"showJsonView && hideConfigJSON\" [(data)]=\"configData\"></lib-json-view>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i5.JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy", "showLineNumbers"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }] }); }
|
|
314
314
|
}
|
|
315
|
-
export { ConfigEditorComponent };
|
|
316
315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigEditorComponent, decorators: [{
|
|
317
316
|
type: Component,
|
|
318
317
|
args: [{ selector: 'lib-config-editor', template: "<div class=\"form-field-extended-fields\" [hidden]=\"showJsonView\" (mouseup)=\"formDataChangedDebounced($event)\" (keyup)=\"formDataChangedDebounced($event)\" (clickOutside)=\"formDataChangedDebounced($event)\">\n <ng-container #dynamicform></ng-container>\n</div>\n<lib-json-view *ngIf=\"showJsonView && !hideConfigJSON\" (dataChange)=\"jsonDataChangedDebounced($event)\" [(data)]=\"configData\"></lib-json-view>\n<lib-json-view *ngIf=\"showJsonView && hideConfigJSON\" [(data)]=\"configData\"></lib-json-view>" }]
|
|
@@ -335,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
335
334
|
type: ViewChild,
|
|
336
335
|
args: [JsonEditorComponent, { static: false }]
|
|
337
336
|
}] } });
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvY29uZmlnLWVkaXRvci9jb25maWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jb25maWctZWRpdG9yL2NvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFeEUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFHeEQsTUFLYSxxQkFBcUI7SUFxQmhDLElBQWEsVUFBVSxDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFBQSxDQUFDO0lBR0YsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFHRCxJQUFhLFlBQVksQ0FBQyxZQUFxQjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FB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O2dCQU1NLFlBQVk7c0JBQXhCLEtBQUs7Z0JBU08sTUFBTTtzQkFBbEIsS0FBSztnQkFhOEMsV0FBVztzQkFBOUQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0QsTUFBTTtzQkFBdEQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SnNvbkVkaXRvckNvbXBvbmVudCwgSnNvbkVkaXRvck9wdGlvbnN9IGZyb20gXCJhbmctanNvbmVkaXRvclwiO1xuaW1wb3J0IHtkZWJvdW5jZSwgZGVmZXIsIGlzQm9vbGVhbiwgaXNFbXB0eSwgaXNOaWwsIGtleXN9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7U2NoZW1hU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NjaGVtYS5zZXJ2aWNlXCI7XG5pbXBvcnQgQWp2IGZyb20gJ2Fqdic7XG5pbXBvcnQgYWRkRm9ybWF0cyBmcm9tICdhanYtZm9ybWF0cyc7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiOyAgLy8gSW1wb3J0IGFqdi1mb3JtYXRzXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1jb25maWctZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maWctZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25maWdEYXRhSW5pdCA9IGZhbHNlO1xuXG4gIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGxDb2xvckFycmF5ID0gW1xuICAgICd3aGl0ZScsXG4gICAgJ3doaXRlJyxcbiAgXVxuXG4gIGJDb2xvckFycmF5ID0gW1xuICAgICd2YXIoLS1mb3JtR3JvdXApJyxcbiAgICAndmFyKC0tZm9ybVN1Ykdyb3VwKSdcbiAgXVxuICBoaWRlQ29uZmlnSlNPTiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGNvbmZpZ0Vycm9yczogYW55ID0ge307XG4gIEBPdXRwdXQoKSBjb25maWdFcnJvcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfY29uZmlnRGF0YTogYW55ID0ge307XG4gIEBJbnB1dCgpIHNldCBjb25maWdEYXRhKGRhdGEpIHtcbiAgICB0aGlzLl9jb25maWdEYXRhID0gZGF0YTtcbiAgICB0aGlzLmluaXRGb3JtRGF0YSgpO1xuICB9O1xuXG4gIEBPdXRwdXQoKSBjb25maWdEYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGdldCBjb25maWdEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWdEYXRhO1xuICB9XG5cbiAgX3Nob3dKc29uVmlldyA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgc2hvd0pzb25WaWV3KHNob3dKc29uVmlldzogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dKc29uVmlldyA9IHNob3dKc29uVmlldztcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ0RhdGEoKTtcbiAgfVxuICBnZXQgc2hvd0pzb25WaWV3KCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93SnNvblZpZXc7XG4gIH1cblxuICBfc2NoZW1hID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNldCBzY2hlbWEoc2NoZW1hOiBhbnkpIHtcbiAgICB0aGlzLl9zY2hlbWEgPSBzY2hlbWE7XG4gICAgdGhpcy5pbml0Rm9ybURhdGEoKTtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ0RhdGEoKTtcbiAgfVxuXG4gIGdldCBzY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NjaGVtYTtcbiAgfVxuXG4gIGZvcm1EYXRhQ2hhbmdlZERlYm91bmNlZDogYW55ID0gZGVib3VuY2UodGhpcy5mb3JtRGF0YUNoYW5nZWQuYmluZCh0aGlzKSwgMzUwKTtcbiAganNvbkRhdGFDaGFuZ2VkRGVib3VuY2VkOiBhbnkgPSBkZWJvdW5jZSh0aGlzLmpzb25EYXRhQ2hhbmdlZC5iaW5kKHRoaXMpLCAzNTApO1xuICBAVmlld0NoaWxkKFwiZHluYW1pY2Zvcm1cIiwge3JlYWQ6IFZpZXdDb250YWluZXJSZWZ9KSBkeW5hbWljRm9ybSE6IFZpZXdDb250YWluZXJSZWY7XG4gIEBWaWV3Q2hpbGQoSnNvbkVkaXRvckNvbXBvbmVudCwge3N0YXRpYzogZmFsc2V9KSBlZGl0b3IhOiBKc29uRWRpdG9yQ29tcG9uZW50O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNjaGVtYVN2YzogU2NoZW1hU2VydmljZSwgcHJpdmF0ZSBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpIHtcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xuICAgIGlmICh0aGlzLmR5bmFtaWNGb3JtICYmIHRoaXMuc2NoZW1hKSB7XG4gICAgICB0aGlzLnJlbmRlclNjaGVtYSh0aGlzLnNjaGVtYSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJGb3JtKCkge1xuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoaXRlbT8uY29tcG9uZW50KSBpdGVtLmNvbXBvbmVudC5kZXN0cm95KCk7XG4gICAgfSk7XG4gICAgdGhpcy5jb25maWdFcnJvcnMgPSB7fTtcbiAgICB0aGlzLml0ZW1zID0gW107XG4gIH1cblxuICByZW5kZXJTY2hlbWEoc2NoZW1hOiBhbnkpIHtcbiAgICBpZiAoc2NoZW1hLnByb3BlcnRpZXMpIHtcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNjaGVtYVN2Yy5yZW5kZXIoc2NoZW1hLCB0aGlzLmR5bmFtaWNGb3JtLCB0aGlzLmxDb2xvckFycmF5LCB0aGlzLmJDb2xvckFycmF5KTtcbiAgICAgIGZvciAobGV0IG9iaiBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IGNSZWYgPSBvYmouY29tcG9uZW50O1xuICAgICAgICBjUmVmLmluc3RhbmNlLmVycm9ycyA9IHRoaXMuY29uZmlnRXJyb3JzO1xuICAgICAgICBpZiAoY1JlZj8uaW5zdGFuY2UudmFsdWVDaGFuZ2UpIHtcbiAgICAgICAgICBjb25zdCBwTmFtZTogc3RyaW5nW10gID0gY1JlZi5pbnN0YW5jZS5wYXJlbnRhZ2U7XG4gICAgICAgICAgbGV0IHBhcmVudEtleTtcbiAgICAgICAgICBpZihwTmFtZSkgcGFyZW50S2V5ID0gcE5hbWUuam9pbignLicpO1xuICAgICAgICAgIC8vaWYgKHBhcmVudEtleSAmJiAhdGhpcy5mb3JtRGF0YVtwYXJlbnRLZXldKSB0aGlzLmZvcm1EYXRhW3BhcmVudEtleV0gPSB7fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNvbmZpZ0RhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnNob3dKc29uVmlldykge1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmlldyh0aGlzLml0ZW1zLCB0aGlzLmNvbmZpZ0RhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZGVDb25maWdKU09OID0gdHJ1ZTtcbiAgICAgIGRlZmVyKCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRDb25maWdEYXRhRnJvbUZvcm0oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUZvcm1WaWV3KGl0ZW1zLCBkYXRhOiBhbnkgPSB7fSkge1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLml0ZW1zKSB7XG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgICBpZiAoaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uYWRkZWRJdGVtcykge1xuICAgICAgICAgICAgaXRlbS5hZGRlZEl0ZW1zID0gZGF0YVtpdGVtLmtleV0gfHwgW107XG4gICAgICAgICAgICBpdGVtLmNvbXBvbmVudC5pbnN0YW5jZS5hZGRlZEl0ZW1zID0gZGF0YVtpdGVtLmtleV0gfHwgW107XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudXBkYXRlRm9ybVZpZXcoaXRlbS5pdGVtcywge30pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudXBkYXRlRm9ybVZpZXcoaXRlbS5pdGVtcywgZGF0YVtpdGVtLmtleV0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LnNldFByb3BlcnRpZXMpIHtcbiAgICAgICAgbGV0IHZhbDtcbiAgICAgICAgc3dpdGNoIChpdGVtLmtleSkge1xuICAgICAgICAgIGNhc2UgJ2ZvcndhcmRpbmdjb25maWcnOlxuICAgICAgICAgICAgdmFsID0ge1xuICAgICAgICAgICAgICBwcm90b2NvbDogZGF0YS5wcm90b2NvbCxcbiAgICAgICAgICAgICAgYWRkcmVzczogZGF0YS5hZGRyZXNzLFxuICAgICAgICAgICAgICBwb3J0OiBkYXRhLnBvcnQsXG4gICAgICAgICAgICAgIGZvcndhcmRQcm90b2NvbDogZGF0YS5mb3J3YXJkUHJvdG9jb2wsXG4gICAgICAgICAgICAgIGZvcndhcmRBZGRyZXNzOiBkYXRhLmZvcndhcmRBZGRyZXNzLFxuICAgICAgICAgICAgICBmb3J3YXJkUG9ydDogZGF0YS5mb3J3YXJkUG9ydCxcbiAgICAgICAgICAgICAgYWxsb3dlZFByb3RvY29sczogZGF0YS5hbGxvd2VkUHJvdG9jb2xzLFxuICAgICAgICAgICAgICBhbGxvd2VkQWRkcmVzc2VzOiBkYXRhLmFsbG93ZWRBZGRyZXNzZXMsXG4gICAgICAgICAgICAgIGFsbG93ZWRQb3J0UmFuZ2VzOiBkYXRhLmFsbG93ZWRQb3J0UmFuZ2VzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdwYXAnOlxuICAgICAgICAgICAgdmFsID0ge1xuICAgICAgICAgICAgICBwcm90b2NvbDogZGF0YS5wcm90b2NvbCxcbiAgICAgICAgICAgICAgYWRkcmVzczogZGF0YS5hZGRyZXNzLFxuICAgICAgICAgICAgICBwb3J0OiBkYXRhLnBvcnQsXG4gICAgICAgICAgICAgIGhvc3RuYW1lOiBkYXRhLmhvc3RuYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHZhbCA9IGRhdGFbaXRlbS5rZXldO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uc2V0UHJvcGVydGllcyh2YWwpO1xuICAgICAgfSBlbHNlIGlmIChpdGVtPy5jb21wb25lbnQ/LnNldElucHV0KSB7XG4gICAgICAgIGl0ZW0uY29tcG9uZW50LnNldElucHV0KCdmaWVsZFZhbHVlJywgZGF0YVtpdGVtLmtleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgZ2V0Q29uZmlnRGF0YUZyb21Gb3JtKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICB0aGlzLmFkZEl0ZW1zVG9Db25maWcodGhpcy5pdGVtcywgZGF0YSk7XG4gICAgdGhpcy5fY29uZmlnRGF0YSA9IGRhdGE7XG4gICAgdGhpcy5oaWRlQ29uZmlnSlNPTiA9IGZhbHNlO1xuICAgIHRoaXMuY29uZmlnRGF0YUNoYW5nZS5lbWl0KHRoaXMuY29uZmlnRGF0YSk7XG4gIH1cblxuICBhZGRJdGVtc1RvQ29uZmlnKGl0ZW1zLCBkYXRhOiBhbnkgPSB7fSwgcGFyZW50VHlwZSA9ICdvYmplY3QnKSB7XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2FycmF5Jykge1xuICAgICAgICBpZiAoaXRlbS5hZGRlZEl0ZW1zKSB7XG4gICAgICAgICAgZGF0YVtpdGVtLmtleV0gPSBpdGVtLmFkZGVkSXRlbXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGF0YVtpdGVtLmtleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHRoaXMuYWRkSXRlbXNUb0NvbmZpZyhpdGVtLml0ZW1zLCB7fSwgaXRlbS50eXBlKTtcbiAgICAgICAgbGV0IGhhc0RlZmluaXRpb24gPSBmYWxzZTtcbiAgICAgICAga2V5cyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChpc0Jvb2xlYW4odmFsW2tleV0pIHx8ICghaXNFbXB0eSh2YWxba2V5XSkgJiYgIWlzTmlsKHZhbFtrZXldKSkpIHtcbiAgICAgICAgICAgIGhhc0RlZmluaXRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGRhdGFbaXRlbS5rZXldID0gaGFzRGVmaW5pdGlvbiA/IHZhbCA6IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcm9wcyA9IFtdO1xuICAgICAgICBpZiAoaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uZ2V0UHJvcGVydGllcykge1xuICAgICAgICAgIHByb3BzID0gaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uZ2V0UHJvcGVydGllcygpO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcbiAgICAgICAgICBsZXQgdmFsID0gaXRlbS5jb21wb25lbnQuaW5zdGFuY2UuZmllbGRWYWx1ZTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpICYmIHZhbFswXSAmJiB0eXBlb2YgdmFsWzBdID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFsID0gdmFsPy5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByb3BzID0gW3trZXk6IGl0ZW0ua2V5LCB2YWx1ZTogdmFsfV07XG4gICAgICAgIH1cbiAgICAgICAgcHJvcHMuZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgICAgICAgIGRhdGFbcHJvcC5rZXldID0gcHJvcC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YWxpZGF0ZUNvbmZpZyhzY2hlbWE/LCBzaG93R3Jvd2xlciA9IHRydWUpIHtcbiAgICB0aGlzLmNvbmZpZ0RhdGEgPSB0aGlzLnJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXModGhpcy5jb25maWdEYXRhKTtcbiAgICBsZXQgdmFsaWRhdGlvbkVycm9ycztcbiAgICBsZXQgdmFsaWQgPSB0cnVlO1xuICAgIGlmIChzY2hlbWEpIHtcbiAgICAgIC8vIEluaXRpYWxpemUgQWp2XG4gICAgICBjb25zdCBhanYgPSBuZXcgQWp2KHthbGxFcnJvcnM6IHRydWV9KTtcbiAgICAgIGFkZEZvcm1hdHMoYWp2KTtcbiAgICAgIGFqdi5hZGRGb3JtYXQoJ2lkbi1ob3N0bmFtZScsIC9eLiskLyk7XG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IGFqdi5jb21waWxlKHNjaGVtYSk7XG4gICAgICB2YWxpZCA9IHZhbGlkYXRlKHRoaXMuY29uZmlnRGF0YSk7XG4gICAgICB2YWxpZGF0aW9uRXJyb3JzID0gdmFsaWRhdGUuZXJyb3JzO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ0Vycm9ycyA9IHt9O1xuICAgIGNvbnN0IHByb3BlcnR5VmFsaWRhdGlvbk1hcCA9IHt9O1xuICAgIHRoaXMudmFsaWRhdGVDb25maWdJdGVtcyh0aGlzLml0ZW1zLCB1bmRlZmluZWQsICcnLCB2YWxpZGF0aW9uRXJyb3JzKTtcbiAgICB0aGlzLmJ1aWxkUHJvcGVydHlWYWxpZGF0aW9uTWFwKHZhbGlkYXRpb25FcnJvcnMsIHByb3BlcnR5VmFsaWRhdGlvbk1hcCk7XG4gICAgaWYgKCF2YWxpZCkge1xuICAgICAgdGhpcy5jb25maWdFcnJvcnNbJ2NvbmZpZ0RhdGEnXSA9IHRydWU7XG4gICAgICBpZiAoc2hvd0dyb3dsZXIpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29uZmlnRXJyb3JzKHByb3BlcnR5VmFsaWRhdGlvbk1hcCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY29uZmlnRXJyb3JzQ2hhbmdlLmVtaXQodGhpcy5jb25maWdFcnJvcnMpO1xuICAgIHJldHVybiBpc0VtcHR5KHRoaXMuY29uZmlnRXJyb3JzKTtcbiAgfVxuXG4gIGJ1aWxkUHJvcGVydHlWYWxpZGF0aW9uTWFwKHZhbGlkYXRpb25FcnJvcnMsIHByb3BlcnR5VmFsaWRhdGlvbk1hcCkge1xuICAgIHZhbGlkYXRpb25FcnJvcnM/LmZvckVhY2goKGVycm9yKSA9PiB7XG4gICAgICBsZXQgcGF0aCA9IGVycm9yLmluc3RhbmNlUGF0aDtcbiAgICAgIGlmICghaXNFbXB0eShlcnJvcj8ucGFyYW1zPy5taXNzaW5nUHJvcGVydHkpKSB7XG4gICAgICAgIHBhdGggKz0gJy8nICsgZXJyb3I/LnBhcmFtcz8ubWlzc2luZ1Byb3BlcnR5O1xuICAgICAgfVxuICAgICAgaWYgKCFpc0VtcHR5KHBhdGgpKSB7XG4gICAgICAgIHByb3BlcnR5VmFsaWRhdGlvbk1hcFtwYXRoXSA9IGA8Yj4ke3BhdGh9PC9iPjogJHtlcnJvci5tZXNzYWdlfWA7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB2YWxpZGF0ZUNvbmZpZ0l0ZW1zKGl0ZW1zLCBwYXJlbnRUeXBlID0gJ29iamVjdCcsIHBhdGggPSAnJywgdmFsaWRhdGlvbkVycm9ycyA9IFtdKSB7XG4gICAgbGV0IGlzVmFsaWQgPSB0cnVlO1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0ZUNvbmZpZ0l0ZW1zKGl0ZW0uaXRlbXMsIGl0ZW0udHlwZSwgcGF0aCArICcvJyArIGl0ZW0ua2V5LCB2YWxpZGF0aW9uRXJyb3JzKSkge1xuICAgICAgICAgIGlzVmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpdGVtPy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zZXRWYWxpZGF0aW9uRXJyb3JzKSB7XG4gICAgICAgIGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LnNldFZhbGlkYXRpb25FcnJvcnMocGF0aCwgdmFsaWRhdGlvbkVycm9ycylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGhhc1ZhbGlkYXRpb25FcnJvcjogYW55ID0gdmFsaWRhdGlvbkVycm9ycz8uc29tZSgoZXJyb3IpID0+IHtcbiAgICAgICAgICBsZXQgcGF0aFRvTWFjaCA9IGVycm9yLmluc3RhbmNlUGF0aDtcbiAgICAgICAgICBpZiAoIWlzRW1wdHkoZXJyb3I/LnBhcmFtcz8ubWlzc2luZ1Byb3BlcnR5KSkge1xuICAgICAgICAgICAgcGF0aFRvTWFjaCArPSAnLycgKyBlcnJvcj8ucGFyYW1zPy5taXNzaW5nUHJvcGVydHk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG1hdGNoZWQgPSBwYXRoVG9NYWNoID09PSAocGF0aCArICcvJyArIGl0ZW0ua2V5KTtcbiAgICAgICAgICByZXR1cm4gbWF0Y2hlZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpdGVtPy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zZXRJc1ZhbGlkKSB7XG4gICAgICAgICAgaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uc2V0SXNWYWxpZCghaGFzVmFsaWRhdGlvbkVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBpc1ZhbGlkO1xuICB9XG5cbiAgZGlzcGxheUNvbmZpZ0Vycm9ycyhwcm9wZXJ0eVZhbGlkYXRpb25NYXApIHtcbiAgICBsZXQgdmFsaWRhdGlvbk1lc3NhZ2UgPSAnJztcbiAgICBpZiAoIWlzRW1wdHkocHJvcGVydHlWYWxpZGF0aW9uTWFwKSkge1xuICAgICAgY29uc3QgcHJvcHMgPSBrZXlzKHByb3BlcnR5VmFsaWRhdGlvbk1hcCk7XG4gICAgICBwcm9wcy5mb3JFYWNoKChrZXksIGluZGV4KSA9PiB7XG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlICs9IGA8bGk+JHtwcm9wZXJ0eVZhbGlkYXRpb25NYXBba2V5XX08L2xpPmA7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGlzRW1wdHkodmFsaWRhdGlvbk1lc3NhZ2UpKSB7XG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9ICdUaGUgZW50ZXJlZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQuIFBsZWFzZSB1cGRhdGUgbWlzc2luZy9pbnZhbGlkIGZpZWxkcyBhbmQgdHJ5IGFnYWluLic7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gYDx1bCBzdHlsZT1cIm1hcmdpbi10b3A6IDVweDtcIj4ke3ZhbGlkYXRpb25NZXNzYWdlfTwvdWw+YDtcbiAgICB9XG4gICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAnZXJyb3InLFxuICAgICAgICAnRXJyb3InLFxuICAgICAgICBgRXJyb3IgVmFsaWRhdGluZyBDb25maWdgLFxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSxcbiAgICApO1xuICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gIH1cblxuICBpbml0Rm9ybURhdGEoKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZ0RhdGFJbml0ICYmICFpc0VtcHR5KHRoaXMuX2NvbmZpZ0RhdGEpICYmICFpc0VtcHR5KHRoaXMuc2NoZW1hKSkge1xuICAgICAgdGhpcy5jb25maWdEYXRhSW5pdCA9IHRydWU7XG4gICAgICB0aGlzLmZvcm1EYXRhQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1EYXRhQ2hhbmdlZCgpIHtcbiAgICAgIGRlZmVyKCgpID0+IHtcbiAgICAgICAgdGhpcy5nZXRDb25maWdEYXRhRnJvbUZvcm0oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAganNvbkRhdGFDaGFuZ2VkKGV2ZW50KSB7XG4gICAgZGVmZXIoKCkgPT4ge1xuICAgICAgdGhpcy5jb25maWdEYXRhQ2hhbmdlLmVtaXQodGhpcy5jb25maWdEYXRhKTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZpZXcodGhpcy5pdGVtcywgdGhpcy5jb25maWdEYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMoZGF0YSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICByZXR1cm4gZGF0YVxuICAgICAgICAgIC5tYXAoaXRlbSA9PiB0aGlzLnJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMoaXRlbSkpXG4gICAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IHVuZGVmaW5lZCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhKVxuICAgICAgICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHRoaXMucmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyh2YWx1ZSldKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWV4dGVuZGVkLWZpZWxkc1wiIFtoaWRkZW5dPVwic2hvd0pzb25WaWV3XCIgKG1vdXNldXApPVwiZm9ybURhdGFDaGFuZ2VkRGVib3VuY2VkKCRldmVudClcIiAoa2V5dXApPVwiZm9ybURhdGFDaGFuZ2VkRGVib3VuY2VkKCRldmVudClcIiAoY2xpY2tPdXRzaWRlKT1cImZvcm1EYXRhQ2hhbmdlZERlYm91bmNlZCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAjZHluYW1pY2Zvcm0+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxsaWItanNvbi12aWV3ICpuZ0lmPVwic2hvd0pzb25WaWV3ICYmICFoaWRlQ29uZmlnSlNPTlwiIChkYXRhQ2hhbmdlKT1cImpzb25EYXRhQ2hhbmdlZERlYm91bmNlZCgkZXZlbnQpXCIgWyhkYXRhKV09XCJjb25maWdEYXRhXCI+PC9saWItanNvbi12aWV3PlxuPGxpYi1qc29uLXZpZXcgKm5nSWY9XCJzaG93SnNvblZpZXcgJiYgaGlkZUNvbmZpZ0pTT05cIiBbKGRhdGEpXT1cImNvbmZpZ0RhdGFcIj48L2xpYi1qc29uLXZpZXc+Il19
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvY29uZmlnLWVkaXRvci9jb25maWctZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jb25maWctZWRpdG9yL2NvbmZpZy1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFeEUsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFReEQsTUFBTSxPQUFPLHFCQUFxQjtJQXFCaEMsSUFBYSxVQUFVLENBQUMsSUFBSTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUFBLENBQUM7SUFHRixJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUdELElBQWEsWUFBWSxDQUFDLFlBQXFCO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFB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QUFZO3NCQUF4QixLQUFLO2dCQVNPLE1BQU07c0JBQWxCLEtBQUs7Z0JBYThDLFdBQVc7c0JBQTlELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUNELE1BQU07c0JBQXRELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0pzb25FZGl0b3JDb21wb25lbnQsIEpzb25FZGl0b3JPcHRpb25zfSBmcm9tIFwiYW5nLWpzb25lZGl0b3JcIjtcbmltcG9ydCB7ZGVib3VuY2UsIGRlZmVyLCBpc0Jvb2xlYW4sIGlzRW1wdHksIGlzTmlsLCBrZXlzfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IEFqdiBmcm9tICdhanYnO1xuaW1wb3J0IGFkZEZvcm1hdHMgZnJvbSAnYWp2LWZvcm1hdHMnO1xuaW1wb3J0IHtHcm93bGVyTW9kZWx9IGZyb20gXCIuLi9tZXNzYWdpbmcvZ3Jvd2xlci5tb2RlbFwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjsgIC8vIEltcG9ydCBhanYtZm9ybWF0c1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY29uZmlnLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maWctZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlnLWVkaXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uZmlnRGF0YUluaXQgPSBmYWxzZTtcblxuICBpdGVtczogYW55W10gPSBbXTtcblxuICBsQ29sb3JBcnJheSA9IFtcbiAgICAnd2hpdGUnLFxuICAgICd3aGl0ZScsXG4gIF1cblxuICBiQ29sb3JBcnJheSA9IFtcbiAgICAndmFyKC0tZm9ybUdyb3VwKScsXG4gICAgJ3ZhcigtLWZvcm1TdWJHcm91cCknXG4gIF1cbiAgaGlkZUNvbmZpZ0pTT04gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb25maWdFcnJvcnM6IGFueSA9IHt9O1xuICBAT3V0cHV0KCkgY29uZmlnRXJyb3JzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgX2NvbmZpZ0RhdGE6IGFueSA9IHt9O1xuICBASW5wdXQoKSBzZXQgY29uZmlnRGF0YShkYXRhKSB7XG4gICAgdGhpcy5fY29uZmlnRGF0YSA9IGRhdGE7XG4gICAgdGhpcy5pbml0Rm9ybURhdGEoKTtcbiAgfTtcblxuICBAT3V0cHV0KCkgY29uZmlnRGF0YUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBnZXQgY29uZmlnRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnRGF0YTtcbiAgfVxuXG4gIF9zaG93SnNvblZpZXcgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IHNob3dKc29uVmlldyhzaG93SnNvblZpZXc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93SnNvblZpZXcgPSBzaG93SnNvblZpZXc7XG4gICAgdGhpcy51cGRhdGVDb25maWdEYXRhKCk7XG4gIH1cbiAgZ2V0IHNob3dKc29uVmlldygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0pzb25WaWV3O1xuICB9XG5cbiAgX3NjaGVtYSA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgc2NoZW1hKHNjaGVtYTogYW55KSB7XG4gICAgdGhpcy5fc2NoZW1hID0gc2NoZW1hO1xuICAgIHRoaXMuaW5pdEZvcm1EYXRhKCk7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy51cGRhdGVDb25maWdEYXRhKCk7XG4gIH1cblxuICBnZXQgc2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLl9zY2hlbWE7XG4gIH1cblxuICBmb3JtRGF0YUNoYW5nZWREZWJvdW5jZWQ6IGFueSA9IGRlYm91bmNlKHRoaXMuZm9ybURhdGFDaGFuZ2VkLmJpbmQodGhpcyksIDM1MCk7XG4gIGpzb25EYXRhQ2hhbmdlZERlYm91bmNlZDogYW55ID0gZGVib3VuY2UodGhpcy5qc29uRGF0YUNoYW5nZWQuYmluZCh0aGlzKSwgMzUwKTtcbiAgQFZpZXdDaGlsZChcImR5bmFtaWNmb3JtXCIsIHtyZWFkOiBWaWV3Q29udGFpbmVyUmVmfSkgZHluYW1pY0Zvcm0hOiBWaWV3Q29udGFpbmVyUmVmO1xuICBAVmlld0NoaWxkKEpzb25FZGl0b3JDb21wb25lbnQsIHtzdGF0aWM6IGZhbHNlfSkgZWRpdG9yITogSnNvbkVkaXRvckNvbXBvbmVudDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzY2hlbWFTdmM6IFNjaGVtYVNlcnZpY2UsIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5jbGVhckZvcm0oKTtcbiAgICBpZiAodGhpcy5keW5hbWljRm9ybSAmJiB0aGlzLnNjaGVtYSkge1xuICAgICAgdGhpcy5yZW5kZXJTY2hlbWEodGhpcy5zY2hlbWEpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyRm9ybSgpIHtcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaWYgKGl0ZW0/LmNvbXBvbmVudCkgaXRlbS5jb21wb25lbnQuZGVzdHJveSgpO1xuICAgIH0pO1xuICAgIHRoaXMuY29uZmlnRXJyb3JzID0ge307XG4gICAgdGhpcy5pdGVtcyA9IFtdO1xuICB9XG5cbiAgcmVuZGVyU2NoZW1hKHNjaGVtYTogYW55KSB7XG4gICAgaWYgKHNjaGVtYS5wcm9wZXJ0aWVzKSB7XG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5zY2hlbWFTdmMucmVuZGVyKHNjaGVtYSwgdGhpcy5keW5hbWljRm9ybSwgdGhpcy5sQ29sb3JBcnJheSwgdGhpcy5iQ29sb3JBcnJheSk7XG4gICAgICBmb3IgKGxldCBvYmogb2YgdGhpcy5pdGVtcykge1xuICAgICAgICBjb25zdCBjUmVmID0gb2JqLmNvbXBvbmVudDtcbiAgICAgICAgY1JlZi5pbnN0YW5jZS5lcnJvcnMgPSB0aGlzLmNvbmZpZ0Vycm9ycztcbiAgICAgICAgaWYgKGNSZWY/Lmluc3RhbmNlLnZhbHVlQ2hhbmdlKSB7XG4gICAgICAgICAgY29uc3QgcE5hbWU6IHN0cmluZ1tdICA9IGNSZWYuaW5zdGFuY2UucGFyZW50YWdlO1xuICAgICAgICAgIGxldCBwYXJlbnRLZXk7XG4gICAgICAgICAgaWYocE5hbWUpIHBhcmVudEtleSA9IHBOYW1lLmpvaW4oJy4nKTtcbiAgICAgICAgICAvL2lmIChwYXJlbnRLZXkgJiYgIXRoaXMuZm9ybURhdGFbcGFyZW50S2V5XSkgdGhpcy5mb3JtRGF0YVtwYXJlbnRLZXldID0ge307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb25maWdEYXRhKCkge1xuICAgIGlmICghdGhpcy5zaG93SnNvblZpZXcpIHtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZpZXcodGhpcy5pdGVtcywgdGhpcy5jb25maWdEYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oaWRlQ29uZmlnSlNPTiA9IHRydWU7XG4gICAgICBkZWZlcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Q29uZmlnRGF0YUZyb21Gb3JtKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVGb3JtVmlldyhpdGVtcywgZGF0YTogYW55ID0ge30pIHtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5pdGVtcykge1xuICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnYXJyYXknKSB7XG4gICAgICAgICAgaWYgKGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LmFkZGVkSXRlbXMpIHtcbiAgICAgICAgICAgIGl0ZW0uYWRkZWRJdGVtcyA9IGRhdGFbaXRlbS5rZXldIHx8IFtdO1xuICAgICAgICAgICAgaXRlbS5jb21wb25lbnQuaW5zdGFuY2UuYWRkZWRJdGVtcyA9IGRhdGFbaXRlbS5rZXldIHx8IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WaWV3KGl0ZW0uaXRlbXMsIHt9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WaWV3KGl0ZW0uaXRlbXMsIGRhdGFbaXRlbS5rZXldKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpdGVtPy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zZXRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIGxldCB2YWw7XG4gICAgICAgIHN3aXRjaCAoaXRlbS5rZXkpIHtcbiAgICAgICAgICBjYXNlICdmb3J3YXJkaW5nY29uZmlnJzpcbiAgICAgICAgICAgIHZhbCA9IHtcbiAgICAgICAgICAgICAgcHJvdG9jb2w6IGRhdGEucHJvdG9jb2wsXG4gICAgICAgICAgICAgIGFkZHJlc3M6IGRhdGEuYWRkcmVzcyxcbiAgICAgICAgICAgICAgcG9ydDogZGF0YS5wb3J0LFxuICAgICAgICAgICAgICBmb3J3YXJkUHJvdG9jb2w6IGRhdGEuZm9yd2FyZFByb3RvY29sLFxuICAgICAgICAgICAgICBmb3J3YXJkQWRkcmVzczogZGF0YS5mb3J3YXJkQWRkcmVzcyxcbiAgICAgICAgICAgICAgZm9yd2FyZFBvcnQ6IGRhdGEuZm9yd2FyZFBvcnQsXG4gICAgICAgICAgICAgIGFsbG93ZWRQcm90b2NvbHM6IGRhdGEuYWxsb3dlZFByb3RvY29scyxcbiAgICAgICAgICAgICAgYWxsb3dlZEFkZHJlc3NlczogZGF0YS5hbGxvd2VkQWRkcmVzc2VzLFxuICAgICAgICAgICAgICBhbGxvd2VkUG9ydFJhbmdlczogZGF0YS5hbGxvd2VkUG9ydFJhbmdlc1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncGFwJzpcbiAgICAgICAgICAgIHZhbCA9IHtcbiAgICAgICAgICAgICAgcHJvdG9jb2w6IGRhdGEucHJvdG9jb2wsXG4gICAgICAgICAgICAgIGFkZHJlc3M6IGRhdGEuYWRkcmVzcyxcbiAgICAgICAgICAgICAgcG9ydDogZGF0YS5wb3J0LFxuICAgICAgICAgICAgICBob3N0bmFtZTogZGF0YS5ob3N0bmFtZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB2YWwgPSBkYXRhW2l0ZW0ua2V5XTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LnNldFByb3BlcnRpZXModmFsKTtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbT8uY29tcG9uZW50Py5zZXRJbnB1dCkge1xuICAgICAgICBpdGVtLmNvbXBvbmVudC5zZXRJbnB1dCgnZmllbGRWYWx1ZScsIGRhdGFbaXRlbS5rZXldKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGdldENvbmZpZ0RhdGFGcm9tRm9ybSgpIHtcbiAgICBjb25zdCBkYXRhID0ge307XG4gICAgdGhpcy5hZGRJdGVtc1RvQ29uZmlnKHRoaXMuaXRlbXMsIGRhdGEpO1xuICAgIHRoaXMuX2NvbmZpZ0RhdGEgPSBkYXRhO1xuICAgIHRoaXMuaGlkZUNvbmZpZ0pTT04gPSBmYWxzZTtcbiAgICB0aGlzLmNvbmZpZ0RhdGFDaGFuZ2UuZW1pdCh0aGlzLmNvbmZpZ0RhdGEpO1xuICB9XG5cbiAgYWRkSXRlbXNUb0NvbmZpZyhpdGVtcywgZGF0YTogYW55ID0ge30sIHBhcmVudFR5cGUgPSAnb2JqZWN0Jykge1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdhcnJheScpIHtcbiAgICAgICAgaWYgKGl0ZW0uYWRkZWRJdGVtcykge1xuICAgICAgICAgIGRhdGFbaXRlbS5rZXldID0gaXRlbS5hZGRlZEl0ZW1zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGFbaXRlbS5rZXldID0gW107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmFkZEl0ZW1zVG9Db25maWcoaXRlbS5pdGVtcywge30sIGl0ZW0udHlwZSk7XG4gICAgICAgIGxldCBoYXNEZWZpbml0aW9uID0gZmFsc2U7XG4gICAgICAgIGtleXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICBpZiAoaXNCb29sZWFuKHZhbFtrZXldKSB8fCAoIWlzRW1wdHkodmFsW2tleV0pICYmICFpc05pbCh2YWxba2V5XSkpKSB7XG4gICAgICAgICAgICBoYXNEZWZpbml0aW9uID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBkYXRhW2l0ZW0ua2V5XSA9IGhhc0RlZmluaXRpb24gPyB2YWwgOiB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJvcHMgPSBbXTtcbiAgICAgICAgaWYgKGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LmdldFByb3BlcnRpZXMpIHtcbiAgICAgICAgICBwcm9wcyA9IGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LmdldFByb3BlcnRpZXMoKTtcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XG4gICAgICAgICAgbGV0IHZhbCA9IGl0ZW0uY29tcG9uZW50Lmluc3RhbmNlLmZpZWxkVmFsdWU7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWxbMF0gJiYgdHlwZW9mIHZhbFswXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhbCA9IHZhbD8ubWFwKGl0ZW0gPT4gaXRlbS50cmltKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcm9wcyA9IFt7a2V5OiBpdGVtLmtleSwgdmFsdWU6IHZhbH1dO1xuICAgICAgICB9XG4gICAgICAgIHByb3BzLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgICAgICBkYXRhW3Byb3Aua2V5XSA9IHByb3AudmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFsaWRhdGVDb25maWcoc2NoZW1hPywgc2hvd0dyb3dsZXIgPSB0cnVlKSB7XG4gICAgdGhpcy5jb25maWdEYXRhID0gdGhpcy5yZW1vdmVVbmRlZmluZWRQcm9wZXJ0aWVzKHRoaXMuY29uZmlnRGF0YSk7XG4gICAgbGV0IHZhbGlkYXRpb25FcnJvcnM7XG4gICAgbGV0IHZhbGlkID0gdHJ1ZTtcbiAgICBpZiAoc2NoZW1hKSB7XG4gICAgICAvLyBJbml0aWFsaXplIEFqdlxuICAgICAgY29uc3QgYWp2ID0gbmV3IEFqdih7YWxsRXJyb3JzOiB0cnVlfSk7XG4gICAgICBhZGRGb3JtYXRzKGFqdik7XG4gICAgICBhanYuYWRkRm9ybWF0KCdpZG4taG9zdG5hbWUnLCAvXi4rJC8pO1xuICAgICAgY29uc3QgdmFsaWRhdGUgPSBhanYuY29tcGlsZShzY2hlbWEpO1xuICAgICAgdmFsaWQgPSB2YWxpZGF0ZSh0aGlzLmNvbmZpZ0RhdGEpO1xuICAgICAgdmFsaWRhdGlvbkVycm9ycyA9IHZhbGlkYXRlLmVycm9ycztcbiAgICB9XG4gICAgdGhpcy5jb25maWdFcnJvcnMgPSB7fTtcbiAgICBjb25zdCBwcm9wZXJ0eVZhbGlkYXRpb25NYXAgPSB7fTtcbiAgICB0aGlzLnZhbGlkYXRlQ29uZmlnSXRlbXModGhpcy5pdGVtcywgdW5kZWZpbmVkLCAnJywgdmFsaWRhdGlvbkVycm9ycyk7XG4gICAgdGhpcy5idWlsZFByb3BlcnR5VmFsaWRhdGlvbk1hcCh2YWxpZGF0aW9uRXJyb3JzLCBwcm9wZXJ0eVZhbGlkYXRpb25NYXApO1xuICAgIGlmICghdmFsaWQpIHtcbiAgICAgIHRoaXMuY29uZmlnRXJyb3JzWydjb25maWdEYXRhJ10gPSB0cnVlO1xuICAgICAgaWYgKHNob3dHcm93bGVyKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbmZpZ0Vycm9ycyhwcm9wZXJ0eVZhbGlkYXRpb25NYXApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbmZpZ0Vycm9yc0NoYW5nZS5lbWl0KHRoaXMuY29uZmlnRXJyb3JzKTtcbiAgICByZXR1cm4gaXNFbXB0eSh0aGlzLmNvbmZpZ0Vycm9ycyk7XG4gIH1cblxuICBidWlsZFByb3BlcnR5VmFsaWRhdGlvbk1hcCh2YWxpZGF0aW9uRXJyb3JzLCBwcm9wZXJ0eVZhbGlkYXRpb25NYXApIHtcbiAgICB2YWxpZGF0aW9uRXJyb3JzPy5mb3JFYWNoKChlcnJvcikgPT4ge1xuICAgICAgbGV0IHBhdGggPSBlcnJvci5pbnN0YW5jZVBhdGg7XG4gICAgICBpZiAoIWlzRW1wdHkoZXJyb3I/LnBhcmFtcz8ubWlzc2luZ1Byb3BlcnR5KSkge1xuICAgICAgICBwYXRoICs9ICcvJyArIGVycm9yPy5wYXJhbXM/Lm1pc3NpbmdQcm9wZXJ0eTtcbiAgICAgIH1cbiAgICAgIGlmICghaXNFbXB0eShwYXRoKSkge1xuICAgICAgICBwcm9wZXJ0eVZhbGlkYXRpb25NYXBbcGF0aF0gPSBgPGI+JHtwYXRofTwvYj46ICR7ZXJyb3IubWVzc2FnZX1gO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdmFsaWRhdGVDb25maWdJdGVtcyhpdGVtcywgcGFyZW50VHlwZSA9ICdvYmplY3QnLCBwYXRoID0gJycsIHZhbGlkYXRpb25FcnJvcnMgPSBbXSkge1xuICAgIGxldCBpc1ZhbGlkID0gdHJ1ZTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS50eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVDb25maWdJdGVtcyhpdGVtLml0ZW1zLCBpdGVtLnR5cGUsIHBhdGggKyAnLycgKyBpdGVtLmtleSwgdmFsaWRhdGlvbkVycm9ycykpIHtcbiAgICAgICAgICBpc1ZhbGlkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uc2V0VmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICBpdGVtPy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zZXRWYWxpZGF0aW9uRXJyb3JzKHBhdGgsIHZhbGlkYXRpb25FcnJvcnMpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBoYXNWYWxpZGF0aW9uRXJyb3I6IGFueSA9IHZhbGlkYXRpb25FcnJvcnM/LnNvbWUoKGVycm9yKSA9PiB7XG4gICAgICAgICAgbGV0IHBhdGhUb01hY2ggPSBlcnJvci5pbnN0YW5jZVBhdGg7XG4gICAgICAgICAgaWYgKCFpc0VtcHR5KGVycm9yPy5wYXJhbXM/Lm1pc3NpbmdQcm9wZXJ0eSkpIHtcbiAgICAgICAgICAgIHBhdGhUb01hY2ggKz0gJy8nICsgZXJyb3I/LnBhcmFtcz8ubWlzc2luZ1Byb3BlcnR5O1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBtYXRjaGVkID0gcGF0aFRvTWFjaCA9PT0gKHBhdGggKyAnLycgKyBpdGVtLmtleSk7XG4gICAgICAgICAgcmV0dXJuIG1hdGNoZWQ7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaXRlbT8uY29tcG9uZW50Py5pbnN0YW5jZT8uc2V0SXNWYWxpZCkge1xuICAgICAgICAgIGl0ZW0/LmNvbXBvbmVudD8uaW5zdGFuY2U/LnNldElzVmFsaWQoIWhhc1ZhbGlkYXRpb25FcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNWYWxpZDtcbiAgfVxuXG4gIGRpc3BsYXlDb25maWdFcnJvcnMocHJvcGVydHlWYWxpZGF0aW9uTWFwKSB7XG4gICAgbGV0IHZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgaWYgKCFpc0VtcHR5KHByb3BlcnR5VmFsaWRhdGlvbk1hcCkpIHtcbiAgICAgIGNvbnN0IHByb3BzID0ga2V5cyhwcm9wZXJ0eVZhbGlkYXRpb25NYXApO1xuICAgICAgcHJvcHMuZm9yRWFjaCgoa2V5LCBpbmRleCkgPT4ge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSArPSBgPGxpPiR7cHJvcGVydHlWYWxpZGF0aW9uTWFwW2tleV19PC9saT5gO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChpc0VtcHR5KHZhbGlkYXRpb25NZXNzYWdlKSkge1xuICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSAnVGhlIGVudGVyZWQgY29uZmlndXJhdGlvbiBpcyBpbnZhbGlkLiBQbGVhc2UgdXBkYXRlIG1pc3NpbmcvaW52YWxpZCBmaWVsZHMgYW5kIHRyeSBhZ2Fpbi4nO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IGA8dWwgc3R5bGU9XCJtYXJnaW4tdG9wOiA1cHg7XCI+JHt2YWxpZGF0aW9uTWVzc2FnZX08L3VsPmA7XG4gICAgfVxuICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgYEVycm9yIFZhbGlkYXRpbmcgQ29uZmlnYCxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UsXG4gICAgKTtcbiAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICB9XG5cbiAgaW5pdEZvcm1EYXRhKCkge1xuICAgIGlmICghdGhpcy5jb25maWdEYXRhSW5pdCAmJiAhaXNFbXB0eSh0aGlzLl9jb25maWdEYXRhKSAmJiAhaXNFbXB0eSh0aGlzLnNjaGVtYSkpIHtcbiAgICAgIHRoaXMuY29uZmlnRGF0YUluaXQgPSB0cnVlO1xuICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBmb3JtRGF0YUNoYW5nZWQoKSB7XG4gICAgICBkZWZlcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Q29uZmlnRGF0YUZyb21Gb3JtKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGpzb25EYXRhQ2hhbmdlZChldmVudCkge1xuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnRGF0YUNoYW5nZS5lbWl0KHRoaXMuY29uZmlnRGF0YSk7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WaWV3KHRoaXMuaXRlbXMsIHRoaXMuY29uZmlnRGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVVbmRlZmluZWRQcm9wZXJ0aWVzKGRhdGEpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAubWFwKGl0ZW0gPT4gdGhpcy5yZW1vdmVVbmRlZmluZWRQcm9wZXJ0aWVzKGl0ZW0pKVxuICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBba2V5LCB0aGlzLnJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXModmFsdWUpXSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZC1leHRlbmRlZC1maWVsZHNcIiBbaGlkZGVuXT1cInNob3dKc29uVmlld1wiIChtb3VzZXVwKT1cImZvcm1EYXRhQ2hhbmdlZERlYm91bmNlZCgkZXZlbnQpXCIgKGtleXVwKT1cImZvcm1EYXRhQ2hhbmdlZERlYm91bmNlZCgkZXZlbnQpXCIgKGNsaWNrT3V0c2lkZSk9XCJmb3JtRGF0YUNoYW5nZWREZWJvdW5jZWQoJGV2ZW50KVwiPlxuICAgIDxuZy1jb250YWluZXIgI2R5bmFtaWNmb3JtPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bGliLWpzb24tdmlldyAqbmdJZj1cInNob3dKc29uVmlldyAmJiAhaGlkZUNvbmZpZ0pTT05cIiAoZGF0YUNoYW5nZSk9XCJqc29uRGF0YUNoYW5nZWREZWJvdW5jZWQoJGV2ZW50KVwiIFsoZGF0YSldPVwiY29uZmlnRGF0YVwiPjwvbGliLWpzb24tdmlldz5cbjxsaWItanNvbi12aWV3ICpuZ0lmPVwic2hvd0pzb25WaWV3ICYmIGhpZGVDb25maWdKU09OXCIgWyhkYXRhKV09XCJjb25maWdEYXRhXCI+PC9saWItanNvbi12aWV3PiJdfQ==
|
|
@@ -20,7 +20,7 @@ import * as i0 from "@angular/core";
|
|
|
20
20
|
import * as i1 from "@angular/material/dialog";
|
|
21
21
|
import * as i2 from "@angular/common";
|
|
22
22
|
import * as i3 from "@angular/material/tooltip";
|
|
23
|
-
class ConfirmComponent {
|
|
23
|
+
export class ConfirmComponent {
|
|
24
24
|
constructor(dialogRef, data) {
|
|
25
25
|
this.dialogRef = dialogRef;
|
|
26
26
|
this.data = data;
|
|
@@ -65,14 +65,13 @@ class ConfirmComponent {
|
|
|
65
65
|
this.dataObj.secondaryConfirmed = !this.dataObj.secondaryConfirmed;
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmComponent, selector: "lib-confirm", ngImport: i0, template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmComponent, selector: "lib-confirm", ngImport: i0, template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:var(--formFieldBorderRadius);width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:var(--marginXXL)}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
|
|
69
69
|
}
|
|
70
|
-
export { ConfirmComponent };
|
|
71
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmComponent, decorators: [{
|
|
72
71
|
type: Component,
|
|
73
|
-
args: [{ selector: 'lib-confirm', template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:
|
|
72
|
+
args: [{ selector: 'lib-confirm', template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:var(--formFieldBorderRadius);width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:var(--marginXXL)}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"] }]
|
|
74
73
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
75
74
|
type: Inject,
|
|
76
75
|
args: [MAT_DIALOG_DATA]
|
|
77
76
|
}] }]; } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvZmVhdHVyZXMvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7O0FBT3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUF1QjNCLFlBQW9CLFNBQXlDLEVBQWtDLElBQVM7UUFBcEYsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFBa0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQXJCeEcsWUFBTyxHQUFHO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTyxFQUFFLEVBQUU7WUFDWCxZQUFZLEVBQUUsRUFBRTtZQUNoQixlQUFlLEVBQUUsU0FBUztZQUMxQixXQUFXLEVBQUUsRUFBRTtZQUNmLFVBQVUsRUFBRSxFQUFFO1lBQ2QsVUFBVSxFQUFFLEVBQUU7WUFDZCxnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLG9CQUFvQixFQUFFLFNBQVM7WUFDL0Isa0JBQWtCLEVBQUUsU0FBUztZQUM3QixlQUFlLEVBQUUsU0FBUztZQUMxQixRQUFRLEVBQUUscUNBQXFDO1NBQ2hELENBQUE7UUFHQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLDZCQUE2QixDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUNyRSxDQUFDOytHQS9DVSxnQkFBZ0IsOENBdUI0QyxlQUFlO21HQXZCM0UsZ0JBQWdCLG1EQzNCN0IscWxGQTJDQTs7NEZEaEJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhOzswQkEyQnlDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaWFsb2dSZWZ9IGZyb20gXCJAYW5ndWxhci9jZGsvZGlhbG9nXCI7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5cbmltcG9ydCB7aXNFbXB0eSwgaXNOaWx9IGZyb20gXCJsb2Rhc2hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtQ29tcG9uZW50IHtcblxuICBkYXRhT2JqID0ge1xuICAgIGFwcGVuZElkOiAnJyxcbiAgICB0aXRsZTogJycsXG4gICAgc3VidGl0bGU6ICcnLFxuICAgIG1lc3NhZ2U6ICcnLFxuICAgIGNvbmZpcm1MYWJlbDogJycsXG4gICAgY29uZmlybUxhYmVsQWx0OiB1bmRlZmluZWQsXG4gICAgY2FuY2VsTGFiZWw6ICcnLFxuICAgIGJ1bGxldExpc3Q6IFtdLFxuICAgIHN1Ym1lc3NhZ2U6ICcnLFxuICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgIHNob3dDYW5jZWxMaW5rOiBmYWxzZSxcbiAgICBzaG93U2Vjb25kYXJ5Q29uZmlybTogZmFsc2UsXG4gICAgc2Vjb25kYXJ5Q29uZmlybUxhYmVsOiAnJyxcbiAgICBzZWNvbmRhcnlDb25maXJtZWQ6IGZhbHNlLFxuICAgIHNlY29uZGFyeUFjdGlvbkxhYmVsOiB1bmRlZmluZWQsXG4gICAgc2Vjb25kYXJ5SW5mb0xhYmVsOiB1bmRlZmluZWQsXG4gICAgc2Vjb25kYXJ5QWN0aW9uOiB1bmRlZmluZWQsXG4gICAgaW1hZ2VVcmw6ICcuLi8uLi9hc3NldHMvc3Zncy9Db25maXJtX1RyYXNoLnN2ZydcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybUNvbXBvbmVudD4sIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7XG4gICAgdGhpcy5kYXRhT2JqID0gZGF0YTtcbiAgICBpZiAoaXNOaWwodGhpcy5kYXRhT2JqPy5jYW5jZWxMYWJlbCkgfHwgaXNFbXB0eSh0aGlzLmRhdGFPYmo/LmNhbmNlbExhYmVsKSkge1xuICAgICAgdGhpcy5kYXRhT2JqLmNhbmNlbExhYmVsID0gJ09vcHMsIG5vIGdldCBtZSBvdXQgb2YgaGVyZSc7XG4gICAgfVxuICB9XG5cbiAgY29uZmlybSgpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7Y29uZmlybWVkOiB0cnVlLCBzZWNvbmRhcnlDb25maXJtZWQ6IHRoaXMuZGF0YU9iai5zZWNvbmRhcnlDb25maXJtZWR9KTtcbiAgfVxuXG4gIHNlY29uZGFyeUFjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuZGF0YU9iai5zZWNvbmRhcnlBY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kYXRhT2JqLnNlY29uZGFyeUFjdGlvbigpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtjb25maXJtZWQ6IGZhbHNlLCBzZWNvbmRhcnlDb25maXJtZWQ6IGZhbHNlfSk7XG4gIH1cblxuICB0b2dnbGVTZWNvbmRhcnkoZXZlbnQpIHtcbiAgICB0aGlzLmRhdGFPYmouc2Vjb25kYXJ5Q29uZmlybWVkID0gIXRoaXMuZGF0YU9iai5zZWNvbmRhcnlDb25maXJtZWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb25maXJtLW1vZGFsLWNvbnRhaW5lclwiIGlkPVwiQ29uZmlybU1vZGFsX3t7ZGF0YU9iai5hcHBlbmRJZCB8fCAnRGVmYXVsdCd9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbG9zZSBpY29uLWNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpcm0tbW9kZWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybS1tb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybS10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbmZpcm0tdGl0bGVcIj57e2RhdGFPYmoudGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbmZpcm0tc3VidGl0bGVcIj57e2RhdGFPYmouc3VidGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm0tbW9kYWwtbWFpblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25maXJtLW1vZGFsLWljb25cIiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCh7e2RhdGFPYmouaW1hZ2VVcmx9fSlcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlybS1tZXNzYWdlLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZGF0YU9iai5tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm0tbWVzc2FnZS1idWxsZXQtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhT2JqLmJ1bGxldExpc3RcIiBjbGFzcz1cImNvbmZpcm0taXRlbS1uYW1lXCI+e3tpdGVtfX08L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhT2JqLnN1Ym1lc3NhZ2UgJiYgZGF0YU9iai5zdWJtZXNzYWdlLmxlbmd0aCA+IDBcIiBjbGFzcz1cImNvbmZpcm0tbWVzc2FnZS1zdWItY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJkYXRhT2JqLnN1Ym1lc3NhZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRhcnktY29uZmlybS1jb250YWluZXJcIiAqbmdJZj1cImRhdGFPYmouc2hvd1NlY29uZGFyeUNvbmZpcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNTZWxlY3RcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogZGF0YU9iai5zZWNvbmRhcnlDb25maXJtZWR9XCIgKGNsaWNrKT1cInRvZ2dsZVNlY29uZGFyeSgkZXZlbnQpXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWNvbmRhcnktY29uZmlybS1sYWJlbFwiPnt7ZGF0YU9iai5zZWNvbmRhcnlDb25maXJtTGFiZWx9fTwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImRhdGFPYmouc2Vjb25kYXJ5SW5mb0xhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1pbmZvIGluZm9pY29uXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7e2RhdGFPYmouc2Vjb25kYXJ5SW5mb0xhYmVsfX1cIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICA+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpcm0tYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtCdXR0b24gY2FuY2VsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgKm5nSWY9XCJkYXRhT2JqLnNob3dDYW5jZWxMaW5rXCI+e3tkYXRhT2JqLmNhbmNlbExhYmVsfX08L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBzYXZlIHNlY29uZGFyeS1idXR0b25cIiAoY2xpY2spPVwic2Vjb25kYXJ5QWN0aW9uKClcIiAqbmdJZj1cImRhdGFPYmouc2Vjb25kYXJ5QWN0aW9uTGFiZWwgJiYgZGF0YU9iai5zZWNvbmRhcnlDb25maXJtZWRcIj57e2RhdGFPYmouc2Vjb25kYXJ5QWN0aW9uTGFiZWx9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHNhdmUgY2FuY2VsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgKm5nSWY9XCJkYXRhT2JqLnNob3dDYW5jZWxCdXR0b25cIj57e2RhdGFPYmouY2FuY2VsTGFiZWx9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIHNhdmUgY29uZmlybVwiIChjbGljayk9XCJjb25maXJtKClcIj57e2RhdGFPYmouY29uZmlybUxhYmVsQWx0ICYmIGRhdGFPYmouc2Vjb25kYXJ5Q29uZmlybWVkID8gZGF0YU9iai5jb25maXJtTGFiZWxBbHQgOiBkYXRhT2JqLmNvbmZpcm1MYWJlbH19PC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|