@alfresco/adf-core 8.1.0-16500060130 → 8.1.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/bundles/assets/adf-core/i18n/de.json +14 -2
- package/bundles/assets/adf-core/i18n/en.json +13 -1
- package/bundles/assets/adf-core/i18n/es.json +14 -2
- package/bundles/assets/adf-core/i18n/fr.json +14 -2
- package/bundles/assets/adf-core/i18n/it.json +14 -2
- package/bundles/assets/adf-core/i18n/pl.json +13 -1
- package/bundles/assets/adf-core/i18n/pt.json +14 -2
- package/feature-flags/lib/components/flags/flags.component.d.ts +2 -2
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
- package/fesm2022/adf-core.mjs +1391 -2841
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +5 -5
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +52 -59
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +68 -14
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/app-config/provide-app-config.d.ts +2 -2
- package/lib/app-config/public-api.d.ts +0 -2
- package/lib/auth/oidc/auth.module.d.ts +10 -13
- package/lib/{mock/form/form-definition-readonly.mock.d.ts → auth/oidc/auth.routes.d.ts} +2 -1
- package/lib/auth/oidc/public-api.d.ts +0 -1
- package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
- package/lib/card-view/components/base-card-view.d.ts +1 -1
- package/lib/card-view/components/card-view/card-view.component.scss +12 -9
- package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +1 -2
- package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +6 -5
- package/lib/core.module.d.ts +11 -0
- package/lib/datatable/components/datatable/datatable.component.scss +2 -1
- package/lib/datatable/data/data-table.schema.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
- package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +2 -6
- package/lib/form/components/form-renderer.component.scss +25 -6
- package/lib/form/components/form-section/form-section.component.scss +23 -1
- package/lib/form/components/widgets/amount/amount.widget.scss +1 -2
- package/lib/form/components/widgets/date-time/date-time.widget.scss +1 -2
- package/lib/form/components/widgets/display-text/display-text.widget.scss +2 -0
- package/lib/mock/data-column.mock.d.ts +0 -2
- package/lib/mock/form/widget-visibility.service.mock.d.ts +0 -5
- package/lib/mock/public-api.d.ts +0 -4
- package/lib/{mock/form/form-definition-visibility.mock.d.ts → testing/app-config-testing.d.ts} +8 -2
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/noop-auth.module.d.ts +31 -4
- package/lib/testing/unit-testing-utils.d.ts +1 -11
- package/lib/translation/provide-i18n.d.ts +1 -1
- package/lib/viewer/components/img-viewer/img-viewer.component.d.ts +2 -2
- package/lib/viewer/components/viewer.component.d.ts +1 -1
- package/lib/viewer/services/rendering-queue.services.d.ts +2 -2
- package/package.json +3 -15
- package/shell/README.md +13 -3
- package/shell/index.d.ts +1 -0
- package/shell/lib/providers.d.ts +36 -0
- package/shell/lib/shell.module.d.ts +1 -1
- package/esm2022/adf-core.mjs +0 -5
- package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
- package/esm2022/api/index.mjs +0 -20
- package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
- package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
- package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
- package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
- package/esm2022/api/lib/interfaces.mjs +0 -18
- package/esm2022/api/lib/types.mjs +0 -18
- package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
- package/esm2022/auth/authentication.mjs +0 -19
- package/esm2022/auth/index.mjs +0 -19
- package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -82
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
- package/esm2022/breadcrumbs/index.mjs +0 -19
- package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
- package/esm2022/feature-flags/index.mjs +0 -29
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -129
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
- package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
- package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
- package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
- package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -94
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
- package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -126
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -51
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -51
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -51
- package/esm2022/lib/about/about-package/package-list.component.mjs +0 -65
- package/esm2022/lib/about/about-panel.directive.mjs +0 -37
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -59
- package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -42
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -51
- package/esm2022/lib/about/about.component.mjs +0 -35
- package/esm2022/lib/about/about.module.mjs +0 -75
- package/esm2022/lib/about/index.mjs +0 -18
- package/esm2022/lib/about/interfaces.mjs +0 -18
- package/esm2022/lib/about/public-api.mjs +0 -28
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
- package/esm2022/lib/app-config/app-config.loader.mjs +0 -41
- package/esm2022/lib/app-config/app-config.module.mjs +0 -33
- package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
- package/esm2022/lib/app-config/app-config.service.mjs +0 -243
- package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
- package/esm2022/lib/app-config/index.mjs +0 -18
- package/esm2022/lib/app-config/provide-app-config.mjs +0 -44
- package/esm2022/lib/app-config/public-api.mjs +0 -23
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -369
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
- package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
- package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
- package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
- package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
- package/esm2022/lib/auth/index.mjs +0 -18
- package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
- package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
- package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
- package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
- package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
- package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
- package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
- package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
- package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
- package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
- package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
- package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
- package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -204
- package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
- package/esm2022/lib/auth/public-api.mjs +0 -44
- package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
- package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -95
- package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
- package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
- package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
- package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
- package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
- package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
- package/esm2022/lib/avatar/avatar.component.mjs +0 -51
- package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
- package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
- package/esm2022/lib/blank-page/index.mjs +0 -18
- package/esm2022/lib/blank-page/public-api.mjs +0 -19
- package/esm2022/lib/button/button.component.mjs +0 -61
- package/esm2022/lib/card-view/card-view.module.mjs +0 -80
- package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -55
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -39
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -182
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -64
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -46
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -137
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -113
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -239
- package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
- package/esm2022/lib/card-view/index.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
- package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
- package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
- package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
- package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
- package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
- package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
- package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
- package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
- package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
- package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
- package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
- package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
- package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
- package/esm2022/lib/card-view/public-api.mjs +0 -25
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
- package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
- package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
- package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
- package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
- package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
- package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
- package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
- package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -98
- package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
- package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
- package/esm2022/lib/clipboard/index.mjs +0 -18
- package/esm2022/lib/clipboard/public-api.mjs +0 -21
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -52
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
- package/esm2022/lib/comments/comment-list/index.mjs +0 -18
- package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
- package/esm2022/lib/comments/comments.component.mjs +0 -132
- package/esm2022/lib/comments/comments.module.mjs +0 -33
- package/esm2022/lib/comments/index.mjs +0 -18
- package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
- package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
- package/esm2022/lib/comments/public-api.mjs +0 -22
- package/esm2022/lib/common/index.mjs +0 -35
- package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
- package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
- package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
- package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
- package/esm2022/lib/common/services/cookie.service.mjs +0 -82
- package/esm2022/lib/common/services/download.service.mjs +0 -102
- package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
- package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
- package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
- package/esm2022/lib/common/services/log.service.mjs +0 -171
- package/esm2022/lib/common/services/page-title.service.mjs +0 -63
- package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
- package/esm2022/lib/common/services/storage.service.mjs +0 -143
- package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
- package/esm2022/lib/common/services/url.service.mjs +0 -45
- package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
- package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
- package/esm2022/lib/common/utils/file-utils.mjs +0 -65
- package/esm2022/lib/common/utils/index.mjs +0 -18
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
- package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
- package/esm2022/lib/common/utils/object-utils.mjs +0 -107
- package/esm2022/lib/common/utils/public-api.mjs +0 -25
- package/esm2022/lib/common/utils/string-utils.mjs +0 -45
- package/esm2022/lib/context-menu/animations.mjs +0 -33
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -91
- package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
- package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
- package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
- package/esm2022/lib/context-menu/index.mjs +0 -18
- package/esm2022/lib/context-menu/interfaces.mjs +0 -18
- package/esm2022/lib/context-menu/public-api.mjs +0 -21
- package/esm2022/lib/core.module.mjs +0 -296
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -113
- package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
- package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -914
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
- package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
- package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
- package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
- package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
- package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
- package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
- package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
- package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -41
- package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
- package/esm2022/lib/datatable/data-column/index.mjs +0 -18
- package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
- package/esm2022/lib/datatable/datatable.module.mjs +0 -161
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
- package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
- package/esm2022/lib/datatable/index.mjs +0 -18
- package/esm2022/lib/datatable/public-api.mjs +0 -55
- package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
- package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -70
- package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
- package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -52
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -34
- package/esm2022/lib/dialogs/index.mjs +0 -18
- package/esm2022/lib/dialogs/public-api.mjs +0 -25
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -73
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
- package/esm2022/lib/directives/directive.module.mjs +0 -56
- package/esm2022/lib/directives/highlight.directive.mjs +0 -67
- package/esm2022/lib/directives/index.mjs +0 -18
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
- package/esm2022/lib/directives/logout.directive.mjs +0 -72
- package/esm2022/lib/directives/public-api.mjs +0 -24
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
- package/esm2022/lib/directives/upload.directive.mjs +0 -241
- package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -204
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
- package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
- package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
- package/esm2022/lib/events/base-ui.event.mjs +0 -21
- package/esm2022/lib/events/base.event.mjs +0 -29
- package/esm2022/lib/events/index.mjs +0 -18
- package/esm2022/lib/events/public-api.mjs +0 -19
- package/esm2022/lib/form/components/form-base.component.mjs +0 -224
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
- package/esm2022/lib/form/components/form-renderer.component.mjs +0 -161
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
- package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +0 -37
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
- package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -77
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -59
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -52
- package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
- package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
- package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
- package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
- package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
- package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
- package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
- package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -490
- package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
- package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
- package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
- package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -387
- package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
- package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
- package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
- package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
- package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -162
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -153
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -53
- package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -46
- package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -92
- package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -42
- package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -69
- package/esm2022/lib/form/components/widgets/index.mjs +0 -71
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -66
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -55
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -71
- package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -221
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -65
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
- package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
- package/esm2022/lib/form/events/form-error.event.mjs +0 -24
- package/esm2022/lib/form/events/form-field.event.mjs +0 -24
- package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
- package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
- package/esm2022/lib/form/events/form.event.mjs +0 -29
- package/esm2022/lib/form/events/index.mjs +0 -24
- package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
- package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
- package/esm2022/lib/form/form-base.module.mjs +0 -75
- package/esm2022/lib/form/index.mjs +0 -18
- package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
- package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
- package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
- package/esm2022/lib/form/pipes/index.mjs +0 -18
- package/esm2022/lib/form/public-api.mjs +0 -35
- package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
- package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
- package/esm2022/lib/form/services/form.service.mjs +0 -86
- package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
- package/esm2022/lib/header/header.component.mjs +0 -73
- package/esm2022/lib/header/index.mjs +0 -18
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
- package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
- package/esm2022/lib/header/public-api.mjs +0 -20
- package/esm2022/lib/icon/icon.component.mjs +0 -51
- package/esm2022/lib/icon/icon.module.mjs +0 -36
- package/esm2022/lib/icon/index.mjs +0 -18
- package/esm2022/lib/icon/public-api.mjs +0 -19
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -86
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
- package/esm2022/lib/identity-user-info/index.mjs +0 -18
- package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
- package/esm2022/lib/info-drawer/index.mjs +0 -18
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -113
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
- package/esm2022/lib/info-drawer/public-api.mjs +0 -20
- package/esm2022/lib/interface/index.mjs +0 -18
- package/esm2022/lib/interface/injection.tokens.mjs +0 -19
- package/esm2022/lib/interface/public-api.mjs +0 -18
- package/esm2022/lib/landing-page/index.mjs +0 -18
- package/esm2022/lib/landing-page/provider.mjs +0 -30
- package/esm2022/lib/landing-page/public-api.mjs +0 -18
- package/esm2022/lib/language-menu/index.mjs +0 -18
- package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
- package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
- package/esm2022/lib/language-menu/language-picker.component.mjs +0 -77
- package/esm2022/lib/language-menu/public-api.mjs +0 -21
- package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
- package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
- package/esm2022/lib/layout/components/header/header.component.mjs +0 -99
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
- package/esm2022/lib/layout/index.mjs +0 -18
- package/esm2022/lib/layout/layout.module.mjs +0 -72
- package/esm2022/lib/layout/public-api.mjs +0 -25
- package/esm2022/lib/login/components/login/login.component.mjs +0 -367
- package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -57
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
- package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
- package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
- package/esm2022/lib/login/index.mjs +0 -18
- package/esm2022/lib/login/login.module.mjs +0 -54
- package/esm2022/lib/login/models/login-error.event.mjs +0 -22
- package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
- package/esm2022/lib/login/models/login-success.event.mjs +0 -24
- package/esm2022/lib/login/public-api.mjs +0 -27
- package/esm2022/lib/material.module.mjs +0 -254
- package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
- package/esm2022/lib/mock/data-column.mock.mjs +0 -73
- package/esm2022/lib/mock/event.mock.mjs +0 -39
- package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
- package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
- package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
- package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
- package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
- package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
- package/esm2022/lib/mock/index.mjs +0 -18
- package/esm2022/lib/mock/public-api.mjs +0 -27
- package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
- package/esm2022/lib/models/comment.model.mjs +0 -51
- package/esm2022/lib/models/component.model.mjs +0 -24
- package/esm2022/lib/models/decimal-number.model.mjs +0 -26
- package/esm2022/lib/models/general-user.model.mjs +0 -24
- package/esm2022/lib/models/index.mjs +0 -18
- package/esm2022/lib/models/pagination.model.mjs +0 -29
- package/esm2022/lib/models/path.model.mjs +0 -24
- package/esm2022/lib/models/product-version.model.mjs +0 -28
- package/esm2022/lib/models/public-api.mjs +0 -24
- package/esm2022/lib/models/request-pagination.model.mjs +0 -25
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
- package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -138
- package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
- package/esm2022/lib/notifications/index.mjs +0 -18
- package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
- package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
- package/esm2022/lib/notifications/public-api.mjs +0 -23
- package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
- package/esm2022/lib/pagination/index.mjs +0 -18
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -111
- package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
- package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
- package/esm2022/lib/pagination/pagination.component.mjs +0 -263
- package/esm2022/lib/pagination/pagination.module.mjs +0 -35
- package/esm2022/lib/pagination/public-api.mjs +0 -22
- package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
- package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
- package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
- package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
- package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
- package/esm2022/lib/pipes/index.mjs +0 -18
- package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
- package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
- package/esm2022/lib/pipes/pipe.module.mjs +0 -83
- package/esm2022/lib/pipes/public-api.mjs +0 -30
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
- package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
- package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
- package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
- package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
- package/esm2022/lib/progress/progress.component.mjs +0 -90
- package/esm2022/lib/search-text/animations.mjs +0 -32
- package/esm2022/lib/search-text/index.mjs +0 -18
- package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
- package/esm2022/lib/search-text/public-api.mjs +0 -22
- package/esm2022/lib/search-text/search-text-input.component.mjs +0 -283
- package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
- package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
- package/esm2022/lib/snackbar-content/index.mjs +0 -18
- package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
- package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -49
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -33
- package/esm2022/lib/sorting-picker/index.mjs +0 -18
- package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -67
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -43
- package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -61
- package/esm2022/lib/templates/index.mjs +0 -18
- package/esm2022/lib/templates/public-api.mjs +0 -20
- package/esm2022/lib/templates/template.module.mjs +0 -38
- package/esm2022/lib/testing/core.story.module.mjs +0 -39
- package/esm2022/lib/testing/core.testing.module.mjs +0 -36
- package/esm2022/lib/testing/index.mjs +0 -22
- package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
- package/esm2022/lib/testing/noop-translate.module.mjs +0 -75
- package/esm2022/lib/testing/unit-testing-utils.mjs +0 -367
- package/esm2022/lib/toolbar/index.mjs +0 -18
- package/esm2022/lib/toolbar/public-api.mjs +0 -21
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
- package/esm2022/lib/toolbar/toolbar.component.mjs +0 -39
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
- package/esm2022/lib/translation/index.mjs +0 -18
- package/esm2022/lib/translation/provide-i18n.mjs +0 -48
- package/esm2022/lib/translation/public-api.mjs +0 -20
- package/esm2022/lib/translation/translate-loader.service.mjs +0 -153
- package/esm2022/lib/translation/translation.service.mjs +0 -148
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -36
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -220
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -550
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -60
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -48
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -85
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -32
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -216
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
- package/esm2022/lib/viewer/components/viewer.component.mjs +0 -492
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
- package/esm2022/lib/viewer/index.mjs +0 -18
- package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
- package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
- package/esm2022/lib/viewer/public-api.mjs +0 -40
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
- package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
- package/esm2022/lib/viewer/viewer.module.mjs +0 -110
- package/esm2022/public-api.mjs +0 -61
- package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
- package/esm2022/shell/index.mjs +0 -21
- package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
- package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
- package/esm2022/shell/lib/shell.module.mjs +0 -75
- package/esm2022/shell/lib/shell.routes.mjs +0 -50
- package/lib/app-config/app-config.module.d.ts +0 -8
- package/lib/app-config/debug-app-config.service.d.ts +0 -10
- package/lib/auth/oidc/auth-routing.module.d.ts +0 -6
- package/lib/mock/form/form-definition.mock.d.ts +0 -19
- package/lib/mock/form/form.component.mock.d.ts +0 -17
- package/lib/testing/core.testing.module.d.ts +0 -11
|
@@ -1,367 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { CommonModule } from '@angular/common';
|
|
18
|
-
import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
19
|
-
import { ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
|
|
20
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
21
|
-
import { MatCardModule } from '@angular/material/card';
|
|
22
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
23
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
24
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
25
|
-
import { MatInputModule } from '@angular/material/input';
|
|
26
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
27
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
28
|
-
import { TranslatePipe } from '@ngx-translate/core';
|
|
29
|
-
import { AppConfigService, AppConfigValues } from '../../../app-config';
|
|
30
|
-
import { AuthenticationService, BasicAlfrescoAuthService } from '../../../auth';
|
|
31
|
-
import { OidcAuthenticationService } from '../../../auth/oidc/oidc-authentication.service';
|
|
32
|
-
import { UserPreferencesService } from '../../../common';
|
|
33
|
-
import { TranslationService } from '../../../translation';
|
|
34
|
-
import { LoginErrorEvent } from '../../models/login-error.event';
|
|
35
|
-
import { LoginSubmitEvent } from '../../models/login-submit.event';
|
|
36
|
-
import { LoginSuccessEvent } from '../../models/login-success.event';
|
|
37
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
38
|
-
import * as i0 from "@angular/core";
|
|
39
|
-
import * as i1 from "@angular/forms";
|
|
40
|
-
import * as i2 from "../../../auth";
|
|
41
|
-
import * as i3 from "../../../auth/oidc/oidc-authentication.service";
|
|
42
|
-
import * as i4 from "../../../translation";
|
|
43
|
-
import * as i5 from "@angular/router";
|
|
44
|
-
import * as i6 from "../../../app-config";
|
|
45
|
-
import * as i7 from "../../../common";
|
|
46
|
-
import * as i8 from "@angular/common";
|
|
47
|
-
import * as i9 from "@angular/material/card";
|
|
48
|
-
import * as i10 from "@angular/material/icon";
|
|
49
|
-
import * as i11 from "@angular/material/form-field";
|
|
50
|
-
import * as i12 from "@angular/material/input";
|
|
51
|
-
import * as i13 from "@angular/material/button";
|
|
52
|
-
import * as i14 from "@angular/material/progress-spinner";
|
|
53
|
-
import * as i15 from "@angular/material/checkbox";
|
|
54
|
-
// eslint-disable-next-line no-shadow
|
|
55
|
-
var LoginSteps;
|
|
56
|
-
(function (LoginSteps) {
|
|
57
|
-
LoginSteps[LoginSteps["Landing"] = 0] = "Landing";
|
|
58
|
-
LoginSteps[LoginSteps["Checking"] = 1] = "Checking";
|
|
59
|
-
LoginSteps[LoginSteps["Welcome"] = 2] = "Welcome";
|
|
60
|
-
})(LoginSteps || (LoginSteps = {}));
|
|
61
|
-
export class LoginComponent {
|
|
62
|
-
constructor(_fb, authService, basicAlfrescoAuthService, oidcAuthenticationService, translateService, router, appConfig, userPreferences, route) {
|
|
63
|
-
this._fb = _fb;
|
|
64
|
-
this.authService = authService;
|
|
65
|
-
this.basicAlfrescoAuthService = basicAlfrescoAuthService;
|
|
66
|
-
this.oidcAuthenticationService = oidcAuthenticationService;
|
|
67
|
-
this.translateService = translateService;
|
|
68
|
-
this.router = router;
|
|
69
|
-
this.appConfig = appConfig;
|
|
70
|
-
this.userPreferences = userPreferences;
|
|
71
|
-
this.route = route;
|
|
72
|
-
this.isPasswordShow = false;
|
|
73
|
-
/**
|
|
74
|
-
* Should the `Remember me` checkbox be shown? When selected, this
|
|
75
|
-
* option will remember the logged-in user after the browser is closed
|
|
76
|
-
* to avoid logging in repeatedly.
|
|
77
|
-
*/
|
|
78
|
-
this.showRememberMe = true;
|
|
79
|
-
/** Should the extra actions (`Need Help`, `Register`, etc) be shown? */
|
|
80
|
-
this.showLoginActions = true;
|
|
81
|
-
/** Sets the URL of the NEED HELP link in the footer. */
|
|
82
|
-
this.needHelpLink = '';
|
|
83
|
-
/** Sets the URL of the REGISTER link in the footer. */
|
|
84
|
-
this.registerLink = '';
|
|
85
|
-
/** Path to a custom logo image. */
|
|
86
|
-
this.logoImageUrl = './assets/images/alfresco-logo.svg';
|
|
87
|
-
/** Path to a custom background image. */
|
|
88
|
-
this.backgroundImageUrl = './assets/images/background.svg';
|
|
89
|
-
/** The copyright text below the login box. */
|
|
90
|
-
this.copyrightText = '\u00A9 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.';
|
|
91
|
-
/** Route to redirect to on successful login. */
|
|
92
|
-
this.successRoute = null;
|
|
93
|
-
/** Emitted when the login is successful. */
|
|
94
|
-
this.success = new EventEmitter();
|
|
95
|
-
/** Emitted when the login fails. */
|
|
96
|
-
this.error = new EventEmitter();
|
|
97
|
-
/** Emitted when the login form is submitted. */
|
|
98
|
-
this.executeSubmit = new EventEmitter();
|
|
99
|
-
this.ssoLogin = false;
|
|
100
|
-
this.isError = false;
|
|
101
|
-
this.actualLoginStep = LoginSteps.Landing;
|
|
102
|
-
this.LoginSteps = LoginSteps;
|
|
103
|
-
this.rememberMe = true;
|
|
104
|
-
this.minLength = 2;
|
|
105
|
-
this.destroyRef = inject(DestroyRef);
|
|
106
|
-
}
|
|
107
|
-
ngOnInit() {
|
|
108
|
-
this.initFormError();
|
|
109
|
-
this.initFormFieldsDefault();
|
|
110
|
-
this.initFormFieldsMessages();
|
|
111
|
-
this.successRoute = this.appConfig.get('successRoute', this.successRoute);
|
|
112
|
-
if (this.authService.isLoggedIn()) {
|
|
113
|
-
this.router.navigate([this.successRoute]);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
if (this.authService.isOauth()) {
|
|
117
|
-
const oauth = this.appConfig.oauth2;
|
|
118
|
-
if (oauth?.silentLogin) {
|
|
119
|
-
this.redirectToSSOLogin();
|
|
120
|
-
}
|
|
121
|
-
else if (oauth?.implicitFlow || oauth?.codeFlow) {
|
|
122
|
-
this.ssoLogin = true;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
this.route.queryParams.subscribe((params) => {
|
|
126
|
-
const url = params['redirectUrl'];
|
|
127
|
-
const provider = this.appConfig.get(AppConfigValues.PROVIDERS);
|
|
128
|
-
this.basicAlfrescoAuthService.setRedirect({ provider, url });
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
if (this.fieldsValidation) {
|
|
132
|
-
this.form = this._fb.group(this.fieldsValidation);
|
|
133
|
-
}
|
|
134
|
-
this.form.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => this.onValueChanged(data));
|
|
135
|
-
}
|
|
136
|
-
submit() {
|
|
137
|
-
this.onSubmit(this.form.value);
|
|
138
|
-
}
|
|
139
|
-
redirectToSSOLogin() {
|
|
140
|
-
this.oidcAuthenticationService.ssoLogin();
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Method called on submit form
|
|
144
|
-
*
|
|
145
|
-
* @param values login form values
|
|
146
|
-
*/
|
|
147
|
-
onSubmit(values) {
|
|
148
|
-
this.disableError();
|
|
149
|
-
const args = new LoginSubmitEvent({
|
|
150
|
-
controls: { username: this.form.controls.username }
|
|
151
|
-
});
|
|
152
|
-
this.executeSubmit.emit(args);
|
|
153
|
-
if (!args.defaultPrevented) {
|
|
154
|
-
this.actualLoginStep = LoginSteps.Checking;
|
|
155
|
-
this.performLogin(values);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
implicitLogin() {
|
|
159
|
-
if (this.authService.isLoggedIn()) {
|
|
160
|
-
this.router.navigate([this.successRoute]);
|
|
161
|
-
}
|
|
162
|
-
this.oidcAuthenticationService.ssoLogin();
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* The method check the error in the form and push the error in the formError object
|
|
166
|
-
*
|
|
167
|
-
* @param data form data
|
|
168
|
-
*/
|
|
169
|
-
onValueChanged(data) {
|
|
170
|
-
this.disableError();
|
|
171
|
-
for (const field in this.formError) {
|
|
172
|
-
if (field) {
|
|
173
|
-
this.formError[field] = '';
|
|
174
|
-
const hasError = (this.form.controls[field].errors && data[field] !== '') || (this.form.controls[field].dirty && !this.form.controls[field].valid);
|
|
175
|
-
if (hasError) {
|
|
176
|
-
for (const key in this.form.controls[field].errors) {
|
|
177
|
-
if (key) {
|
|
178
|
-
const message = this._message[field][key];
|
|
179
|
-
if (message?.value) {
|
|
180
|
-
const translated = this.translateService.instant(message.value, message.params);
|
|
181
|
-
this.formError[field] += translated;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
performLogin(values) {
|
|
190
|
-
this.authService.login(values.username, values.password, this.rememberMe).subscribe(async (token) => {
|
|
191
|
-
const redirectUrl = this.basicAlfrescoAuthService.getRedirect();
|
|
192
|
-
this.actualLoginStep = LoginSteps.Welcome;
|
|
193
|
-
this.userPreferences.setStoragePrefix(values.username);
|
|
194
|
-
values.password = null;
|
|
195
|
-
this.success.emit(new LoginSuccessEvent(token, values.username, null));
|
|
196
|
-
if (redirectUrl) {
|
|
197
|
-
this.basicAlfrescoAuthService.setRedirect(null);
|
|
198
|
-
await this.router.navigateByUrl(redirectUrl);
|
|
199
|
-
}
|
|
200
|
-
else if (this.successRoute) {
|
|
201
|
-
await this.router.navigate([this.successRoute]);
|
|
202
|
-
}
|
|
203
|
-
}, (err) => {
|
|
204
|
-
this.actualLoginStep = LoginSteps.Landing;
|
|
205
|
-
this.displayErrorMessage(err);
|
|
206
|
-
this.isError = true;
|
|
207
|
-
this.error.emit(new LoginErrorEvent(err));
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Check and display the right error message in the UI
|
|
212
|
-
*
|
|
213
|
-
* @param err error object
|
|
214
|
-
*/
|
|
215
|
-
displayErrorMessage(err) {
|
|
216
|
-
if (err.error?.crossDomain && err.error.message.indexOf('Access-Control-Allow-Origin') !== -1) {
|
|
217
|
-
this.errorMsg = err.error.message;
|
|
218
|
-
}
|
|
219
|
-
else if (err.status === 403 && err.message.indexOf('Invalid CSRF-token') !== -1) {
|
|
220
|
-
this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ERROR-CSRF';
|
|
221
|
-
}
|
|
222
|
-
else if (err.status === 403 && err.message.indexOf('The system is currently in read-only mode') !== -1) {
|
|
223
|
-
this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ECM-LICENSE';
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ERROR-CREDENTIALS';
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Add a custom form error for a field
|
|
231
|
-
*
|
|
232
|
-
* @param field field
|
|
233
|
-
* @param msg error message
|
|
234
|
-
*/
|
|
235
|
-
addCustomFormError(field, msg) {
|
|
236
|
-
this.formError[field] += msg;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Add a custom validation rule error for a field
|
|
240
|
-
*
|
|
241
|
-
* @param field field
|
|
242
|
-
* @param ruleId - i.e. required | minlength | maxlength
|
|
243
|
-
* @param msg message
|
|
244
|
-
* @param params parameters
|
|
245
|
-
*/
|
|
246
|
-
addCustomValidationError(field, ruleId, msg, params) {
|
|
247
|
-
if (field !== '__proto__' && field !== 'constructor' && field !== 'prototype') {
|
|
248
|
-
this._message[field][ruleId] = {
|
|
249
|
-
value: msg,
|
|
250
|
-
params
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Display and hide the password value.
|
|
256
|
-
*
|
|
257
|
-
* @param event input event
|
|
258
|
-
*/
|
|
259
|
-
toggleShowPassword(event) {
|
|
260
|
-
event.stopPropagation();
|
|
261
|
-
this.isPasswordShow = !this.isPasswordShow;
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* The method return if a field is valid or not
|
|
265
|
-
*
|
|
266
|
-
* @param field form field to check
|
|
267
|
-
* @returns `true` if form field should display an error, otherwise `false`
|
|
268
|
-
*/
|
|
269
|
-
isErrorStyle(field) {
|
|
270
|
-
return !field.valid && field.dirty && !field.pristine;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Trim username
|
|
274
|
-
*
|
|
275
|
-
* @param event event
|
|
276
|
-
*/
|
|
277
|
-
trimUsername(event) {
|
|
278
|
-
event.target.value = event.target.value.trim();
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Default formError values
|
|
282
|
-
*/
|
|
283
|
-
initFormError() {
|
|
284
|
-
this.formError = {
|
|
285
|
-
username: '',
|
|
286
|
-
password: ''
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Init form fields messages
|
|
291
|
-
*/
|
|
292
|
-
initFormFieldsMessages() {
|
|
293
|
-
this._message = {
|
|
294
|
-
username: {
|
|
295
|
-
required: {
|
|
296
|
-
value: 'LOGIN.MESSAGES.USERNAME-REQUIRED'
|
|
297
|
-
},
|
|
298
|
-
minlength: {
|
|
299
|
-
value: 'LOGIN.MESSAGES.USERNAME-MIN',
|
|
300
|
-
params: {
|
|
301
|
-
minLength: this.minLength
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
password: {
|
|
306
|
-
required: {
|
|
307
|
-
value: 'LOGIN.MESSAGES.PASSWORD-REQUIRED'
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
initFormFieldsDefault() {
|
|
313
|
-
this.form = this._fb.group({
|
|
314
|
-
username: ['', Validators.compose([Validators.required, Validators.minLength(this.minLength)])],
|
|
315
|
-
password: ['', Validators.required]
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Disable the error flag
|
|
320
|
-
*/
|
|
321
|
-
disableError() {
|
|
322
|
-
this.isError = false;
|
|
323
|
-
this.initFormError();
|
|
324
|
-
}
|
|
325
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AuthenticationService }, { token: i2.BasicAlfrescoAuthService }, { token: i3.OidcAuthenticationService }, { token: i4.TranslationService }, { token: i5.Router }, { token: i6.AppConfigService }, { token: i7.UserPreferencesService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
326
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginComponent, isStandalone: true, selector: "adf-login", inputs: { showRememberMe: "showRememberMe", showLoginActions: "showLoginActions", needHelpLink: "needHelpLink", registerLink: "registerLink", logoImageUrl: "logoImageUrl", backgroundImageUrl: "backgroundImageUrl", copyrightText: "copyrightText", fieldsValidation: "fieldsValidation", successRoute: "successRoute" }, outputs: { success: "success", error: "error", executeSubmit: "executeSubmit" }, host: { classAttribute: "adf-login" }, ngImport: i0, template: "<div class=\"adf-login-content\" [style.background-image]=\"'url(' + backgroundImageUrl + ')'\">\n <div class=\"adf-ie11FixerParent\">\n <div class=\"adf-ie11FixerChild\">\n\n <mat-card class=\"adf-login-card-wide\">\n <form id=\"adf-login-form\"\n [formGroup]=\"form\"\n autocomplete=\"off\"\n (submit)=\"onSubmit(form.value)\">\n <mat-card-header class=\"adf-login-card-header-text\">\n <mat-card-title>\n <div class=\"adf-alfresco-logo\">\n <!--HEADER TEMPLATE-->\n <ng-template *ngIf=\"headerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"headerTemplate\" />\n <img *ngIf=\"!headerTemplate\"\n id=\"adf-login-img-logo\"\n class=\"adf-img-logo\"\n [src]=\"logoImageUrl\"\n alt=\"{{ 'LOGIN.LOGO' | translate }}\">\n </div>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"adf-login-controls\">\n\n <!--ERRORS AREA-->\n <div class=\"adf-error-container\">\n <div *ngIf=\"isError\"\n id=\"login-error\"\n data-automation-id=\"login-error\"\n class=\"adf-error adf-error-message\">\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n <span class=\"adf-login-error-message\">\n {{ errorMsg | translate }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!ssoLogin\">\n\n <!--USERNAME FIELD-->\n <div class=\"adf-login__field adf-login-container\"\n [ngClass]=\"{'adf-is-invalid': isErrorStyle(form.controls.username)}\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.USERNAME' | translate }}\n </mat-label>\n <input matInput\n type=\"text\"\n class=\"adf-login-input\"\n formControlName=\"username\"\n id=\"username\"\n data-automation-id=\"username\"\n autocapitalize=\"none\"\n (blur)=\"trimUsername($event)\">\n </mat-form-field>\n <span *ngIf=\"formError['username']\"\n class=\"adf-login-validation\"\n for=\"username\">\n <span id=\"username-error\"\n class=\"adf-login-error\"\n data-automation-id=\"username-error\">\n {{ formError['username'] | translate }}\n </span>\n </span>\n </div>\n\n <!--PASSWORD FIELD-->\n <div class=\"adf-login__field\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.PASSWORD' | translate }}\n </mat-label>\n <input matInput\n [type]=\"isPasswordShow ? 'text' : 'password'\"\n formControlName=\"password\"\n class=\"adf-login-input\"\n id=\"password\"\n data-automation-id=\"password\">\n <button matSuffix\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"(isPasswordShow ? 'LOGIN.ARIA-LABEL.HIDE-PASSWORD' : 'LOGIN.ARIA-LABEL.SHOW-PASSWORD') | translate\"\n (click)=\"toggleShowPassword($event)\"\n (keyup.enter)=\"toggleShowPassword($event)\"\n [attr.data-automation-id]=\"isPasswordShow ? 'hide_password' : 'show_password'\">\n <mat-icon class=\"adf-login-form-password-icon adf-login-password-icon\">\n {{ isPasswordShow ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </mat-form-field>\n <span class=\"adf-login-validation\"\n for=\"password\"\n *ngIf=\"formError['password']\">\n <span id=\"password-required\"\n class=\"adf-login-error\"\n data-automation-id=\"password-required\">\n {{ formError['password'] | translate }}\n </span>\n </span>\n </div>\n\n <!--CUSTOM CONTENT-->\n <ng-content />\n\n <br>\n <button type=\"submit\"\n id=\"login-button\"\n class=\"adf-login-button\"\n mat-raised-button\n color=\"accent\"\n [class.adf-isChecking]=\"actualLoginStep === LoginSteps.Checking\"\n [class.adf-isWelcome]=\"actualLoginStep === LoginSteps.Welcome\"\n data-automation-id=\"login-button\"\n [disabled]=\"!form.valid\"\n [attr.aria-label]=\"'LOGIN.BUTTON.LOGIN' | translate\">\n <span *ngIf=\"actualLoginStep === LoginSteps.Landing\"\n class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.LOGIN' | translate }}\n </span>\n <div *ngIf=\"actualLoginStep === LoginSteps.Checking\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.CHECKING' | translate }}\n </span>\n <div class=\"adf-login-spinner-container\">\n <mat-spinner id=\"checking-spinner\"\n class=\"adf-login-checking-spinner\"\n [strokeWidth]=\"4\"\n [diameter]=\"25\" />\n </div>\n </div>\n <div *ngIf=\"actualLoginStep === LoginSteps.Welcome\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.WELCOME' | translate }}\n </span>\n <mat-icon class=\"adf-welcome-icon\">done</mat-icon>\n </div>\n </button>\n <div *ngIf=\"showRememberMe\" class=\"adf-login__remember-me\">\n <mat-checkbox id=\"adf-login-remember\"\n color=\"primary\"\n class=\"adf-login-remember-me\"\n [checked]=\"rememberMe\"\n (change)=\"rememberMe = !rememberMe\">\n <div class=\"adf-login-remember-me-label\">\n {{ 'LOGIN.LABEL.REMEMBER' | translate }}\n </div>\n </mat-checkbox>\n </div>\n </div>\n <div *ngIf=\"ssoLogin\">\n <button type=\"button\"\n (click)=\"implicitLogin()\"\n id=\"login-button-sso\"\n [attr.aria-label]=\"'LOGIN.BUTTON.SSO' | translate\"\n class=\"adf-login-button\"\n mat-raised-button color=\"primary\"\n data-automation-id=\"login-button-sso\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.SSO' | translate }}\n </span>\n </button>\n </div>\n </mat-card-content>\n\n <mat-card-actions *ngIf=\"footerTemplate || showLoginActions\">\n\n <div class=\"adf-login-action-container\">\n <!--FOOTER TEMPLATE-->\n <ng-template *ngIf=\"footerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"footerTemplate\" />\n <div class=\"adf-login-action\" *ngIf=\"!footerTemplate && showLoginActions\">\n <div id=\"adf-login-action-left\" class=\"adf-login-action-left\">\n <a href=\"{{ needHelpLink }}\">{{ 'LOGIN.ACTION.HELP' | translate }}</a>\n </div>\n <div id=\"adf-login-action-right\" class=\"adf-login-action-right\">\n <a href=\"{{ registerLink }}\">{{ 'LOGIN.ACTION.REGISTER' | translate }}</a>\n </div>\n </div>\n </div>\n </mat-card-actions>\n </form>\n </mat-card>\n\n <div class=\"adf-copyright\" data-automation-id=\"login-copyright\">\n {{ copyrightText }}\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".adf-login{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-login-content{background-size:cover;background-position:center;min-height:100%;min-width:320px;display:flex;justify-content:center;flex-direction:column}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content{display:table;width:100%;height:100%}}.adf-login-content .adf-ie11FixerParent{margin:16px 0;min-width:320px}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content .adf-ie11FixerParent{display:table-cell;vertical-align:middle;width:100%;padding-top:16px}}.adf-login-content .adf-ie11FixerChild{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.adf-login-content .adf-icon-inline{position:absolute;display:block;top:31%;left:82%;width:30px;overflow:hidden}.adf-login-content .adf-login-card-wide{border-radius:8px;background-color:var(--adf-theme-background-dialog-color);box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;width:450px;min-width:320px;padding:21px 64px 34px;box-sizing:border-box}@media screen and (width <= 482px){.adf-login-content .adf-login-card-wide{width:calc(100% - 32px)}}.adf-login-content .adf-error-container{height:45px}.adf-login-content .adf-error-message{display:flex;flex-direction:row;justify-content:flex-start;color:var(--theme-warn-color);padding:0;margin-bottom:4px;font-size:var(--theme-caption-font-size)}.adf-login-content .adf-error-message .adf-error-icon{margin-right:10px}.adf-login-content .adf-login-card-header-text{padding-bottom:42px;padding-top:0;margin:0 auto}.adf-login-content .adf-img-logo{display:block;margin-left:auto;margin-right:auto}.adf-login-content .adf-alfresco-logo{padding:24px 16px}.adf-login-content .adf-alfresco-logo img{max-height:58px}.adf-login-content .adf-login-button{width:100%;height:36px;line-height:normal;box-shadow:none}.adf-login-content .adf-login-button-label{color:var(--theme-accent-color-default-contrast);font-weight:bolder}.adf-login-content .adf-login-button.adf-isChecking{background-color:#e0f7fa}.adf-login-content .adf-login-button.adf-isChecking .adf-login-button-label{color:var(--theme-primary-color)}.adf-login-content .adf-login-button.adf-isWelcome{background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast)}.adf-login-content .adf-login-button.adf-isWelcome .adf-welcome-icon{margin:5px 0 0 10px}.adf-login-content .adf-interactive-login-label{display:flex;flex-direction:row;line-height:38px;justify-content:center}.adf-login-content .adf-login-spinner-container{margin-left:15px;margin-top:5px}.adf-login-content .adf-login-action{margin-top:20px;display:flex;flex-direction:row;justify-content:space-between}.adf-login-content .adf-login-action-left a,.adf-login-content .adf-login-action-right a{text-decoration:none}.adf-login-content .adf-is-active{background-color:transparent;font-size:var(--theme-caption-font-size);font-weight:400;line-height:1.33;color:var(--theme-warn-color)}.adf-login-content .adf-copyright{min-width:320px;text-align:center;padding:16px 0;font-size:var(--theme-caption-font-size);opacity:.54}.adf-login-content .adf-login-input:is(input){font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-form-field .adf-login-password-icon.adf-login-form-password-icon{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-subheading-2-font-size);top:9px;position:relative;left:7px}.adf-login-content .adf-login-controls:has(div){padding:0 0 26px;overflow:visible;width:100%;margin-bottom:16px}.adf-login-content .adf-login-controls:has(div) .adf-login-container{margin-bottom:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field{display:block;padding-bottom:16px;font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix{min-height:0;padding-bottom:3px;padding-top:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .adf-login-form-input-label{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .mdc-floating-label--required:after{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--adf-theme-background-dialog-color) inset;-webkit-text-fill-color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-validation{background-color:transparent;color:var(--theme-warn-color);font-size:var(--theme-caption-font-size)}.adf-login-content .adf-login-error{color:var(--theme-warn-color);position:absolute;font-size:var(--theme-caption-font-size);margin-top:-12px;display:block}.adf-login-content .adf-full-width{width:100%}.adf-login-content .adf-login__remember-me{padding-top:22px}.adf-login-content .adf-login__remember-me .adf-login-remember-me-label{opacity:.87}.adf-login-content .adf-login-remember-me:has(.adf-login-remember-me-label){color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-action-container{border-top:1px solid rgba(0,0,0,.1);margin-top:23px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i9.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i13.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i13.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i14.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i15.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
327
|
-
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, decorators: [{
|
|
329
|
-
type: Component,
|
|
330
|
-
args: [{ selector: 'adf-login', standalone: true, encapsulation: ViewEncapsulation.None, imports: [
|
|
331
|
-
CommonModule,
|
|
332
|
-
MatCardModule,
|
|
333
|
-
ReactiveFormsModule,
|
|
334
|
-
TranslatePipe,
|
|
335
|
-
MatIconModule,
|
|
336
|
-
MatFormFieldModule,
|
|
337
|
-
MatInputModule,
|
|
338
|
-
MatButtonModule,
|
|
339
|
-
MatProgressSpinnerModule,
|
|
340
|
-
MatCheckboxModule
|
|
341
|
-
], host: { class: 'adf-login' }, template: "<div class=\"adf-login-content\" [style.background-image]=\"'url(' + backgroundImageUrl + ')'\">\n <div class=\"adf-ie11FixerParent\">\n <div class=\"adf-ie11FixerChild\">\n\n <mat-card class=\"adf-login-card-wide\">\n <form id=\"adf-login-form\"\n [formGroup]=\"form\"\n autocomplete=\"off\"\n (submit)=\"onSubmit(form.value)\">\n <mat-card-header class=\"adf-login-card-header-text\">\n <mat-card-title>\n <div class=\"adf-alfresco-logo\">\n <!--HEADER TEMPLATE-->\n <ng-template *ngIf=\"headerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"headerTemplate\" />\n <img *ngIf=\"!headerTemplate\"\n id=\"adf-login-img-logo\"\n class=\"adf-img-logo\"\n [src]=\"logoImageUrl\"\n alt=\"{{ 'LOGIN.LOGO' | translate }}\">\n </div>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"adf-login-controls\">\n\n <!--ERRORS AREA-->\n <div class=\"adf-error-container\">\n <div *ngIf=\"isError\"\n id=\"login-error\"\n data-automation-id=\"login-error\"\n class=\"adf-error adf-error-message\">\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n <span class=\"adf-login-error-message\">\n {{ errorMsg | translate }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!ssoLogin\">\n\n <!--USERNAME FIELD-->\n <div class=\"adf-login__field adf-login-container\"\n [ngClass]=\"{'adf-is-invalid': isErrorStyle(form.controls.username)}\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.USERNAME' | translate }}\n </mat-label>\n <input matInput\n type=\"text\"\n class=\"adf-login-input\"\n formControlName=\"username\"\n id=\"username\"\n data-automation-id=\"username\"\n autocapitalize=\"none\"\n (blur)=\"trimUsername($event)\">\n </mat-form-field>\n <span *ngIf=\"formError['username']\"\n class=\"adf-login-validation\"\n for=\"username\">\n <span id=\"username-error\"\n class=\"adf-login-error\"\n data-automation-id=\"username-error\">\n {{ formError['username'] | translate }}\n </span>\n </span>\n </div>\n\n <!--PASSWORD FIELD-->\n <div class=\"adf-login__field\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.PASSWORD' | translate }}\n </mat-label>\n <input matInput\n [type]=\"isPasswordShow ? 'text' : 'password'\"\n formControlName=\"password\"\n class=\"adf-login-input\"\n id=\"password\"\n data-automation-id=\"password\">\n <button matSuffix\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"(isPasswordShow ? 'LOGIN.ARIA-LABEL.HIDE-PASSWORD' : 'LOGIN.ARIA-LABEL.SHOW-PASSWORD') | translate\"\n (click)=\"toggleShowPassword($event)\"\n (keyup.enter)=\"toggleShowPassword($event)\"\n [attr.data-automation-id]=\"isPasswordShow ? 'hide_password' : 'show_password'\">\n <mat-icon class=\"adf-login-form-password-icon adf-login-password-icon\">\n {{ isPasswordShow ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </mat-form-field>\n <span class=\"adf-login-validation\"\n for=\"password\"\n *ngIf=\"formError['password']\">\n <span id=\"password-required\"\n class=\"adf-login-error\"\n data-automation-id=\"password-required\">\n {{ formError['password'] | translate }}\n </span>\n </span>\n </div>\n\n <!--CUSTOM CONTENT-->\n <ng-content />\n\n <br>\n <button type=\"submit\"\n id=\"login-button\"\n class=\"adf-login-button\"\n mat-raised-button\n color=\"accent\"\n [class.adf-isChecking]=\"actualLoginStep === LoginSteps.Checking\"\n [class.adf-isWelcome]=\"actualLoginStep === LoginSteps.Welcome\"\n data-automation-id=\"login-button\"\n [disabled]=\"!form.valid\"\n [attr.aria-label]=\"'LOGIN.BUTTON.LOGIN' | translate\">\n <span *ngIf=\"actualLoginStep === LoginSteps.Landing\"\n class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.LOGIN' | translate }}\n </span>\n <div *ngIf=\"actualLoginStep === LoginSteps.Checking\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.CHECKING' | translate }}\n </span>\n <div class=\"adf-login-spinner-container\">\n <mat-spinner id=\"checking-spinner\"\n class=\"adf-login-checking-spinner\"\n [strokeWidth]=\"4\"\n [diameter]=\"25\" />\n </div>\n </div>\n <div *ngIf=\"actualLoginStep === LoginSteps.Welcome\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.WELCOME' | translate }}\n </span>\n <mat-icon class=\"adf-welcome-icon\">done</mat-icon>\n </div>\n </button>\n <div *ngIf=\"showRememberMe\" class=\"adf-login__remember-me\">\n <mat-checkbox id=\"adf-login-remember\"\n color=\"primary\"\n class=\"adf-login-remember-me\"\n [checked]=\"rememberMe\"\n (change)=\"rememberMe = !rememberMe\">\n <div class=\"adf-login-remember-me-label\">\n {{ 'LOGIN.LABEL.REMEMBER' | translate }}\n </div>\n </mat-checkbox>\n </div>\n </div>\n <div *ngIf=\"ssoLogin\">\n <button type=\"button\"\n (click)=\"implicitLogin()\"\n id=\"login-button-sso\"\n [attr.aria-label]=\"'LOGIN.BUTTON.SSO' | translate\"\n class=\"adf-login-button\"\n mat-raised-button color=\"primary\"\n data-automation-id=\"login-button-sso\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.SSO' | translate }}\n </span>\n </button>\n </div>\n </mat-card-content>\n\n <mat-card-actions *ngIf=\"footerTemplate || showLoginActions\">\n\n <div class=\"adf-login-action-container\">\n <!--FOOTER TEMPLATE-->\n <ng-template *ngIf=\"footerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"footerTemplate\" />\n <div class=\"adf-login-action\" *ngIf=\"!footerTemplate && showLoginActions\">\n <div id=\"adf-login-action-left\" class=\"adf-login-action-left\">\n <a href=\"{{ needHelpLink }}\">{{ 'LOGIN.ACTION.HELP' | translate }}</a>\n </div>\n <div id=\"adf-login-action-right\" class=\"adf-login-action-right\">\n <a href=\"{{ registerLink }}\">{{ 'LOGIN.ACTION.REGISTER' | translate }}</a>\n </div>\n </div>\n </div>\n </mat-card-actions>\n </form>\n </mat-card>\n\n <div class=\"adf-copyright\" data-automation-id=\"login-copyright\">\n {{ copyrightText }}\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".adf-login{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-login-content{background-size:cover;background-position:center;min-height:100%;min-width:320px;display:flex;justify-content:center;flex-direction:column}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content{display:table;width:100%;height:100%}}.adf-login-content .adf-ie11FixerParent{margin:16px 0;min-width:320px}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content .adf-ie11FixerParent{display:table-cell;vertical-align:middle;width:100%;padding-top:16px}}.adf-login-content .adf-ie11FixerChild{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.adf-login-content .adf-icon-inline{position:absolute;display:block;top:31%;left:82%;width:30px;overflow:hidden}.adf-login-content .adf-login-card-wide{border-radius:8px;background-color:var(--adf-theme-background-dialog-color);box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;width:450px;min-width:320px;padding:21px 64px 34px;box-sizing:border-box}@media screen and (width <= 482px){.adf-login-content .adf-login-card-wide{width:calc(100% - 32px)}}.adf-login-content .adf-error-container{height:45px}.adf-login-content .adf-error-message{display:flex;flex-direction:row;justify-content:flex-start;color:var(--theme-warn-color);padding:0;margin-bottom:4px;font-size:var(--theme-caption-font-size)}.adf-login-content .adf-error-message .adf-error-icon{margin-right:10px}.adf-login-content .adf-login-card-header-text{padding-bottom:42px;padding-top:0;margin:0 auto}.adf-login-content .adf-img-logo{display:block;margin-left:auto;margin-right:auto}.adf-login-content .adf-alfresco-logo{padding:24px 16px}.adf-login-content .adf-alfresco-logo img{max-height:58px}.adf-login-content .adf-login-button{width:100%;height:36px;line-height:normal;box-shadow:none}.adf-login-content .adf-login-button-label{color:var(--theme-accent-color-default-contrast);font-weight:bolder}.adf-login-content .adf-login-button.adf-isChecking{background-color:#e0f7fa}.adf-login-content .adf-login-button.adf-isChecking .adf-login-button-label{color:var(--theme-primary-color)}.adf-login-content .adf-login-button.adf-isWelcome{background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast)}.adf-login-content .adf-login-button.adf-isWelcome .adf-welcome-icon{margin:5px 0 0 10px}.adf-login-content .adf-interactive-login-label{display:flex;flex-direction:row;line-height:38px;justify-content:center}.adf-login-content .adf-login-spinner-container{margin-left:15px;margin-top:5px}.adf-login-content .adf-login-action{margin-top:20px;display:flex;flex-direction:row;justify-content:space-between}.adf-login-content .adf-login-action-left a,.adf-login-content .adf-login-action-right a{text-decoration:none}.adf-login-content .adf-is-active{background-color:transparent;font-size:var(--theme-caption-font-size);font-weight:400;line-height:1.33;color:var(--theme-warn-color)}.adf-login-content .adf-copyright{min-width:320px;text-align:center;padding:16px 0;font-size:var(--theme-caption-font-size);opacity:.54}.adf-login-content .adf-login-input:is(input){font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-form-field .adf-login-password-icon.adf-login-form-password-icon{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-subheading-2-font-size);top:9px;position:relative;left:7px}.adf-login-content .adf-login-controls:has(div){padding:0 0 26px;overflow:visible;width:100%;margin-bottom:16px}.adf-login-content .adf-login-controls:has(div) .adf-login-container{margin-bottom:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field{display:block;padding-bottom:16px;font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix{min-height:0;padding-bottom:3px;padding-top:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .adf-login-form-input-label{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .mdc-floating-label--required:after{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--adf-theme-background-dialog-color) inset;-webkit-text-fill-color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-validation{background-color:transparent;color:var(--theme-warn-color);font-size:var(--theme-caption-font-size)}.adf-login-content .adf-login-error{color:var(--theme-warn-color);position:absolute;font-size:var(--theme-caption-font-size);margin-top:-12px;display:block}.adf-login-content .adf-full-width{width:100%}.adf-login-content .adf-login__remember-me{padding-top:22px}.adf-login-content .adf-login__remember-me .adf-login-remember-me-label{opacity:.87}.adf-login-content .adf-login-remember-me:has(.adf-login-remember-me-label){color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-action-container{border-top:1px solid rgba(0,0,0,.1);margin-top:23px}\n"] }]
|
|
342
|
-
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.AuthenticationService }, { type: i2.BasicAlfrescoAuthService }, { type: i3.OidcAuthenticationService }, { type: i4.TranslationService }, { type: i5.Router }, { type: i6.AppConfigService }, { type: i7.UserPreferencesService }, { type: i5.ActivatedRoute }], propDecorators: { showRememberMe: [{
|
|
343
|
-
type: Input
|
|
344
|
-
}], showLoginActions: [{
|
|
345
|
-
type: Input
|
|
346
|
-
}], needHelpLink: [{
|
|
347
|
-
type: Input
|
|
348
|
-
}], registerLink: [{
|
|
349
|
-
type: Input
|
|
350
|
-
}], logoImageUrl: [{
|
|
351
|
-
type: Input
|
|
352
|
-
}], backgroundImageUrl: [{
|
|
353
|
-
type: Input
|
|
354
|
-
}], copyrightText: [{
|
|
355
|
-
type: Input
|
|
356
|
-
}], fieldsValidation: [{
|
|
357
|
-
type: Input
|
|
358
|
-
}], successRoute: [{
|
|
359
|
-
type: Input
|
|
360
|
-
}], success: [{
|
|
361
|
-
type: Output
|
|
362
|
-
}], error: [{
|
|
363
|
-
type: Output
|
|
364
|
-
}], executeSubmit: [{
|
|
365
|
-
type: Output
|
|
366
|
-
}] } });
|
|
367
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9sb2dpbi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbG9naW4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEUscUNBQXFDO0FBQ3JDLElBQUssVUFJSjtBQUpELFdBQUssVUFBVTtJQUNYLGlEQUFXLENBQUE7SUFDWCxtREFBWSxDQUFBO0lBQ1osaURBQVcsQ0FBQTtBQUNmLENBQUMsRUFKSSxVQUFVLEtBQVYsVUFBVSxRQUlkO0FBZ0NELE1BQU0sT0FBTyxjQUFjO0lBeUV2QixZQUNZLEdBQXVCLEVBQ3ZCLFdBQWtDLEVBQ2xDLHdCQUFrRCxFQUNsRCx5QkFBb0QsRUFDcEQsZ0JBQW9DLEVBQ3BDLE1BQWMsRUFDZCxTQUEyQixFQUMzQixlQUF1QyxFQUN2QyxLQUFxQjtRQVJyQixRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2QyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWpGakMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEM7Ozs7V0FJRztRQUVILG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRS9CLHdFQUF3RTtRQUV4RSxxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFFakMsd0RBQXdEO1FBRXhELGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTFCLHVEQUF1RDtRQUV2RCxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUUxQixtQ0FBbUM7UUFFbkMsaUJBQVksR0FBVyxtQ0FBbUMsQ0FBQztRQUUzRCx5Q0FBeUM7UUFFekMsdUJBQWtCLEdBQVcsZ0NBQWdDLENBQUM7UUFFOUQsOENBQThDO1FBRTlDLGtCQUFhLEdBQVcsaUZBQWlGLENBQUM7UUFNMUcsZ0RBQWdEO1FBRWhELGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBRTVCLDRDQUE0QztRQUU1QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFaEQsb0NBQW9DO1FBRXBDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUU1QyxnREFBZ0Q7UUFFaEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUVyRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsb0JBQWUsR0FBUSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxVQUFVLENBQUM7UUFDeEIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUUzQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBT0wsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQVk5QyxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEYsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDcEMsSUFBSSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM5QixDQUFDO3FCQUFNLElBQUksS0FBSyxFQUFFLFlBQVksSUFBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7b0JBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDO1lBQ0wsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO2dCQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFdkUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsTUFBdUI7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLE1BQU0sSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDOUIsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtTQUN0RCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBRTNDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxDQUFDLElBQVM7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sUUFBUSxHQUNWLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0SSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNYLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ2pELElBQUksR0FBRyxFQUFFLENBQUM7NEJBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDMUMsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0NBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ2hGLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDOzRCQUN4QyxDQUFDO3dCQUNMLENBQUM7b0JBQ0wsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQThDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUMvRSxLQUFLLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRWhFLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RCxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFdkUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pELENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0wsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLEdBQVE7UUFDaEMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVGLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDdEMsQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsaUNBQWlDLENBQUM7UUFDdEQsQ0FBQzthQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZHLElBQUksQ0FBQyxRQUFRLEdBQUcsa0NBQWtDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLHdDQUF3QyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsR0FBVztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHdCQUF3QixDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsR0FBVyxFQUFFLE1BQVk7UUFDN0UsSUFBSSxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxhQUFhLElBQUksS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQzNCLEtBQUssRUFBRSxHQUFHO2dCQUNWLE1BQU07YUFDVCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsS0FBWTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLEtBQXNCO1FBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQzFELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQVU7UUFDbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUUsRUFBRTtTQUNmLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaLFFBQVEsRUFBRTtnQkFDTixRQUFRLEVBQUU7b0JBQ04sS0FBSyxFQUFFLGtDQUFrQztpQkFDNUM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLEtBQUssRUFBRSw2QkFBNkI7b0JBQ3BDLE1BQU0sRUFBRTt3QkFDSixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7cUJBQzVCO2lCQUNKO2FBQ0o7WUFDRCxRQUFRLEVBQUU7Z0JBQ04sUUFBUSxFQUFFO29CQUNOLEtBQUssRUFBRSxrQ0FBa0M7aUJBQzVDO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0YsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ssWUFBWTtRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0F2VVEsY0FBYzttR0FBZCxjQUFjLHlmQzdFM0Isc2dZQTBNQSwwcktEMUlRLFlBQVksNlZBQ1osYUFBYSxpaEJBQ2IsbUJBQW1CLHc4QkFDbkIsYUFBYSxpREFDYixhQUFhLG9MQUNiLGtCQUFrQiw4YUFDbEIsY0FBYywyV0FDZCxlQUFlLDBVQUNmLHdCQUF3QixtT0FDeEIsaUJBQWlCOzs0RkFJWixjQUFjO2tCQXBCMUIsU0FBUzsrQkFDSSxXQUFXLGNBQ1QsSUFBSSxpQkFHRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLGlCQUFpQjtxQkFDcEIsUUFDSyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7aVdBVzVCLGNBQWM7c0JBRGIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixPQUFPO3NCQUROLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29uZmlnJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aC9vaWRjL29pZGMtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0aW9uJztcblxuaW1wb3J0IHsgTG9naW5FcnJvckV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvZ2luLWVycm9yLmV2ZW50JztcbmltcG9ydCB7IExvZ2luU3VibWl0RXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9naW4tc3VibWl0LmV2ZW50JztcbmltcG9ydCB7IExvZ2luU3VjY2Vzc0V2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvZ2luLXN1Y2Nlc3MuZXZlbnQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG5lbnVtIExvZ2luU3RlcHMge1xuICAgIExhbmRpbmcgPSAwLFxuICAgIENoZWNraW5nID0gMSxcbiAgICBXZWxjb21lID0gMlxufVxuXG5pbnRlcmZhY2UgVmFsaWRhdGlvbk1lc3NhZ2Uge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgcGFyYW1zPzogYW55O1xufVxuXG5pbnRlcmZhY2UgTG9naW5Gb3JtVmFsdWVzIHtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWxvZ2luJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGVcbiAgICBdLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtbG9naW4nIH1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzUGFzc3dvcmRTaG93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTaG91bGQgdGhlIGBSZW1lbWJlciBtZWAgY2hlY2tib3ggYmUgc2hvd24/IFdoZW4gc2VsZWN0ZWQsIHRoaXNcbiAgICAgKiBvcHRpb24gd2lsbCByZW1lbWJlciB0aGUgbG9nZ2VkLWluIHVzZXIgYWZ0ZXIgdGhlIGJyb3dzZXIgaXMgY2xvc2VkXG4gICAgICogdG8gYXZvaWQgbG9nZ2luZyBpbiByZXBlYXRlZGx5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1JlbWVtYmVyTWU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3VsZCB0aGUgZXh0cmEgYWN0aW9ucyAoYE5lZWQgSGVscGAsIGBSZWdpc3RlcmAsIGV0YykgYmUgc2hvd24/ICovXG4gICAgQElucHV0KClcbiAgICBzaG93TG9naW5BY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBTZXRzIHRoZSBVUkwgb2YgdGhlIE5FRUQgSEVMUCBsaW5rIGluIHRoZSBmb290ZXIuICovXG4gICAgQElucHV0KClcbiAgICBuZWVkSGVscExpbms6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFNldHMgdGhlIFVSTCBvZiB0aGUgUkVHSVNURVIgbGluayBpbiB0aGUgZm9vdGVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVnaXN0ZXJMaW5rOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBQYXRoIHRvIGEgY3VzdG9tIGxvZ28gaW1hZ2UuICovXG4gICAgQElucHV0KClcbiAgICBsb2dvSW1hZ2VVcmw6IHN0cmluZyA9ICcuL2Fzc2V0cy9pbWFnZXMvYWxmcmVzY28tbG9nby5zdmcnO1xuXG4gICAgLyoqIFBhdGggdG8gYSBjdXN0b20gYmFja2dyb3VuZCBpbWFnZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGJhY2tncm91bmRJbWFnZVVybDogc3RyaW5nID0gJy4vYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLnN2Zyc7XG5cbiAgICAvKiogVGhlIGNvcHlyaWdodCB0ZXh0IGJlbG93IHRoZSBsb2dpbiBib3guICovXG4gICAgQElucHV0KClcbiAgICBjb3B5cmlnaHRUZXh0OiBzdHJpbmcgPSAnXFx1MDBBOSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4nO1xuXG4gICAgLyoqIEN1c3RvbSB2YWxpZGF0aW9uIHJ1bGVzIGZvciB0aGUgbG9naW4gZm9ybS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkc1ZhbGlkYXRpb246IGFueTtcblxuICAgIC8qKiBSb3V0ZSB0byByZWRpcmVjdCB0byBvbiBzdWNjZXNzZnVsIGxvZ2luLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3VjY2Vzc1JvdXRlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbG9naW4gaXMgc3VjY2Vzc2Z1bC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpblN1Y2Nlc3NFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxvZ2luIGZhaWxzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpbkVycm9yRXZlbnQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsb2dpbiBmb3JtIGlzIHN1Ym1pdHRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpblN1Ym1pdEV2ZW50PigpO1xuXG4gICAgc3NvTG9naW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgaXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGVycm9yTXNnOiBzdHJpbmc7XG4gICAgYWN0dWFsTG9naW5TdGVwOiBhbnkgPSBMb2dpblN0ZXBzLkxhbmRpbmc7XG4gICAgTG9naW5TdGVwcyA9IExvZ2luU3RlcHM7XG4gICAgcmVtZW1iZXJNZTogYm9vbGVhbiA9IHRydWU7XG4gICAgZm9ybUVycm9yOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgbWluTGVuZ3RoOiBudW1iZXIgPSAyO1xuICAgIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGRhdGE6IGFueTtcblxuICAgIHByaXZhdGUgX21lc3NhZ2U6IHsgW2lkOiBzdHJpbmddOiB7IFtpZDogc3RyaW5nXTogVmFsaWRhdGlvbk1lc3NhZ2UgfSB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBiYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2U6IEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBvaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlOiBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlclByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRGb3JtRXJyb3IoKTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUZpZWxkc0RlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUZpZWxkc01lc3NhZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5zdWNjZXNzUm91dGUgPSB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPignc3VjY2Vzc1JvdXRlJywgdGhpcy5zdWNjZXNzUm91dGUpO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuc3VjY2Vzc1JvdXRlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYXV0aCA9IHRoaXMuYXBwQ29uZmlnLm9hdXRoMjtcbiAgICAgICAgICAgICAgICBpZiAob2F1dGg/LnNpbGVudExvZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3RUb1NTT0xvZ2luKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvYXV0aD8uaW1wbGljaXRGbG93IHx8IG9hdXRoPy5jb2RlRmxvdykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNzb0xvZ2luID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHBhcmFtc1sncmVkaXJlY3RVcmwnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5QUk9WSURFUlMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uuc2V0UmVkaXJlY3QoeyBwcm92aWRlciwgdXJsIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5maWVsZHNWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLl9mYi5ncm91cCh0aGlzLmZpZWxkc1ZhbGlkYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub25WYWx1ZUNoYW5nZWQoZGF0YSkpO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgdGhpcy5vblN1Ym1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIHJlZGlyZWN0VG9TU09Mb2dpbigpIHtcbiAgICAgICAgdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnNzb0xvZ2luKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGNhbGxlZCBvbiBzdWJtaXQgZm9ybVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlcyBsb2dpbiBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIG9uU3VibWl0KHZhbHVlczogTG9naW5Gb3JtVmFsdWVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUVycm9yKCk7XG5cbiAgICAgICAgY29uc3QgYXJncyA9IG5ldyBMb2dpblN1Ym1pdEV2ZW50KHtcbiAgICAgICAgICAgIGNvbnRyb2xzOiB7IHVzZXJuYW1lOiB0aGlzLmZvcm0uY29udHJvbHMudXNlcm5hbWUgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5leGVjdXRlU3VibWl0LmVtaXQoYXJncyk7XG5cbiAgICAgICAgaWYgKCFhcmdzLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0dWFsTG9naW5TdGVwID0gTG9naW5TdGVwcy5DaGVja2luZztcblxuICAgICAgICAgICAgdGhpcy5wZXJmb3JtTG9naW4odmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltcGxpY2l0TG9naW4oKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuc3VjY2Vzc1JvdXRlXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnNzb0xvZ2luKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGhvZCBjaGVjayB0aGUgZXJyb3IgaW4gdGhlIGZvcm0gYW5kIHB1c2ggdGhlIGVycm9yIGluIHRoZSBmb3JtRXJyb3Igb2JqZWN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBmb3JtIGRhdGFcbiAgICAgKi9cbiAgICBvblZhbHVlQ2hhbmdlZChkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlRXJyb3IoKTtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBpbiB0aGlzLmZvcm1FcnJvcikge1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JbZmllbGRdID0gJyc7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRXJyb3IgPVxuICAgICAgICAgICAgICAgICAgICAodGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS5lcnJvcnMgJiYgZGF0YVtmaWVsZF0gIT09ICcnKSB8fCAodGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS5kaXJ0eSAmJiAhdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS52YWxpZCk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZF0uZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuX21lc3NhZ2VbZmllbGRdW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2U/LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlLnZhbHVlLCBtZXNzYWdlLnBhcmFtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUVycm9yW2ZpZWxkXSArPSB0cmFuc2xhdGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBlcmZvcm1Mb2dpbih2YWx1ZXM6IHsgdXNlcm5hbWU6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4odmFsdWVzLnVzZXJuYW1lLCB2YWx1ZXMucGFzc3dvcmQsIHRoaXMucmVtZW1iZXJNZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgYXN5bmMgKHRva2VuOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldFJlZGlyZWN0KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbExvZ2luU3RlcCA9IExvZ2luU3RlcHMuV2VsY29tZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlcy5zZXRTdG9yYWdlUHJlZml4KHZhbHVlcy51c2VybmFtZSk7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnBhc3N3b3JkID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChuZXcgTG9naW5TdWNjZXNzRXZlbnQodG9rZW4sIHZhbHVlcy51c2VybmFtZSwgbnVsbCkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLnNldFJlZGlyZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHJlZGlyZWN0VXJsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VjY2Vzc1JvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnN1Y2Nlc3NSb3V0ZV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbExvZ2luU3RlcCA9IExvZ2luU3RlcHMuTGFuZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChuZXcgTG9naW5FcnJvckV2ZW50KGVycikpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGFuZCBkaXNwbGF5IHRoZSByaWdodCBlcnJvciBtZXNzYWdlIGluIHRoZSBVSVxuICAgICAqXG4gICAgICogQHBhcmFtIGVyciBlcnJvciBvYmplY3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVyci5lcnJvcj8uY3Jvc3NEb21haW4gJiYgZXJyLmVycm9yLm1lc3NhZ2UuaW5kZXhPZignQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTXNnID0gZXJyLmVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLnN0YXR1cyA9PT0gNDAzICYmIGVyci5tZXNzYWdlLmluZGV4T2YoJ0ludmFsaWQgQ1NSRi10b2tlbicpICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1zZyA9ICdMT0dJTi5NRVNTQUdFUy5MT0dJTi1FUlJPUi1DU1JGJztcbiAgICAgICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09PSA0MDMgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZignVGhlIHN5c3RlbSBpcyBjdXJyZW50bHkgaW4gcmVhZC1vbmx5IG1vZGUnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNc2cgPSAnTE9HSU4uTUVTU0FHRVMuTE9HSU4tRUNNLUxJQ0VOU0UnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1zZyA9ICdMT0dJTi5NRVNTQUdFUy5MT0dJTi1FUlJPUi1DUkVERU5USUFMUyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYSBjdXN0b20gZm9ybSBlcnJvciBmb3IgYSBmaWVsZFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpZWxkIGZpZWxkXG4gICAgICogQHBhcmFtIG1zZyBlcnJvciBtZXNzYWdlXG4gICAgICovXG4gICAgcHVibGljIGFkZEN1c3RvbUZvcm1FcnJvcihmaWVsZDogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcltmaWVsZF0gKz0gbXNnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBhIGN1c3RvbSB2YWxpZGF0aW9uIHJ1bGUgZXJyb3IgZm9yIGEgZmllbGRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZCBmaWVsZFxuICAgICAqIEBwYXJhbSBydWxlSWQgLSBpLmUuIHJlcXVpcmVkIHwgbWlubGVuZ3RoIHwgbWF4bGVuZ3RoXG4gICAgICogQHBhcmFtIG1zZyBtZXNzYWdlXG4gICAgICogQHBhcmFtIHBhcmFtcyBwYXJhbWV0ZXJzXG4gICAgICovXG4gICAgYWRkQ3VzdG9tVmFsaWRhdGlvbkVycm9yKGZpZWxkOiBzdHJpbmcsIHJ1bGVJZDogc3RyaW5nLCBtc2c6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XG4gICAgICAgIGlmIChmaWVsZCAhPT0gJ19fcHJvdG9fXycgJiYgZmllbGQgIT09ICdjb25zdHJ1Y3RvcicgJiYgZmllbGQgIT09ICdwcm90b3R5cGUnKSB7XG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlW2ZpZWxkXVtydWxlSWRdID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBtc2csXG4gICAgICAgICAgICAgICAgcGFyYW1zXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzcGxheSBhbmQgaGlkZSB0aGUgcGFzc3dvcmQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgaW5wdXQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVTaG93UGFzc3dvcmQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRTaG93ID0gIXRoaXMuaXNQYXNzd29yZFNob3c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGhvZCByZXR1cm4gaWYgYSBmaWVsZCBpcyB2YWxpZCBvciBub3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZCBmb3JtIGZpZWxkIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGZvcm0gZmllbGQgc2hvdWxkIGRpc3BsYXkgYW4gZXJyb3IsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNFcnJvclN0eWxlKGZpZWxkOiBBYnN0cmFjdENvbnRyb2wpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFmaWVsZC52YWxpZCAmJiBmaWVsZC5kaXJ0eSAmJiAhZmllbGQucHJpc3RpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpbSB1c2VybmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IGV2ZW50XG4gICAgICovXG4gICAgdHJpbVVzZXJuYW1lKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGZvcm1FcnJvciB2YWx1ZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRGb3JtRXJyb3IoKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yID0ge1xuICAgICAgICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgICAgICAgcGFzc3dvcmQ6ICcnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBmb3JtIGZpZWxkcyBtZXNzYWdlc1xuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEZvcm1GaWVsZHNNZXNzYWdlcygpIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdMT0dJTi5NRVNTQUdFUy5VU0VSTkFNRS1SRVFVSVJFRCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1pbmxlbmd0aDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ0xPR0lOLk1FU1NBR0VTLlVTRVJOQU1FLU1JTicsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluTGVuZ3RoOiB0aGlzLm1pbkxlbmd0aFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdMT0dJTi5NRVNTQUdFUy5QQVNTV09SRC1SRVFVSVJFRCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Rm9ybUZpZWxkc0RlZmF1bHQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5taW5MZW5ndGgpXSldLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSB0aGUgZXJyb3IgZmxhZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZGlzYWJsZUVycm9yKCkge1xuICAgICAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUVycm9yKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1jb250ZW50XCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgYmFja2dyb3VuZEltYWdlVXJsICsgJyknXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1pZTExRml4ZXJQYXJlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1pZTExRml4ZXJDaGlsZFwiPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJhZGYtbG9naW4tY2FyZC13aWRlXCI+XG4gICAgICAgICAgICAgICAgPGZvcm0gaWQ9XCJhZGYtbG9naW4tZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXQpPVwib25TdWJtaXQoZm9ybS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cImFkZi1sb2dpbi1jYXJkLWhlYWRlci10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1hbGZyZXNjby1sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1IRUFERVIgVEVNUExBVEUtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdGb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0Zvck9mXT1cIltkYXRhXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdGb3JUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLWxvZ2luLWltZy1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbWctbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cInt7ICdMT0dJTi5MT0dPJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJhZGYtbG9naW4tY29udHJvbHNcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUVSUk9SUyBBUkVBLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0Vycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZXJyb3IgIGFkZi1lcnJvci1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1lcnJvci1pY29uXCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLWxvZ2luLWVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVycm9yTXNnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNzb0xvZ2luXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tVVNFUk5BTUUgRklFTEQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvZ2luX19maWVsZCBhZGYtbG9naW4tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLWlzLWludmFsaWQnOiBpc0Vycm9yU3R5bGUoZm9ybS5jb250cm9scy51c2VybmFtZSl9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoIGFkZi1sb2dpbi1mb3JtLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtbG9naW4tZm9ybS1pbnB1dC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0xPR0lOLkxBQkVMLlVTRVJOQU1FJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJ0cmltVXNlcm5hbWUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZvcm1FcnJvclsndXNlcm5hbWUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLXZhbGlkYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJ1c2VybmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ1c2VybmFtZS1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1sb2dpbi1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1c2VybmFtZS1lcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZvcm1FcnJvclsndXNlcm5hbWUnXSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tUEFTU1dPUkQgRklFTEQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvZ2luX19maWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtbG9naW4tZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdFBsYWNlaG9sZGVyPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLWxvZ2luLWZvcm0taW5wdXQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydMT0dJTi5MQUJFTC5QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaXNQYXNzd29yZFNob3cgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGlzUGFzc3dvcmRTaG93ID8gJ0xPR0lOLkFSSUEtTEFCRUwuSElERS1QQVNTV09SRCcgOiAnTE9HSU4uQVJJQS1MQUJFTC5TSE9XLVBBU1NXT1JEJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiaXNQYXNzd29yZFNob3cgPyAnaGlkZV9wYXNzd29yZCcgOiAnc2hvd19wYXNzd29yZCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtbG9naW4tZm9ybS1wYXNzd29yZC1pY29uIGFkZi1sb2dpbi1wYXNzd29yZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlzUGFzc3dvcmRTaG93ID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtbG9naW4tdmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtRXJyb3JbJ3Bhc3N3b3JkJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicGFzc3dvcmQtcmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicGFzc3dvcmQtcmVxdWlyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBmb3JtRXJyb3JbJ3Bhc3N3b3JkJ10gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUNVU1RPTSBDT05URU5ULS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsb2dpbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWRmLWlzQ2hlY2tpbmddPVwiYWN0dWFsTG9naW5TdGVwID09PSBMb2dpblN0ZXBzLkNoZWNraW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtaXNXZWxjb21lXT1cImFjdHVhbExvZ2luU3RlcCA9PT0gTG9naW5TdGVwcy5XZWxjb21lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImxvZ2luLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTE9HSU4uQlVUVE9OLkxPR0lOJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFjdHVhbExvZ2luU3RlcCA9PT0gTG9naW5TdGVwcy5MYW5kaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tYnV0dG9uLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLkxPR0lOJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhY3R1YWxMb2dpblN0ZXAgPT09IExvZ2luU3RlcHMuQ2hlY2tpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWludGVyYWN0aXZlLWxvZ2luLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLkNIRUNLSU5HJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1zcGlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBpZD1cImNoZWNraW5nLXNwaW5uZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1sb2dpbi1jaGVja2luZy1zcGlubmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0cm9rZVdpZHRoXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMjVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWN0dWFsTG9naW5TdGVwID09PSBMb2dpblN0ZXBzLldlbGNvbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWludGVyYWN0aXZlLWxvZ2luLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLldFTENPTUUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtd2VsY29tZS1pY29uXCI+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UmVtZW1iZXJNZVwiIGNsYXNzPVwiYWRmLWxvZ2luX19yZW1lbWJlci1tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGlkPVwiYWRmLWxvZ2luLXJlbWVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLXJlbWVtYmVyLW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZW1lbWJlck1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlbWVtYmVyTWUgPSAhcmVtZW1iZXJNZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1yZW1lbWJlci1tZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdMT0dJTi5MQUJFTC5SRU1FTUJFUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNzb0xvZ2luXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbXBsaWNpdExvZ2luKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsb2dpbi1idXR0b24tc3NvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0xPR0lOLkJVVFRPTi5TU08nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tYnV0dG9uLXNzb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLlNTTycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyAqbmdJZj1cImZvb3RlclRlbXBsYXRlIHx8IHNob3dMb2dpbkFjdGlvbnNcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1hY3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUZPT1RFUiBURU1QTEFURS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdGb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yT2ZdPVwiW2RhdGFdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbG9naW4tYWN0aW9uXCIgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGUgJiYgc2hvd0xvZ2luQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYWRmLWxvZ2luLWFjdGlvbi1sZWZ0XCIgY2xhc3M9XCJhZGYtbG9naW4tYWN0aW9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyBuZWVkSGVscExpbmsgfX1cIj57eyAnTE9HSU4uQUNUSU9OLkhFTFAnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImFkZi1sb2dpbi1hY3Rpb24tcmlnaHRcIiBjbGFzcz1cImFkZi1sb2dpbi1hY3Rpb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyByZWdpc3RlckxpbmsgfX1cIj57eyAnTE9HSU4uQUNUSU9OLlJFR0lTVEVSJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtY29weXJpZ2h0XCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tY29weXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAge3sgY29weXJpZ2h0VGV4dCB9fVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZGlhbG9nLWNvbXBvbmVudC1kYXRhLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbG9naW4vY29tcG9uZW50cy9sb2dpbi1kaWFsb2cvbG9naW4tZGlhbG9nLWNvbXBvbmVudC1kYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkRpYWxvZ0NvbXBvbmVudERhdGEge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZT86IHN0cmluZztcbiAgICBsb2dnZWQ6IFN1YmplY3Q8YW55Pjtcbn1cbiJdfQ==
|