@softheon/armature 15.23.0 → 17.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -18
- package/assets/styles/_utility.scss +35 -0
- package/assets/styles/material-overrides.scss +0 -1
- package/assets/styles/sof-styles.scss +8 -7
- package/{esm2020 → esm2022}/lib/alert-banner/alert-banner-api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/alert-banner/alert-banner.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +83 -83
- package/{esm2020 → esm2022}/lib/alert-banner/models/alert-banner-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/alert-banner/models/alert-banner-context.mjs +1 -1
- package/{esm2020 → esm2022}/lib/alert-banner/models/constants.mjs +15 -15
- package/{esm2020 → esm2022}/lib/alert-banner/services/alert-banner.service.mjs +44 -44
- package/esm2022/lib/armature.module.mjs +176 -0
- package/{esm2020 → esm2022}/lib/base-components/base-component-api.mjs +14 -14
- package/esm2022/lib/base-components/base-component.module.mjs +123 -0
- package/{esm2020 → esm2022}/lib/base-components/sof-alert/sof-alert.component.mjs +79 -79
- package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +49 -0
- package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +188 -188
- package/{esm2020 → esm2022}/lib/base-components/sof-confirm-address/sof-confirm-address.component.mjs +59 -59
- package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +58 -0
- package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +57 -0
- package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +79 -0
- package/{esm2020 → esm2022}/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +35 -35
- package/{esm2020 → esm2022}/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +49 -49
- package/esm2022/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +91 -91
- package/{esm2020 → esm2022}/lib/component-save-print/services/component-save-print.service.mjs +30 -30
- package/esm2022/lib/component-save-print/sof-ar-component-save-print.module.mjs +29 -0
- package/{esm2020 → esm2022}/lib/core/client-generated/api/session.service.mjs +242 -242
- package/{esm2020 → esm2022}/lib/core/client-generated/configuration.mjs +58 -58
- package/{esm2020 → esm2022}/lib/core/client-generated/encoder.mjs +16 -16
- package/{esm2020 → esm2022}/lib/core/client-generated/model/applicationUserModel.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/client-generated/model/assertedUserModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/brandingModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/errorModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/folderLink.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/identityProfile.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/models.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/client-generated/model/oAuthModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/preferencesRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/rolesRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionGetResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPostRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPostResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPutRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionPutResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/sessionResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/settingsProfile.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/themePaletteColorsModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/themePaletteModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/client-generated/model/trackingModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/model/validationRecordsRow.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/client-generated/variables.mjs +8 -8
- package/esm2022/lib/core/components/app-template/app-template.component.mjs +250 -0
- package/{esm2020 → esm2022}/lib/core/functions/guid.mjs +10 -10
- package/{esm2020 → esm2022}/lib/core/functions/naming-convention.mjs +32 -32
- package/{esm2020 → esm2022}/lib/core/functions/route-to-pre-login-route.mjs +12 -12
- package/{esm2020 → esm2022}/lib/core/initializer/abstract-startup-service.mjs +3 -3
- package/esm2022/lib/core/initializer/initializer.service.mjs +286 -0
- package/{esm2020 → esm2022}/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +73 -73
- package/esm2022/lib/core/models/base-config.mjs +2 -0
- package/esm2022/lib/core/models/constants.mjs +13 -0
- package/{esm2020 → esm2022}/lib/core/models/data-store-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/header-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/http-verbs.mjs +8 -8
- package/{esm2020 → esm2022}/lib/core/models/navigation-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/oidc-auth-settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/route-path.mjs +6 -6
- package/{esm2020 → esm2022}/lib/core/models/session-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/styles.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/subdomain-config.mjs +1 -1
- package/{esm2020 → esm2022}/lib/core/models/typed-session.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/models/user-entity-service-config.mjs +11 -11
- package/{esm2020 → esm2022}/lib/core/services/authorization.service.mjs +175 -175
- package/{esm2020 → esm2022}/lib/core/services/banner.service.mjs +43 -43
- package/{esm2020 → esm2022}/lib/core/services/base-config.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/core/services/custom-auth-config.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/core/services/default-config.service.mjs +19 -19
- package/{esm2020 → esm2022}/lib/core/services/session.service.mjs +385 -385
- package/{esm2020 → esm2022}/lib/core/services/user-entity.service.mjs +140 -140
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/api/api.mjs +3 -3
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/api/cache.service.mjs +213 -213
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/configuration.mjs +58 -58
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/encoder.mjs +16 -16
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/cacheExpirationType.mjs +15 -15
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/models.mjs +4 -4
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/distributed-cache/client-generated/variables.mjs +8 -8
- package/{esm2020 → esm2022}/lib/distributed-cache/distributed-cache-api.mjs +7 -7
- package/esm2022/lib/distributed-cache/distributed-cache.module.mjs +38 -0
- package/{esm2020 → esm2022}/lib/distributed-cache/models/constants.mjs +2 -2
- package/{esm2020 → esm2022}/lib/distributed-cache/models/policy-person.mjs +8 -8
- package/{esm2020 → esm2022}/lib/distributed-cache/services/server-cache.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/error/components/error-common/error-common.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/error/error-api.mjs +6 -6
- package/{esm2020 → esm2022}/lib/error/error.module.mjs +31 -31
- package/{esm2020 → esm2022}/lib/error/models/error-common-config.mjs +7 -7
- package/esm2022/lib/faq/components/faq/faq.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/faq/faq-api.mjs +7 -7
- package/{esm2020 → esm2022}/lib/faq/faq.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/faq/models/faq-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/faq/models/faq.mjs +7 -7
- package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +81 -0
- package/esm2022/lib/feedback-tool/feedback-tool-api.mjs +5 -0
- package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +44 -0
- package/esm2022/lib/footer/components/footer/footer.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/footer/components/site-map/site-map.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/footer/footer-api.mjs +9 -9
- package/esm2022/lib/footer/footer.module.mjs +45 -0
- package/{esm2020 → esm2022}/lib/footer/models/enum/site-map-direction.mjs +14 -14
- package/{esm2020 → esm2022}/lib/footer/models/footer-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/footer/models/site-map-models.mjs +1 -1
- package/{esm2020 → esm2022}/lib/forms/components/sof-address/sof-address.component.mjs +110 -110
- package/{esm2020 → esm2022}/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +78 -78
- package/{esm2020 → esm2022}/lib/forms/directives/input-trim/input-trim.directive.mjs +110 -110
- package/{esm2020 → esm2022}/lib/forms/directives/letters-characters/letters-characters.directive.mjs +87 -87
- package/{esm2020 → esm2022}/lib/forms/directives/letters-only/letters-only.directive.mjs +85 -85
- package/{esm2020 → esm2022}/lib/forms/directives/numbers-only/numbers-only.directive.mjs +55 -55
- package/{esm2020 → esm2022}/lib/forms/forms-api.mjs +19 -19
- package/esm2022/lib/forms/forms.module.mjs +87 -0
- package/{esm2020 → esm2022}/lib/forms/models/address.mjs +1 -1
- package/esm2022/lib/forms/models/constants.mjs +10 -0
- package/{esm2020 → esm2022}/lib/forms/models/county.mjs +1 -1
- package/{esm2020 → esm2022}/lib/forms/models/enums/states.mjs +65 -65
- package/{esm2020 → esm2022}/lib/forms/pipes/phone-format.pipe.mjs +33 -33
- package/{esm2020 → esm2022}/lib/forms/services/alert.service.mjs +167 -167
- package/esm2022/lib/header/components/header/header.component.mjs +161 -0
- package/{esm2020 → esm2022}/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +39 -39
- package/{esm2020 → esm2022}/lib/header/header-api.mjs +11 -11
- package/esm2022/lib/header/header.module.mjs +85 -0
- package/{esm2020 → esm2022}/lib/header/models/header-auth.settings.mjs +31 -31
- package/{esm2020 → esm2022}/lib/header/models/header-language.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/header-theme.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/header.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/header/models/mobile-header-nav.settings.mjs +1 -1
- package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +556 -0
- package/{esm2020 → esm2022}/lib/navigation/models/nav-theme.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/models/nav.settings.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/models/navigation.mjs +1 -1
- package/{esm2020 → esm2022}/lib/navigation/navigation-api.mjs +8 -8
- package/esm2022/lib/navigation/navigation.module.mjs +126 -0
- package/{esm2020 → esm2022}/lib/oauth/models/constants.mjs +5 -5
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementAssertionModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementRefreshRequestModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/accountManagementResponseModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/coverageDetail.mjs +18 -18
- package/{esm2020 → esm2022}/lib/oauth/models/generated/finance.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/iSsoResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/person.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/generated/policy.mjs +1 -1
- package/{esm2020 → esm2022}/lib/oauth/models/generated/refreshResponseModel.mjs +12 -12
- package/{esm2020 → esm2022}/lib/oauth/models/hybrid-saml-oauth-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/oauth/oauth-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/oauth/oauth.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/oauth/services/hybrid-saml-oauth.service.mjs +201 -201
- package/{esm2020 → esm2022}/lib/rbac/directives/rbac-action.directive.mjs +50 -50
- package/{esm2020 → esm2022}/lib/rbac/models/access-token-claims.mjs +22 -22
- package/{esm2020 → esm2022}/lib/rbac/models/constants.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/models/decoded-access-token.mjs +68 -68
- package/{esm2020 → esm2022}/lib/rbac/models/rbac-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/models/role-access.mjs +9 -9
- package/{esm2020 → esm2022}/lib/rbac/rbac-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/rbac/rbac.module.mjs +51 -51
- package/{esm2020 → esm2022}/lib/rbac/services/ar-role-nav.service.mjs +104 -104
- package/{esm2020 → esm2022}/lib/rbac/services/oauth2-role.service.mjs +114 -114
- package/{esm2020 → esm2022}/lib/rbac/services/role-nav.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rbac/services/tokens.mjs +3 -3
- package/{esm2020 → esm2022}/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +156 -156
- package/{esm2020 → esm2022}/lib/resize-panels/models/resize-event.mjs +1 -1
- package/{esm2020 → esm2022}/lib/resize-panels/resize-panels-api.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resize-panels/resize-panels.module.mjs +23 -23
- package/{esm2020 → esm2022}/lib/rum/models/arm-error.mjs +28 -28
- package/{esm2020 → esm2022}/lib/rum/models/rum-config.mjs +3 -3
- package/{esm2020 → esm2022}/lib/rum/rum-api.mjs +9 -9
- package/{esm2020 → esm2022}/lib/rum/rum.module.mjs +48 -48
- package/{esm2020 → esm2022}/lib/rum/services/rum.service.mjs +115 -115
- package/{esm2020 → esm2022}/lib/rum/services/shared-error.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/rum/services/softheon-error-handler.service.mjs +76 -76
- package/{esm2020 → esm2022}/lib/saml/components/redirect-saml/redirect-saml.component.mjs +79 -79
- package/{esm2020 → esm2022}/lib/saml/models/i-saml-request.mjs +1 -1
- package/{esm2020 → esm2022}/lib/saml/models/i-saml-response.mjs +1 -1
- package/{esm2020 → esm2022}/lib/saml/models/redirect-saml-request.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/models/sso-gateway-model.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/saml-api.mjs +14 -14
- package/{esm2020 → esm2022}/lib/saml/saml.module.mjs +43 -43
- package/{esm2020 → esm2022}/lib/saml/services/entry/abstract-saml-entry.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/services/entry/sso-gateway-entry.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/saml/services/send-off/abstract-saml.service.mjs +3 -3
- package/{esm2020 → esm2022}/lib/saml/services/send-off/saml.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/sof-pipe/constants/constants.mjs +16 -16
- package/{esm2020 → esm2022}/lib/sof-pipe/models/sof-date-pipe-format.mjs +1 -1
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +39 -39
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +59 -59
- package/{esm2020 → esm2022}/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +28 -28
- package/{esm2020 → esm2022}/lib/sof-pipe/sof-pipe.api.mjs +8 -8
- package/{esm2020 → esm2022}/lib/sof-pipe/sof-pipe.module.mjs +39 -39
- package/{esm2020 → esm2022}/lib/theming/directives/css-override.directive.mjs +69 -69
- package/{esm2020 → esm2022}/lib/theming/models/css-override.mjs +10 -10
- package/{esm2020 → esm2022}/lib/theming/services/theme.service.mjs +169 -169
- package/{esm2020 → esm2022}/lib/theming/theme-api.mjs +5 -5
- package/{esm2020 → esm2022}/lib/theming/theme.module.mjs +31 -31
- package/esm2022/public-api.mjs +52 -0
- package/{esm2020 → esm2022}/softheon-armature.mjs +4 -4
- package/fesm2022/softheon-armature.mjs +7439 -0
- package/fesm2022/softheon-armature.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/alert-banner/alert-banner-api.d.ts +7 -7
- package/lib/alert-banner/alert-banner.module.d.ts +11 -11
- package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +40 -40
- package/lib/alert-banner/models/alert-banner-config.d.ts +20 -20
- package/lib/alert-banner/models/alert-banner-context.d.ts +18 -18
- package/lib/alert-banner/models/constants.d.ts +15 -15
- package/lib/alert-banner/services/alert-banner.service.d.ts +28 -28
- package/lib/armature.module.d.ts +46 -46
- package/lib/base-components/base-component-api.d.ts +13 -13
- package/lib/base-components/base-component.module.d.ts +35 -35
- package/lib/base-components/sof-alert/sof-alert.component.d.ts +40 -40
- package/lib/base-components/sof-badge/sof-badge.component.d.ts +26 -30
- package/lib/base-components/sof-banner/sof-banner.component.d.ts +34 -34
- package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +100 -100
- package/lib/base-components/sof-confirm-address/sof-confirm-address.component.d.ts +61 -61
- package/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.d.ts +28 -28
- package/lib/base-components/sof-modal/sof-modal.component.d.ts +51 -51
- package/lib/base-components/sof-progress-bar/sof-progress-bar.component.d.ts +40 -40
- package/lib/base-components/sof-radio-card/sof-radio-card.component.d.ts +20 -20
- package/lib/base-components/sof-simple-alert/sof-simple-alert.component.d.ts +29 -29
- package/lib/base-components/sof-star-rating/sof-star-rating.component.d.ts +25 -25
- package/lib/component-save-print/components/component-save-print/component-save-print.component.d.ts +46 -46
- package/lib/component-save-print/services/component-save-print.service.d.ts +18 -18
- package/lib/component-save-print/sof-ar-component-save-print.module.d.ts +9 -9
- package/lib/core/client-generated/api/session.service.d.ts +94 -94
- package/lib/core/client-generated/configuration.d.ts +48 -48
- package/lib/core/client-generated/encoder.d.ts +10 -10
- package/lib/core/client-generated/model/applicationUserModel.d.ts +54 -54
- package/lib/core/client-generated/model/assertedUserModel.d.ts +25 -25
- package/lib/core/client-generated/model/brandingModel.d.ts +33 -33
- package/lib/core/client-generated/model/errorModel.d.ts +24 -24
- package/lib/core/client-generated/model/folderLink.d.ts +34 -34
- package/lib/core/client-generated/model/identityProfile.d.ts +82 -82
- package/lib/core/client-generated/model/models.d.ts +19 -19
- package/lib/core/client-generated/model/oAuthModel.d.ts +28 -28
- package/lib/core/client-generated/model/preferencesRow.d.ts +15 -15
- package/lib/core/client-generated/model/rolesRow.d.ts +17 -17
- package/lib/core/client-generated/model/sessionGetResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionPostRequestModel.d.ts +39 -39
- package/lib/core/client-generated/model/sessionPostResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionPutRequestModel.d.ts +39 -39
- package/lib/core/client-generated/model/sessionPutResponseModel.d.ts +23 -23
- package/lib/core/client-generated/model/sessionResponseModel.d.ts +43 -43
- package/lib/core/client-generated/model/settingsProfile.d.ts +21 -21
- package/lib/core/client-generated/model/themePaletteColorsModel.d.ts +72 -72
- package/lib/core/client-generated/model/themePaletteModel.d.ts +65 -65
- package/lib/core/client-generated/model/trackingModel.d.ts +24 -24
- package/lib/core/client-generated/model/validationRecordsRow.d.ts +17 -17
- package/lib/core/client-generated/variables.d.ts +8 -8
- package/lib/core/components/app-template/app-template.component.d.ts +61 -67
- package/lib/core/functions/guid.d.ts +4 -4
- package/lib/core/functions/naming-convention.d.ts +6 -6
- package/lib/core/functions/route-to-pre-login-route.d.ts +6 -6
- package/lib/core/initializer/abstract-startup-service.d.ts +5 -5
- package/lib/core/initializer/initializer.service.d.ts +79 -87
- package/lib/core/interceptors/armature-auth-token-append.interceptor.d.ts +31 -31
- package/lib/core/models/base-config.d.ts +18 -23
- package/lib/core/models/constants.d.ts +13 -17
- package/lib/core/models/data-store-config.d.ts +27 -27
- package/lib/core/models/header-config.d.ts +9 -9
- package/lib/core/models/http-verbs.d.ts +10 -10
- package/lib/core/models/navigation-config.d.ts +14 -14
- package/lib/core/models/oidc-auth-settings.d.ts +11 -11
- package/lib/core/models/route-path.d.ts +5 -5
- package/lib/core/models/session-config.d.ts +18 -18
- package/lib/core/models/styles.d.ts +11 -11
- package/lib/core/models/subdomain-config.d.ts +7 -7
- package/lib/core/models/typed-session.d.ts +17 -17
- package/lib/core/models/user-entity-service-config.d.ts +14 -14
- package/lib/core/services/authorization.service.d.ts +54 -54
- package/lib/core/services/banner.service.d.ts +31 -31
- package/lib/core/services/base-config.service.d.ts +21 -21
- package/lib/core/services/custom-auth-config.service.d.ts +6 -6
- package/lib/core/services/default-config.service.d.ts +8 -8
- package/lib/core/services/session.service.d.ts +127 -127
- package/lib/core/services/user-entity.service.d.ts +47 -47
- package/lib/distributed-cache/client-generated/api/api.d.ts +3 -3
- package/lib/distributed-cache/client-generated/api/cache.service.d.ts +72 -72
- package/lib/distributed-cache/client-generated/configuration.d.ts +48 -48
- package/lib/distributed-cache/client-generated/encoder.d.ts +10 -10
- package/lib/distributed-cache/client-generated/model/cacheExpirationType.d.ts +19 -19
- package/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.d.ts +33 -33
- package/lib/distributed-cache/client-generated/model/models.d.ts +4 -4
- package/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.d.ts +20 -20
- package/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.d.ts +20 -20
- package/lib/distributed-cache/client-generated/variables.d.ts +8 -8
- package/lib/distributed-cache/distributed-cache-api.d.ts +7 -7
- package/lib/distributed-cache/distributed-cache.module.d.ts +8 -8
- package/lib/distributed-cache/models/constants.d.ts +2 -2
- package/lib/distributed-cache/models/policy-person.d.ts +19 -19
- package/lib/distributed-cache/services/server-cache.service.d.ts +72 -72
- package/lib/error/components/error-common/error-common.component.d.ts +14 -14
- package/lib/error/error-api.d.ts +4 -4
- package/lib/error/error.module.d.ts +11 -11
- package/lib/error/models/error-common-config.d.ts +21 -21
- package/lib/faq/components/faq/faq.component.d.ts +19 -19
- package/lib/faq/faq-api.d.ts +5 -5
- package/lib/faq/faq.module.d.ts +15 -15
- package/lib/faq/models/faq-config.d.ts +13 -13
- package/lib/faq/models/faq.d.ts +9 -9
- package/lib/feedback-tool/components/feedback-tool/feedback-tool.component.d.ts +62 -0
- package/lib/feedback-tool/feedback-tool-api.d.ts +3 -0
- package/lib/feedback-tool/feedback-tool.module.d.ts +14 -0
- package/lib/footer/components/footer/footer.component.d.ts +14 -14
- package/lib/footer/components/site-map/site-map.component.d.ts +13 -13
- package/lib/footer/footer-api.d.ts +7 -7
- package/lib/footer/footer.module.d.ts +14 -14
- package/lib/footer/models/enum/site-map-direction.d.ts +13 -13
- package/lib/footer/models/footer-config.d.ts +7 -7
- package/lib/footer/models/site-map-models.d.ts +41 -41
- package/lib/forms/components/sof-address/sof-address.component.d.ts +53 -53
- package/lib/forms/directives/alphanumeric/alphanumeric.directive.d.ts +31 -31
- package/lib/forms/directives/input-trim/input-trim.directive.d.ts +58 -58
- package/lib/forms/directives/letters-characters/letters-characters.directive.d.ts +27 -27
- package/lib/forms/directives/letters-only/letters-only.directive.d.ts +27 -27
- package/lib/forms/directives/numbers-only/numbers-only.directive.d.ts +22 -22
- package/lib/forms/forms-api.d.ts +14 -14
- package/lib/forms/forms.module.d.ts +21 -21
- package/lib/forms/models/address.d.ts +14 -14
- package/lib/forms/models/constants.d.ts +9 -9
- package/lib/forms/models/county.d.ts +13 -13
- package/lib/forms/models/enums/states.d.ts +64 -64
- package/lib/forms/pipes/phone-format.pipe.d.ts +10 -10
- package/lib/forms/services/alert.service.d.ts +60 -60
- package/lib/header/components/header/header.component.d.ts +120 -120
- package/lib/header/components/mobile-header-menu/mobile-header-menu.component.d.ts +26 -26
- package/lib/header/header-api.d.ts +9 -9
- package/lib/header/header.module.d.ts +20 -20
- package/lib/header/models/header-auth.settings.d.ts +30 -30
- package/lib/header/models/header-language.settings.d.ts +10 -10
- package/lib/header/models/header-theme.settings.d.ts +19 -19
- package/lib/header/models/header.settings.d.ts +53 -53
- package/lib/header/models/mobile-header-nav.settings.d.ts +11 -11
- package/lib/navigation/components/navigation/navigation.component.d.ts +200 -200
- package/lib/navigation/models/nav-theme.settings.d.ts +25 -25
- package/lib/navigation/models/nav.settings.d.ts +64 -64
- package/lib/navigation/models/navigation.d.ts +40 -40
- package/lib/navigation/navigation-api.d.ts +6 -6
- package/lib/navigation/navigation.module.d.ts +25 -25
- package/lib/oauth/models/constants.d.ts +6 -6
- package/lib/oauth/models/generated/accountManagementAssertionModel.d.ts +49 -49
- package/lib/oauth/models/generated/accountManagementRefreshRequestModel.d.ts +21 -21
- package/lib/oauth/models/generated/accountManagementResponseModel.d.ts +45 -45
- package/lib/oauth/models/generated/coverageDetail.d.ts +67 -67
- package/lib/oauth/models/generated/finance.d.ts +36 -36
- package/lib/oauth/models/generated/iSsoResponseModel.d.ts +44 -44
- package/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.d.ts +45 -45
- package/lib/oauth/models/generated/person.d.ts +53 -53
- package/lib/oauth/models/generated/policy.d.ts +51 -51
- package/lib/oauth/models/generated/refreshResponseModel.d.ts +20 -20
- package/lib/oauth/models/hybrid-saml-oauth-config.d.ts +14 -14
- package/lib/oauth/oauth-api.d.ts +12 -12
- package/lib/oauth/oauth.module.d.ts +9 -9
- package/lib/oauth/services/hybrid-saml-oauth.service.d.ts +59 -59
- package/lib/rbac/directives/rbac-action.directive.d.ts +27 -27
- package/lib/rbac/models/access-token-claims.d.ts +18 -18
- package/lib/rbac/models/constants.d.ts +4 -4
- package/lib/rbac/models/decoded-access-token.d.ts +43 -43
- package/lib/rbac/models/rbac-config.d.ts +15 -15
- package/lib/rbac/models/role-access.d.ts +7 -7
- package/lib/rbac/rbac-api.d.ts +11 -11
- package/lib/rbac/rbac.module.d.ts +19 -19
- package/lib/rbac/services/ar-role-nav.service.d.ts +25 -25
- package/lib/rbac/services/oauth2-role.service.d.ts +51 -51
- package/lib/rbac/services/role-nav.service.d.ts +12 -12
- package/lib/rbac/services/tokens.d.ts +3 -3
- package/lib/resize-panels/components/resize-panels/resize-panels.component.d.ts +64 -64
- package/lib/resize-panels/models/resize-event.d.ts +6 -6
- package/lib/resize-panels/resize-panels-api.d.ts +4 -4
- package/lib/resize-panels/resize-panels.module.d.ts +9 -9
- package/lib/rum/models/arm-error.d.ts +27 -27
- package/lib/rum/models/rum-config.d.ts +9 -9
- package/lib/rum/rum-api.d.ts +7 -7
- package/lib/rum/rum.module.d.ts +14 -14
- package/lib/rum/services/rum.service.d.ts +47 -47
- package/lib/rum/services/shared-error.service.d.ts +27 -27
- package/lib/rum/services/softheon-error-handler.service.d.ts +32 -32
- package/lib/saml/components/redirect-saml/redirect-saml.component.d.ts +41 -41
- package/lib/saml/models/i-saml-request.d.ts +4 -4
- package/lib/saml/models/i-saml-response.d.ts +4 -4
- package/lib/saml/models/redirect-saml-request.d.ts +24 -24
- package/lib/saml/models/sso-gateway-model.d.ts +17 -17
- package/lib/saml/saml-api.d.ts +11 -11
- package/lib/saml/saml.module.d.ts +9 -9
- package/lib/saml/services/entry/abstract-saml-entry.service.d.ts +16 -16
- package/lib/saml/services/entry/sso-gateway-entry.service.d.ts +22 -22
- package/lib/saml/services/send-off/abstract-saml.service.d.ts +20 -20
- package/lib/saml/services/send-off/saml.service.d.ts +32 -32
- package/lib/sof-pipe/constants/constants.d.ts +8 -8
- package/lib/sof-pipe/models/sof-date-pipe-format.d.ts +7 -7
- package/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.d.ts +19 -19
- package/lib/sof-pipe/pipes/sof-date/sof-date.pipe.d.ts +21 -21
- package/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.d.ts +12 -12
- package/lib/sof-pipe/sof-pipe.api.d.ts +7 -7
- package/lib/sof-pipe/sof-pipe.module.d.ts +10 -10
- package/lib/theming/directives/css-override.directive.d.ts +20 -20
- package/lib/theming/models/css-override.d.ts +15 -15
- package/lib/theming/services/theme.service.d.ts +48 -48
- package/lib/theming/theme-api.d.ts +5 -5
- package/lib/theming/theme.module.d.ts +9 -9
- package/package.json +18 -24
- package/public-api.d.ts +49 -48
- package/esm2020/lib/armature.module.mjs +0 -179
- package/esm2020/lib/base-components/base-component.module.mjs +0 -123
- package/esm2020/lib/base-components/sof-badge/sof-badge.component.mjs +0 -60
- package/esm2020/lib/base-components/sof-banner/sof-banner.component.mjs +0 -49
- package/esm2020/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +0 -58
- package/esm2020/lib/base-components/sof-modal/sof-modal.component.mjs +0 -58
- package/esm2020/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +0 -79
- package/esm2020/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +0 -40
- package/esm2020/lib/component-save-print/sof-ar-component-save-print.module.mjs +0 -32
- package/esm2020/lib/core/components/app-template/app-template.component.mjs +0 -258
- package/esm2020/lib/core/initializer/initializer.service.mjs +0 -302
- package/esm2020/lib/core/models/base-config.mjs +0 -2
- package/esm2020/lib/core/models/constants.mjs +0 -17
- package/esm2020/lib/core/models/federated-module-config.mjs +0 -2
- package/esm2020/lib/core/services/federated-module.service.mjs +0 -60
- package/esm2020/lib/distributed-cache/distributed-cache.module.mjs +0 -38
- package/esm2020/lib/faq/components/faq/faq.component.mjs +0 -40
- package/esm2020/lib/footer/components/footer/footer.component.mjs +0 -25
- package/esm2020/lib/footer/footer.module.mjs +0 -45
- package/esm2020/lib/forms/forms.module.mjs +0 -87
- package/esm2020/lib/forms/models/constants.mjs +0 -10
- package/esm2020/lib/header/components/header/header.component.mjs +0 -161
- package/esm2020/lib/header/header.module.mjs +0 -85
- package/esm2020/lib/navigation/components/navigation/navigation.component.mjs +0 -556
- package/esm2020/lib/navigation/navigation.module.mjs +0 -126
- package/esm2020/public-api.mjs +0 -51
- package/fesm2015/softheon-armature.mjs +0 -7372
- package/fesm2015/softheon-armature.mjs.map +0 -1
- package/fesm2020/softheon-armature.mjs +0 -7427
- package/fesm2020/softheon-armature.mjs.map +0 -1
- package/lib/core/models/federated-module-config.d.ts +0 -3
- package/lib/core/services/federated-module.service.d.ts +0 -23
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/base-config.service";
|
|
4
|
-
import * as i2 from "@ngx-translate/core";
|
|
5
|
-
import * as i3 from "../../services/federated-module.service";
|
|
6
|
-
import * as i4 from "../../../navigation/components/navigation/navigation.component";
|
|
7
|
-
import * as i5 from "../../../header/components/header/header.component";
|
|
8
|
-
import * as i6 from "../../../footer/components/footer/footer.component";
|
|
9
|
-
import * as i7 from "../../../alert-banner/components/alert-banner/alert-banner.component";
|
|
10
|
-
import * as i8 from "@angular/router";
|
|
11
|
-
import * as i9 from "@angular/common";
|
|
12
|
-
import * as i10 from "@angular/flex-layout/flex";
|
|
13
|
-
import * as i11 from "@angular/flex-layout/extended";
|
|
14
|
-
/** The app template component */
|
|
15
|
-
export class AppTemplateComponent {
|
|
16
|
-
/** The log out text */
|
|
17
|
-
get logOutText() {
|
|
18
|
-
return this.headerAuthSettings.logOutText;
|
|
19
|
-
}
|
|
20
|
-
/** gets the non used language */
|
|
21
|
-
get otherLangText() {
|
|
22
|
-
return this.languageSettings?.languages?.find(x => x !== this.currentLang);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Constructs the component
|
|
26
|
-
* @param configService The config service
|
|
27
|
-
* @param translateService The translate service
|
|
28
|
-
* @param federatedModuleService The federated module service
|
|
29
|
-
*/
|
|
30
|
-
constructor(configService, translateService, federatedModuleService) {
|
|
31
|
-
this.configService = configService;
|
|
32
|
-
this.translateService = translateService;
|
|
33
|
-
this.federatedModuleService = federatedModuleService;
|
|
34
|
-
/** The header settings */
|
|
35
|
-
this.headerSettings = {};
|
|
36
|
-
/** The header theme settings */
|
|
37
|
-
this.headerThemeSettings = {};
|
|
38
|
-
/** The header auth settings */
|
|
39
|
-
this.headerAuthSettings = {};
|
|
40
|
-
/** the navigation theme settings */
|
|
41
|
-
this.navigationTheme = {};
|
|
42
|
-
/** The navigation settings */
|
|
43
|
-
this.navigationSettings = {};
|
|
44
|
-
/** The navigation nodes */
|
|
45
|
-
this.navigationNodes = [];
|
|
46
|
-
/** The navigation advanced settings */
|
|
47
|
-
this.navigationAdvancedSettings = {};
|
|
48
|
-
/** The language settings */
|
|
49
|
-
this.languageSettings = {};
|
|
50
|
-
/** True when the application is running as a federated module */
|
|
51
|
-
this.isFederatedModule = false;
|
|
52
|
-
}
|
|
53
|
-
/** Life cycle hook for component initialization */
|
|
54
|
-
ngOnInit() {
|
|
55
|
-
this.isFederatedModule = this.federatedModuleService.isFederatedModule;
|
|
56
|
-
this.config$ = this.configService.config$;
|
|
57
|
-
this.setDefaults();
|
|
58
|
-
this.configService.config$.subscribe(config => {
|
|
59
|
-
// object assign is used here so the header doesn't have to re render with the new object reference
|
|
60
|
-
// header
|
|
61
|
-
Object.assign(this.headerSettings, config?.header?.settings);
|
|
62
|
-
Object.assign(this.headerThemeSettings, config?.header?.theme);
|
|
63
|
-
Object.assign(this.headerAuthSettings, config?.oAuthSettings);
|
|
64
|
-
// navigation
|
|
65
|
-
this.navigationNodes = config?.navigation?.nodes || this.getExampleNavNodes();
|
|
66
|
-
Object.assign(this.navigationSettings, config?.navigation?.settings);
|
|
67
|
-
Object.assign(this.navigationAdvancedSettings, config?.navigation?.advanced);
|
|
68
|
-
this.assignDefaultNavTheme(config);
|
|
69
|
-
Object.assign(this.navigationTheme, config?.navigation?.theme);
|
|
70
|
-
// set dependent value
|
|
71
|
-
this.headerSettings.armatureNavigation = !this.navigationSettings.hideNavigation;
|
|
72
|
-
if (this.navigationSettings.menuStyle === 'progress' || this.navigationSettings.hideNavigation) {
|
|
73
|
-
this.headerSettings.createSpaceForNavToggle = this.navigationSettings.allowNavToggle = false;
|
|
74
|
-
}
|
|
75
|
-
// Set both navigation toggle settings to true if either is true
|
|
76
|
-
if (this.headerSettings.createSpaceForNavToggle || this.navigationSettings.allowNavToggle) {
|
|
77
|
-
this.headerSettings.createSpaceForNavToggle = this.navigationSettings.allowNavToggle = true;
|
|
78
|
-
}
|
|
79
|
-
this.setLanguageOptions();
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Applies the language to the translate service
|
|
84
|
-
* @param lang the language
|
|
85
|
-
*/
|
|
86
|
-
applyLanguage(lang) {
|
|
87
|
-
if (!lang) {
|
|
88
|
-
lang = this.otherLangText;
|
|
89
|
-
}
|
|
90
|
-
this.translateService.use(lang);
|
|
91
|
-
this.translateService.currentLang = lang;
|
|
92
|
-
this.currentLang = lang;
|
|
93
|
-
}
|
|
94
|
-
/** Set the language options */
|
|
95
|
-
setLanguageOptions() {
|
|
96
|
-
if (this.headerSettings.languageSettings) {
|
|
97
|
-
Object.assign(this.languageSettings, this.headerSettings.languageSettings);
|
|
98
|
-
}
|
|
99
|
-
this.languageSettings.defaultLanguage = this.languageSettings.defaultLanguage || 'en';
|
|
100
|
-
this.languageSettings.displayLanguageOptions = this.languageSettings.displayLanguageOptions || false;
|
|
101
|
-
this.languageSettings.languages = this.languageSettings.languages || ['en', 'es'];
|
|
102
|
-
this.languageSettings.buttonText = this.languageSettings.buttonText || 'Languages';
|
|
103
|
-
this.translateService.addLangs(this.languageSettings.languages);
|
|
104
|
-
this.currentLang = this.translateService.currentLang;
|
|
105
|
-
this.headerSettings.languageSettings = this.languageSettings;
|
|
106
|
-
}
|
|
107
|
-
setDefaults() {
|
|
108
|
-
// header
|
|
109
|
-
this.headerSettings = {
|
|
110
|
-
armatureNavigation: true,
|
|
111
|
-
createSpaceForNavToggle: true,
|
|
112
|
-
displayLogo: true,
|
|
113
|
-
logoUrl: 'https://softheoncdnstorage.blob.core.windows.net/images/softheon/logo.svg',
|
|
114
|
-
logoAltText: 'the example portal header logo',
|
|
115
|
-
displayLogoText: false,
|
|
116
|
-
displayDropDownMenu: false,
|
|
117
|
-
dropDownAriaText: 'the header drop down menu button icon',
|
|
118
|
-
dropDownMenuSRText: 'the header account button drop down options',
|
|
119
|
-
displayAuthInfo: true,
|
|
120
|
-
languageSettings: {
|
|
121
|
-
displayLanguageOptions: true
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
this.headerThemeSettings = {
|
|
125
|
-
headerColor: '',
|
|
126
|
-
headerDropShadow: true,
|
|
127
|
-
authorizationButtonColor: 'rgb(11, 81, 156)',
|
|
128
|
-
authorizationButtonBackground: 'rgb(199, 219, 240)'
|
|
129
|
-
};
|
|
130
|
-
this.headerAuthSettings = {
|
|
131
|
-
clientId: '',
|
|
132
|
-
issuer: '',
|
|
133
|
-
scope: 'openid profile',
|
|
134
|
-
logInText: 'SIGN IN',
|
|
135
|
-
logOutText: 'SIGN OUT',
|
|
136
|
-
redirectUri: 'http://localhost:4200/',
|
|
137
|
-
skipIssuerCheck: true,
|
|
138
|
-
postLogOutUrl: 'http://localhost:4200/',
|
|
139
|
-
loginUrl: '',
|
|
140
|
-
returnRoute: '',
|
|
141
|
-
timeoutFactor: 9,
|
|
142
|
-
myAccountText: 'My Account',
|
|
143
|
-
authSetOnStartup: false,
|
|
144
|
-
responseType: 'code'
|
|
145
|
-
};
|
|
146
|
-
// navigation
|
|
147
|
-
this.navigationSettings = {
|
|
148
|
-
mainMenuText: 'MAIN MENU',
|
|
149
|
-
headerHeight: 64,
|
|
150
|
-
menuButtonSRText: 'Navigation Menu Button',
|
|
151
|
-
maxContentWidthDesktop: 100,
|
|
152
|
-
maxContentWidthMobile: 100
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
/** Gets the example navigation nodes */
|
|
156
|
-
getExampleNavNodes() {
|
|
157
|
-
return [
|
|
158
|
-
{
|
|
159
|
-
text: 'demo.nav_1',
|
|
160
|
-
fontAwesomeIcon: 'fad fa-home',
|
|
161
|
-
route: '/overview',
|
|
162
|
-
subNodes: []
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
text: 'demo.nav_2',
|
|
166
|
-
fontAwesomeIcon: 'fad fa-file-alt',
|
|
167
|
-
route: '/documents',
|
|
168
|
-
subNodes: [
|
|
169
|
-
{
|
|
170
|
-
text: 'demo.nav_2a',
|
|
171
|
-
route: '/documents/invoice'
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
text: 'demo.nav_2b',
|
|
175
|
-
route: '/documents/notice'
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
text: 'demo.nav_2c',
|
|
179
|
-
route: '/tax'
|
|
180
|
-
}
|
|
181
|
-
]
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
text: 'PAYMENTS',
|
|
185
|
-
fontAwesomeIcon: 'fad fa-dollar-sign',
|
|
186
|
-
subNodes: [
|
|
187
|
-
{
|
|
188
|
-
text: 'Make a Payment',
|
|
189
|
-
route: '/payment'
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
text: 'Autopay',
|
|
193
|
-
route: '/autopay'
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
text: 'Scheduled Payments',
|
|
197
|
-
route: '/scheduled'
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
text: 'Payment History',
|
|
201
|
-
route: '/history'
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
text: 'My Payment Methods',
|
|
205
|
-
route: '/payment-methods'
|
|
206
|
-
}
|
|
207
|
-
]
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
text: 'SERVICE REQUEST',
|
|
211
|
-
fontAwesomeIcon: 'fad fa-hands-helping',
|
|
212
|
-
route: '/service-requests',
|
|
213
|
-
subNodes: []
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
text: 'PAPERLESS SETTINGS',
|
|
217
|
-
fontAwesomeIcon: 'fad fa-leaf-heart',
|
|
218
|
-
route: '/paperless',
|
|
219
|
-
subNodes: []
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
text: 'FAQs',
|
|
223
|
-
fontAwesomeIcon: 'fad fa-question',
|
|
224
|
-
route: '/faqs',
|
|
225
|
-
subNodes: []
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
text: 'Language Help',
|
|
229
|
-
fontAwesomeIcon: 'far fa-language',
|
|
230
|
-
route: '/language-help',
|
|
231
|
-
subNodes: []
|
|
232
|
-
}
|
|
233
|
-
];
|
|
234
|
-
}
|
|
235
|
-
/** Assigns the default navigation theme */
|
|
236
|
-
assignDefaultNavTheme(config) {
|
|
237
|
-
const defaultNavTheme = {
|
|
238
|
-
bgGradientColor1: '#fff',
|
|
239
|
-
bgGradientColor2: '#fff',
|
|
240
|
-
borderRightColor: 'transparent',
|
|
241
|
-
contentBgColor: '#ececec',
|
|
242
|
-
fontColor: '#000',
|
|
243
|
-
highlightGradient1: 'rgb(199, 219, 240)',
|
|
244
|
-
highlightGradient2: 'rgb(11, 81, 156)',
|
|
245
|
-
listBorderColor: '#CFD8DC',
|
|
246
|
-
subHighlightBgColor: 'rgba(255,255,255, .20)',
|
|
247
|
-
subHighlightBorderColor: '#00ACC1'
|
|
248
|
-
};
|
|
249
|
-
Object.assign(this.navigationTheme, defaultNavTheme);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
AppTemplateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AppTemplateComponent, deps: [{ token: i1.BaseConfigService }, { token: i2.TranslateService }, { token: i3.FederatedModuleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
253
|
-
AppTemplateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: AppTemplateComponent, selector: "sof-ar-app-template", ngImport: i0, template: "<header *ngIf=\"!isFederatedModule\">\r\n <sof-ar-header [settings]=\"headerSettings\" [themeSettings]=\"headerThemeSettings\" [authSettings]=\"headerAuthSettings\"\r\n (setLanguage$)=\"applyLanguage()\" [currentLang]=\"currentLang\">\r\n <ng-container sof-ar-header-left>\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-center>\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-right>\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-header-user-menu>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-header>\r\n</header>\r\n<ng-content select=\"[sof-ar-template-content]\"> </ng-content>\r\n<ng-container *ngIf=\"isFederatedModule\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n<sof-ar-navigation *ngIf=\"!isFederatedModule\" [navigationData]=\"navigationNodes\" [settings]=\"navigationSettings\"\r\n [advancedSettings]=\"navigationAdvancedSettings\" [themeSettings]=\"navigationTheme\"\r\n [languageSettings]=\"languageSettings\" [currentLang]=\"currentLang\" (setLanguage$)=\"applyLanguage()\"\r\n [logOutText]=\"logOutText\">\r\n <ng-container sof-ar-nav-content>\r\n <sof-ar-alert-banner class=\"sof-ar-alert-banner-container\"></sof-ar-alert-banner>\r\n <div class=\"sof-ar-nav-container\" fxLayout=\"column\" fxLayout=\"start stretch\" style=\"height: 100%;\">\r\n <ng-content select=\"[sof-ar-nav-content-header]\"></ng-content>\r\n <div class=\"sof-ar-nav-content-container\" fxFlex=\"1 0 100%\">\r\n <main [ngStyle.lt-md]=\"{'max-width':navigationSettings?.maxContentWidthMobile+'%'}\"\r\n [ngStyle.gt-sm]=\"{'max-width':navigationSettings?.maxContentWidthDesktop+'%'}\" class=\"main-content\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <sof-ar-footer style=\"width: 100%;\" [footerConfig]=\"{ showPreContent1: false, showPreContent2: false }\">\r\n <ng-container sof-ar-footer-content>\r\n <ng-content select=\"[sof-ar-footer-content]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container sof-ar-nav-mobile-footer>\r\n <ng-content select=\"[sof-ar-nav-mobile-footer]\"></ng-content>\r\n </ng-container>\r\n</sof-ar-navigation>\r\n", styles: [".nav-content-container{display:flex;flex-direction:column;height:100%}.sof-ar-nav-container{overflow:overlay}.sof-ar-nav-content-container{width:100%}.main-content{margin:auto}\n"], dependencies: [{ kind: "component", type: i4.ArmatureNavigationComponent, selector: "sof-ar-navigation", inputs: ["navigationData", "settings", "advancedSettings", "themeSettings", "languageSettings", "currentLang", "logOutText"], outputs: ["setLanguage$"] }, { kind: "component", type: i5.ArmatureHeaderComponent, selector: "sof-ar-header", inputs: ["settings", "themeSettings", "authSettings", "currentLang"], outputs: ["setLanguage$", "isLoggedInEE"] }, { kind: "component", type: i6.ArmatureFooterComponent, selector: "sof-ar-footer", inputs: ["footerConfig"] }, { kind: "component", type: i7.AlertBannerComponent, selector: "sof-ar-alert-banner", inputs: ["context"] }, { kind: "directive", type: i8.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i11.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }] });
|
|
254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AppTemplateComponent, decorators: [{
|
|
255
|
-
type: Component,
|
|
256
|
-
args: [{ selector: 'sof-ar-app-template', template: "<header *ngIf=\"!isFederatedModule\">\r\n <sof-ar-header [settings]=\"headerSettings\" [themeSettings]=\"headerThemeSettings\" [authSettings]=\"headerAuthSettings\"\r\n (setLanguage$)=\"applyLanguage()\" [currentLang]=\"currentLang\">\r\n <ng-container sof-ar-header-left>\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-center>\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-right>\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-header-user-menu>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-header>\r\n</header>\r\n<ng-content select=\"[sof-ar-template-content]\"> </ng-content>\r\n<ng-container *ngIf=\"isFederatedModule\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n<sof-ar-navigation *ngIf=\"!isFederatedModule\" [navigationData]=\"navigationNodes\" [settings]=\"navigationSettings\"\r\n [advancedSettings]=\"navigationAdvancedSettings\" [themeSettings]=\"navigationTheme\"\r\n [languageSettings]=\"languageSettings\" [currentLang]=\"currentLang\" (setLanguage$)=\"applyLanguage()\"\r\n [logOutText]=\"logOutText\">\r\n <ng-container sof-ar-nav-content>\r\n <sof-ar-alert-banner class=\"sof-ar-alert-banner-container\"></sof-ar-alert-banner>\r\n <div class=\"sof-ar-nav-container\" fxLayout=\"column\" fxLayout=\"start stretch\" style=\"height: 100%;\">\r\n <ng-content select=\"[sof-ar-nav-content-header]\"></ng-content>\r\n <div class=\"sof-ar-nav-content-container\" fxFlex=\"1 0 100%\">\r\n <main [ngStyle.lt-md]=\"{'max-width':navigationSettings?.maxContentWidthMobile+'%'}\"\r\n [ngStyle.gt-sm]=\"{'max-width':navigationSettings?.maxContentWidthDesktop+'%'}\" class=\"main-content\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <sof-ar-footer style=\"width: 100%;\" [footerConfig]=\"{ showPreContent1: false, showPreContent2: false }\">\r\n <ng-container sof-ar-footer-content>\r\n <ng-content select=\"[sof-ar-footer-content]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container sof-ar-nav-mobile-footer>\r\n <ng-content select=\"[sof-ar-nav-mobile-footer]\"></ng-content>\r\n </ng-container>\r\n</sof-ar-navigation>\r\n", styles: [".nav-content-container{display:flex;flex-direction:column;height:100%}.sof-ar-nav-container{overflow:overlay}.sof-ar-nav-content-container{width:100%}.main-content{margin:auto}\n"] }]
|
|
257
|
-
}], ctorParameters: function () { return [{ type: i1.BaseConfigService }, { type: i2.TranslateService }, { type: i3.FederatedModuleService }]; } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9jb21wb25lbnRzL2FwcC10ZW1wbGF0ZS9hcHAtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvYXBwLXRlbXBsYXRlL2FwcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBY2xELGlDQUFpQztBQU1qQyxNQUFNLE9BQU8sb0JBQW9CO0lBZ0MvQix1QkFBdUI7SUFDdkIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBS0Q7Ozs7O09BS0c7SUFDSCxZQUNtQixhQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsc0JBQThDO1FBRjlDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFqRGpFLDBCQUEwQjtRQUNuQixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0NBQWdDO1FBQ3pCLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFFckQsK0JBQStCO1FBQ3hCLHVCQUFrQixHQUF1QixF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LEVBQUUsWUFBWTtnQkFDbkIsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLGVBQWUsRUFBRSxpQkFBaUI7Z0JBQ2xDLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZUFBZTtnQkFDckIsZUFBZSxFQUFFLGlCQUFpQjtnQkFDbEMsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsUUFBUSxFQUFFLEVBQUU7YUFDYjtTQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsMkNBQTJDO0lBQ25DLHFCQUFxQixDQUFDLE1BQWtCO1FBQzlDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsZ0JBQWdCLEVBQUUsTUFBTTtZQUN4QixnQkFBZ0IsRUFBRSxhQUFhO1lBQy9CLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4QyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsZUFBZSxFQUFFLFNBQVM7WUFDMUIsbUJBQW1CLEVBQUUsd0JBQXdCO1lBQzdDLHVCQUF1QixFQUFFLFNBQVM7U0FDbkMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDOztpSEEzUVUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMkRDcEJqQywybUZBZ0RBOzJGRDVCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSGVhZGVyQXV0aFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItYXV0aC5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlckxhbmd1YWdlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXIuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzLCBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncywgTmF2Tm9kZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24vbmF2aWdhdGlvbi1hcGknO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZlZGVyYXRlZC1tb2R1bGUuc2VydmljZSc7XHJcblxyXG4vKiogVGhlIGFwcCB0ZW1wbGF0ZSBjb21wb25lbnQgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItYXBwLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBvYnNlcnZhYmxlICovXHJcbiAgcHVibGljIGNvbmZpZyQ6IE9ic2VydmFibGU8QmFzZUNvbmZpZz47XHJcblxyXG4gIC8qKiBUaGUgaGVhZGVyIHNldHRpbmdzICovXHJcbiAgcHVibGljIGhlYWRlclNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBoZWFkZXJUaGVtZVNldHRpbmdzOiBIZWFkZXJUaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgaGVhZGVyIGF1dGggc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgaGVhZGVyQXV0aFNldHRpbmdzOiBIZWFkZXJBdXRoU2V0dGluZ3MgPSB7fSBhcyBhbnk7XHJcblxyXG4gIC8qKiB0aGUgbmF2aWdhdGlvbiB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uVGhlbWU6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uU2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gbm9kZXMgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvbk5vZGVzOiBBcnJheTxOYXZOb2RlPiA9IFtdO1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gYWR2YW5jZWQgc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3M6IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgbGFuZ3VhZ2Ugc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbGFuZ3VhZ2VTZXR0aW5nczogSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgbGFuZ3VhZ2UgKi9cclxuICBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBsb2cgb3V0IHRleHQgKi9cclxuICBwdWJsaWMgZ2V0IGxvZ091dFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRlckF1dGhTZXR0aW5ncy5sb2dPdXRUZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqIGdldHMgdGhlIG5vbiB1c2VkIGxhbmd1YWdlICovXHJcbiAgcHVibGljIGdldCBvdGhlckxhbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNldHRpbmdzPy5sYW5ndWFnZXM/LmZpbmQoeCA9PiB4ICE9PSB0aGlzLmN1cnJlbnRMYW5nKTtcclxuICB9XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgYXMgYSBmZWRlcmF0ZWQgbW9kdWxlICovXHJcbiAgcHVibGljIGlzRmVkZXJhdGVkTW9kdWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb25maWdTZXJ2aWNlIFRoZSBjb25maWcgc2VydmljZVxyXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVTZXJ2aWNlIFRoZSB0cmFuc2xhdGUgc2VydmljZVxyXG4gICAqIEBwYXJhbSBmZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQmFzZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlZGVyYXRlZE1vZHVsZVNlcnZpY2U6IEZlZGVyYXRlZE1vZHVsZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8qKiBMaWZlIGN5Y2xlIGhvb2sgZm9yIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGZWRlcmF0ZWRNb2R1bGUgPSB0aGlzLmZlZGVyYXRlZE1vZHVsZVNlcnZpY2UuaXNGZWRlcmF0ZWRNb2R1bGU7XHJcbiAgICB0aGlzLmNvbmZpZyQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnJDtcclxuICAgIHRoaXMuc2V0RGVmYXVsdHMoKTtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAvLyBvYmplY3QgYXNzaWduIGlzIHVzZWQgaGVyZSBzbyB0aGUgaGVhZGVyIGRvZXNuJ3QgaGF2ZSB0byByZSByZW5kZXIgd2l0aCB0aGUgbmV3IG9iamVjdCByZWZlcmVuY2VcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJTZXR0aW5ncywgY29uZmlnPy5oZWFkZXI/LnNldHRpbmdzKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmhlYWRlclRoZW1lU2V0dGluZ3MsIGNvbmZpZz8uaGVhZGVyPy50aGVtZSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJBdXRoU2V0dGluZ3MsIGNvbmZpZz8ub0F1dGhTZXR0aW5ncyk7XHJcblxyXG4gICAgICAvLyBuYXZpZ2F0aW9uXHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbk5vZGVzID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5ub2RlcyB8fCB0aGlzLmdldEV4YW1wbGVOYXZOb2RlcygpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvblNldHRpbmdzLCBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzLCBjb25maWc/Lm5hdmlnYXRpb24/LmFkdmFuY2VkKTtcclxuICAgICAgdGhpcy5hc3NpZ25EZWZhdWx0TmF2VGhlbWUoY29uZmlnKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm5hdmlnYXRpb25UaGVtZSwgY29uZmlnPy5uYXZpZ2F0aW9uPy50aGVtZSk7XHJcblxyXG4gICAgICAvLyBzZXQgZGVwZW5kZW50IHZhbHVlXHJcbiAgICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MuYXJtYXR1cmVOYXZpZ2F0aW9uID0gIXRoaXMubmF2aWdhdGlvblNldHRpbmdzLmhpZGVOYXZpZ2F0aW9uO1xyXG4gICAgICBcclxuICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJyB8fCB0aGlzLm5hdmlnYXRpb25TZXR0aW5ncy5oaWRlTmF2aWdhdGlvbikge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MuY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGUgPSB0aGlzLm5hdmlnYXRpb25TZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTZXQgYm90aCBuYXZpZ2F0aW9uIHRvZ2dsZSBzZXR0aW5ncyB0byB0cnVlIGlmIGVpdGhlciBpcyB0cnVlXHJcbiAgICAgIGlmICh0aGlzLmhlYWRlclNldHRpbmdzLmNyZWF0ZVNwYWNlRm9yTmF2VG9nZ2xlIHx8IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmFsbG93TmF2VG9nZ2xlKSB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJTZXR0aW5ncy5jcmVhdGVTcGFjZUZvck5hdlRvZ2dsZSA9IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRMYW5ndWFnZU9wdGlvbnMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGllcyB0aGUgbGFuZ3VhZ2UgdG8gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIGxhbmcgdGhlIGxhbmd1YWdlXHJcbiAgICovXHJcbiAgcHVibGljIGFwcGx5TGFuZ3VhZ2UobGFuZz86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFsYW5nKSB7XHJcbiAgICAgIGxhbmcgPSB0aGlzLm90aGVyTGFuZ1RleHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gbGFuZztcclxuICAgIHRoaXMuY3VycmVudExhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgbGFuZ3VhZ2Ugb3B0aW9ucyAqL1xyXG4gIHByaXZhdGUgc2V0TGFuZ3VhZ2VPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyU2V0dGluZ3MubGFuZ3VhZ2VTZXR0aW5ncykge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubGFuZ3VhZ2VTZXR0aW5ncywgdGhpcy5oZWFkZXJTZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGVmYXVsdExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzLmRlZmF1bHRMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzLmRpc3BsYXlMYW5ndWFnZU9wdGlvbnMgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGlzcGxheUxhbmd1YWdlT3B0aW9ucyB8fCBmYWxzZTtcclxuICAgIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MubGFuZ3VhZ2VzIHx8IFsnZW4nLCAnZXMnXTtcclxuICAgIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5idXR0b25UZXh0ID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzLmJ1dHRvblRleHQgfHwgJ0xhbmd1YWdlcyc7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMpO1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MubGFuZ3VhZ2VTZXR0aW5ncyA9IHRoaXMubGFuZ3VhZ2VTZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKTogdm9pZCB7XHJcbiAgICAvLyBoZWFkZXJcclxuICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MgPSB7XHJcbiAgICAgIGFybWF0dXJlTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGU6IHRydWUsXHJcbiAgICAgIGRpc3BsYXlMb2dvOiB0cnVlLFxyXG4gICAgICBsb2dvVXJsOiAnaHR0cHM6Ly9zb2Z0aGVvbmNkbnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L2ltYWdlcy9zb2Z0aGVvbi9sb2dvLnN2ZycsXHJcbiAgICAgIGxvZ29BbHRUZXh0OiAndGhlIGV4YW1wbGUgcG9ydGFsIGhlYWRlciBsb2dvJyxcclxuICAgICAgZGlzcGxheUxvZ29UZXh0OiBmYWxzZSxcclxuICAgICAgZGlzcGxheURyb3BEb3duTWVudTogZmFsc2UsXHJcbiAgICAgIGRyb3BEb3duQXJpYVRleHQ6ICd0aGUgaGVhZGVyIGRyb3AgZG93biBtZW51IGJ1dHRvbiBpY29uJyxcclxuICAgICAgZHJvcERvd25NZW51U1JUZXh0OiAndGhlIGhlYWRlciBhY2NvdW50IGJ1dHRvbiBkcm9wIGRvd24gb3B0aW9ucycsXHJcbiAgICAgIGRpc3BsYXlBdXRoSW5mbzogdHJ1ZSxcclxuICAgICAgbGFuZ3VhZ2VTZXR0aW5nczoge1xyXG4gICAgICAgIGRpc3BsYXlMYW5ndWFnZU9wdGlvbnM6IHRydWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuaGVhZGVyVGhlbWVTZXR0aW5ncyA9IHtcclxuICAgICAgaGVhZGVyQ29sb3I6ICcnLFxyXG4gICAgICBoZWFkZXJEcm9wU2hhZG93OiB0cnVlLFxyXG4gICAgICBhdXRob3JpemF0aW9uQnV0dG9uQ29sb3I6ICdyZ2IoMTEsIDgxLCAxNTYpJyxcclxuICAgICAgYXV0aG9yaXphdGlvbkJ1dHRvbkJhY2tncm91bmQ6ICdyZ2IoMTk5LCAyMTksIDI0MCknXHJcbiAgICB9O1xyXG4gICAgdGhpcy5oZWFkZXJBdXRoU2V0dGluZ3MgPSB7XHJcbiAgICAgIGNsaWVudElkOiAnJyxcclxuICAgICAgaXNzdWVyOiAnJyxcclxuICAgICAgc2NvcGU6ICdvcGVuaWQgcHJvZmlsZScsXHJcbiAgICAgIGxvZ0luVGV4dDogJ1NJR04gSU4nLFxyXG4gICAgICBsb2dPdXRUZXh0OiAnU0lHTiBPVVQnLFxyXG4gICAgICByZWRpcmVjdFVyaTogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMC8nLFxyXG4gICAgICBza2lwSXNzdWVyQ2hlY2s6IHRydWUsXHJcbiAgICAgIHBvc3RMb2dPdXRVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAvJyxcclxuICAgICAgbG9naW5Vcmw6ICcnLFxyXG4gICAgICByZXR1cm5Sb3V0ZTogJycsXHJcbiAgICAgIHRpbWVvdXRGYWN0b3I6IDksXHJcbiAgICAgIG15QWNjb3VudFRleHQ6ICdNeSBBY2NvdW50JyxcclxuICAgICAgYXV0aFNldE9uU3RhcnR1cDogZmFsc2UsXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2NvZGUnXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIG5hdmlnYXRpb25cclxuICAgIHRoaXMubmF2aWdhdGlvblNldHRpbmdzID0ge1xyXG4gICAgICBtYWluTWVudVRleHQ6ICdNQUlOIE1FTlUnLFxyXG4gICAgICBoZWFkZXJIZWlnaHQ6IDY0LFxyXG4gICAgICBtZW51QnV0dG9uU1JUZXh0OiAnTmF2aWdhdGlvbiBNZW51IEJ1dHRvbicsXHJcbiAgICAgIG1heENvbnRlbnRXaWR0aERlc2t0b3A6IDEwMCxcclxuICAgICAgbWF4Q29udGVudFdpZHRoTW9iaWxlOiAxMDBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKiogR2V0cyB0aGUgZXhhbXBsZSBuYXZpZ2F0aW9uIG5vZGVzICovXHJcbiAgcHJpdmF0ZSBnZXRFeGFtcGxlTmF2Tm9kZXMoKTogQXJyYXk8TmF2Tm9kZT4ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdkZW1vLm5hdl8xJyxcclxuICAgICAgICBmb250QXdlc29tZUljb246ICdmYWQgZmEtaG9tZScsXHJcbiAgICAgICAgcm91dGU6ICcvb3ZlcnZpZXcnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ2RlbW8ubmF2XzInLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1maWxlLWFsdCcsXHJcbiAgICAgICAgcm91dGU6ICcvZG9jdW1lbnRzJyxcclxuICAgICAgICBzdWJOb2RlczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnZGVtby5uYXZfMmEnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy9kb2N1bWVudHMvaW52b2ljZSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdkZW1vLm5hdl8yYicsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2RvY3VtZW50cy9ub3RpY2UnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnZGVtby5uYXZfMmMnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy90YXgnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1BBWU1FTlRTJyxcclxuICAgICAgICBmb250QXdlc29tZUljb246ICdmYWQgZmEtZG9sbGFyLXNpZ24nLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdNYWtlIGEgUGF5bWVudCcsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL3BheW1lbnQnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnQXV0b3BheScsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2F1dG9wYXknXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnU2NoZWR1bGVkIFBheW1lbnRzJyxcclxuICAgICAgICAgICAgcm91dGU6ICcvc2NoZWR1bGVkJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGV4dDogJ1BheW1lbnQgSGlzdG9yeScsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2hpc3RvcnknXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnTXkgUGF5bWVudCBNZXRob2RzJyxcclxuICAgICAgICAgICAgcm91dGU6ICcvcGF5bWVudC1tZXRob2RzJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdTRVJWSUNFIFJFUVVFU1QnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1oYW5kcy1oZWxwaW5nJyxcclxuICAgICAgICByb3V0ZTogJy9zZXJ2aWNlLXJlcXVlc3RzJyxcclxuICAgICAgICBzdWJOb2RlczogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdQQVBFUkxFU1MgU0VUVElOR1MnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1sZWFmLWhlYXJ0JyxcclxuICAgICAgICByb3V0ZTogJy9wYXBlcmxlc3MnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0ZBUXMnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1xdWVzdGlvbicsXHJcbiAgICAgICAgcm91dGU6ICcvZmFxcycsXHJcbiAgICAgICAgc3ViTm9kZXM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnTGFuZ3VhZ2UgSGVscCcsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFyIGZhLWxhbmd1YWdlJyxcclxuICAgICAgICByb3V0ZTogJy9sYW5ndWFnZS1oZWxwJyxcclxuICAgICAgICBzdWJOb2RlczogW11cclxuICAgICAgfV07XHJcbiAgfVxyXG5cclxuICAvKiogQXNzaWducyB0aGUgZGVmYXVsdCBuYXZpZ2F0aW9uIHRoZW1lICovXHJcbiAgcHJpdmF0ZSBhc3NpZ25EZWZhdWx0TmF2VGhlbWUoY29uZmlnOiBCYXNlQ29uZmlnKTogdm9pZCB7XHJcbiAgICBjb25zdCBkZWZhdWx0TmF2VGhlbWUgPSB7XHJcbiAgICAgIGJnR3JhZGllbnRDb2xvcjE6ICcjZmZmJyxcclxuICAgICAgYmdHcmFkaWVudENvbG9yMjogJyNmZmYnLFxyXG4gICAgICBib3JkZXJSaWdodENvbG9yOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICBjb250ZW50QmdDb2xvcjogJyNlY2VjZWMnLFxyXG4gICAgICBmb250Q29sb3I6ICcjMDAwJyxcclxuICAgICAgaGlnaGxpZ2h0R3JhZGllbnQxOiAncmdiKDE5OSwgMjE5LCAyNDApJyxcclxuICAgICAgaGlnaGxpZ2h0R3JhZGllbnQyOiAncmdiKDExLCA4MSwgMTU2KScsXHJcbiAgICAgIGxpc3RCb3JkZXJDb2xvcjogJyNDRkQ4REMnLFxyXG4gICAgICBzdWJIaWdobGlnaHRCZ0NvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwgLjIwKScsXHJcbiAgICAgIHN1YkhpZ2hsaWdodEJvcmRlckNvbG9yOiAnIzAwQUNDMSdcclxuICAgIH07XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvblRoZW1lLCBkZWZhdWx0TmF2VGhlbWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGhlYWRlciAqbmdJZj1cIiFpc0ZlZGVyYXRlZE1vZHVsZVwiPlxyXG4gIDxzb2YtYXItaGVhZGVyIFtzZXR0aW5nc109XCJoZWFkZXJTZXR0aW5nc1wiIFt0aGVtZVNldHRpbmdzXT1cImhlYWRlclRoZW1lU2V0dGluZ3NcIiBbYXV0aFNldHRpbmdzXT1cImhlYWRlckF1dGhTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgKHNldExhbmd1YWdlJCk9XCJhcHBseUxhbmd1YWdlKClcIiBbY3VycmVudExhbmddPVwiY3VycmVudExhbmdcIj5cclxuICAgIDxuZy1jb250YWluZXIgc29mLWFyLWhlYWRlci1sZWZ0PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1sZWZ0XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtYXItaGVhZGVyLWNlbnRlcj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1oZWFkZXItY2VudGVyXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtYXItaGVhZGVyLXJpZ2h0PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1yaWdodF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgc29mLWhlYWRlci11c2VyLW1lbnU+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtaGVhZGVyLXVzZXItbWVudV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3NvZi1hci1oZWFkZXI+XHJcbjwvaGVhZGVyPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLXRlbXBsYXRlLWNvbnRlbnRdXCI+IDwvbmctY29udGVudD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmVkZXJhdGVkTW9kdWxlXCI+XHJcbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPHNvZi1hci1uYXZpZ2F0aW9uICpuZ0lmPVwiIWlzRmVkZXJhdGVkTW9kdWxlXCIgW25hdmlnYXRpb25EYXRhXT1cIm5hdmlnYXRpb25Ob2Rlc1wiIFtzZXR0aW5nc109XCJuYXZpZ2F0aW9uU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgW2FkdmFuY2VkU2V0dGluZ3NdPVwibmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3NcIiBbdGhlbWVTZXR0aW5nc109XCJuYXZpZ2F0aW9uVGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xhbmd1YWdlU2V0dGluZ3NdPVwibGFuZ3VhZ2VTZXR0aW5nc1wiIFtjdXJyZW50TGFuZ109XCJjdXJyZW50TGFuZ1wiIChzZXRMYW5ndWFnZSQpPVwiYXBwbHlMYW5ndWFnZSgpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsb2dPdXRUZXh0XT1cImxvZ091dFRleHRcIj5cclxuICA8bmctY29udGFpbmVyIHNvZi1hci1uYXYtY29udGVudD5cclxuICAgIDxzb2YtYXItYWxlcnQtYmFubmVyIGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1jb250YWluZXJcIj48L3NvZi1hci1hbGVydC1iYW5uZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLW5hdi1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0PVwic3RhcnQgc3RyZXRjaFwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLW5hdi1jb250ZW50LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItbmF2LWNvbnRlbnQtY29udGFpbmVyXCIgZnhGbGV4PVwiMSAwIDEwMCVcIj5cclxuICAgICAgICA8bWFpbiBbbmdTdHlsZS5sdC1tZF09XCJ7J21heC13aWR0aCc6bmF2aWdhdGlvblNldHRpbmdzPy5tYXhDb250ZW50V2lkdGhNb2JpbGUrJyUnfVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGUuZ3Qtc21dPVwieydtYXgtd2lkdGgnOm5hdmlnYXRpb25TZXR0aW5ncz8ubWF4Q29udGVudFdpZHRoRGVza3RvcCsnJSd9XCIgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L21haW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cImF1dG9cIiBmeExheW91dEFsaWduPVwiZW5kIGVuZFwiPlxyXG4gICAgICAgIDxzb2YtYXItZm9vdGVyIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW2Zvb3RlckNvbmZpZ109XCJ7IHNob3dQcmVDb250ZW50MTogZmFsc2UsIHNob3dQcmVDb250ZW50MjogZmFsc2UgfVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBzb2YtYXItZm9vdGVyLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItZm9vdGVyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zb2YtYXItZm9vdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgc29mLWFyLW5hdi1tb2JpbGUtZm9vdGVyPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1uYXYtbW9iaWxlLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvc29mLWFyLW5hdmlnYXRpb24+XHJcbiJdfQ==
|