@alfresco/adf-core 8.1.0-15042271894 → 8.1.0-15043883503
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/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
- package/breadcrumbs/styles/_breadcrumb.theme.scss +4 -4
- package/custom-theme/material-theme.scss +4 -7
- package/custom-theme/theme/custom-theme-palettes.scss +8 -12
- package/custom-theme/theme/typography.scss +26 -26
- package/esm2022/api/lib/adf-http-client.service.mjs +4 -4
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +4 -4
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +4 -4
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +4 -4
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +4 -4
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +4 -4
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +4 -4
- package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
- package/esm2022/lib/about/about-panel.directive.mjs +4 -4
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +4 -4
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +4 -4
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +4 -4
- package/esm2022/lib/about/about.component.mjs +4 -4
- package/esm2022/lib/about/about.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +4 -4
- package/esm2022/lib/app-config/app-config.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
- package/esm2022/lib/app-config/app-config.service.mjs +4 -4
- package/esm2022/lib/app-config/debug-app-config.service.mjs +4 -4
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +4 -4
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/auth.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +4 -4
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +4 -4
- package/esm2022/lib/auth/services/authentication.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-group.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-role.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-user.service.mjs +4 -4
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
- package/esm2022/lib/auth/services/oauth2.service.mjs +4 -4
- package/esm2022/lib/auth/services/time-sync.service.mjs +4 -4
- package/esm2022/lib/auth/services/user-access.service.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.module.mjs +5 -5
- package/esm2022/lib/button/button.component.mjs +4 -4
- package/esm2022/lib/card-view/card-view.module.mjs +5 -5
- package/esm2022/lib/card-view/components/base-card-view.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +4 -4
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +4 -4
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +4 -4
- package/esm2022/lib/clipboard/clipboard.directive.mjs +7 -7
- package/esm2022/lib/clipboard/clipboard.module.mjs +5 -5
- package/esm2022/lib/clipboard/clipboard.service.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +5 -5
- package/esm2022/lib/comments/comments.component.mjs +4 -4
- package/esm2022/lib/comments/comments.module.mjs +5 -5
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
- package/esm2022/lib/common/services/cookie.service.mjs +4 -4
- package/esm2022/lib/common/services/download.service.mjs +4 -4
- package/esm2022/lib/common/services/highlight-transform.service.mjs +4 -4
- package/esm2022/lib/common/services/log.service.mjs +4 -4
- package/esm2022/lib/common/services/page-title.service.mjs +4 -4
- package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
- package/esm2022/lib/common/services/storage.service.mjs +4 -4
- package/esm2022/lib/common/services/thumbnail.service.mjs +4 -4
- package/esm2022/lib/common/services/url.service.mjs +4 -4
- package/esm2022/lib/common/services/user-preferences.service.mjs +4 -4
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.directive.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/core.module.mjs +5 -5
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +4 -4
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +13 -13
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/data/data-table.schema.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
- package/esm2022/lib/datatable/datatable.module.mjs +5 -5
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +4 -4
- package/esm2022/lib/datatable/services/datatable.service.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +4 -4
- package/esm2022/lib/directives/directive.module.mjs +5 -5
- package/esm2022/lib/directives/highlight.directive.mjs +4 -4
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +4 -4
- package/esm2022/lib/directives/logout.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +4 -4
- package/esm2022/lib/directives/upload.directive.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +5 -5
- package/esm2022/lib/form/components/form-base.component.mjs +4 -4
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +4 -4
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +4 -4
- package/esm2022/lib/form/components/form-renderer.component.mjs +5 -5
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +4 -4
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +4 -4
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/widget.component.mjs +4 -4
- package/esm2022/lib/form/form-base.module.mjs +5 -5
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +4 -4
- package/esm2022/lib/form/services/form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/services/form.service.mjs +4 -4
- package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
- package/esm2022/lib/header/header.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/icon/icon.component.mjs +4 -4
- package/esm2022/lib/icon/icon.module.mjs +5 -5
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +5 -5
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +13 -13
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +7 -7
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-menu.component.mjs +4 -4
- package/esm2022/lib/language-menu/language-menu.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-picker.component.mjs +4 -4
- package/esm2022/lib/language-menu/service/language.service.mjs +4 -4
- package/esm2022/lib/layout/components/header/header.component.mjs +4 -4
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +4 -4
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +13 -13
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +4 -4
- package/esm2022/lib/layout/layout.module.mjs +5 -5
- package/esm2022/lib/login/components/login/login.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/login/directives/login-footer.directive.mjs +4 -4
- package/esm2022/lib/login/directives/login-header.directive.mjs +4 -4
- package/esm2022/lib/login/login.module.mjs +5 -5
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
- package/esm2022/lib/mock/translation.service.mock.mjs +4 -4
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
- package/esm2022/lib/notifications/components/notification-history.component.mjs +4 -4
- package/esm2022/lib/notifications/notification-history.module.mjs +5 -5
- package/esm2022/lib/notifications/services/notification.service.mjs +4 -4
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.module.mjs +5 -5
- package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +4 -4
- package/esm2022/lib/pipes/file-size.pipe.mjs +4 -4
- package/esm2022/lib/pipes/file-type.pipe.mjs +4 -4
- package/esm2022/lib/pipes/format-space.pipe.mjs +4 -4
- package/esm2022/lib/pipes/full-name.pipe.mjs +4 -4
- package/esm2022/lib/pipes/localized-date.pipe.mjs +4 -4
- package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/user-initial.pipe.mjs +4 -4
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.module.mjs +5 -5
- package/esm2022/lib/search-text/search-trigger.directive.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +5 -5
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +4 -4
- package/esm2022/lib/templates/error-content/error-content.component.mjs +4 -4
- package/esm2022/lib/templates/template.module.mjs +5 -5
- package/esm2022/lib/testing/core.story.module.mjs +5 -5
- package/esm2022/lib/testing/core.testing.module.mjs +5 -5
- package/esm2022/lib/testing/noop-auth.module.mjs +8 -8
- package/esm2022/lib/testing/noop-translate.module.mjs +8 -8
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/translation/translate-loader.service.mjs +4 -4
- package/esm2022/lib/translation/translation.service.mjs +4 -4
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +4 -4
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +4 -4
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +4 -4
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
- package/esm2022/lib/viewer/services/view-util.service.mjs +4 -4
- package/esm2022/lib/viewer/viewer.module.mjs +5 -5
- package/esm2022/shell/lib/components/shell/shell.component.mjs +4 -4
- package/esm2022/shell/lib/shell.module.mjs +5 -5
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +2 -2
- package/fesm2022/adf-core.mjs +826 -826
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +4 -4
- 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 +10 -10
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +37 -37
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +8 -8
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/styles/_index.scss +57 -57
- package/lib/styles/_typography.scss +13 -13
- package/package.json +9 -9
- package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
- package/schematics/migrations/schematics/migrations/7_0_0/index.js +2 -2
- package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
|
@@ -40,10 +40,10 @@ export class MediaPlayerComponent {
|
|
|
40
40
|
onMediaPlayerError(event) {
|
|
41
41
|
this.error.emit(event);
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaPlayerComponent, deps: [{ token: i1.UrlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MediaPlayerComponent, isStandalone: true, selector: "adf-media-player", inputs: { urlFile: "urlFile", blobFile: "blobFile", mimeType: "mimeType", fileName: "fileName", tracks: "tracks" }, outputs: { error: "error", canPlay: "canPlay" }, host: { classAttribute: "adf-media-player" }, usesOnChanges: true, ngImport: i0, template: "<video controls class=\"adf-video-player\" (canplay)=\"canPlay.emit()\"\n [ngClass]=\"{ 'adf-audio-file': mimeType && mimeType.startsWith('audio') }\">\n <source [src]=\"urlFile\"\n [type]=\"mimeType\"\n (error)=\"onMediaPlayerError($event)\" />\n <track *ngFor=\"let track of tracks\"\n [kind]=\"track.kind\"\n [label]=\"track.label\"\n [srclang]=\"track.srclang\"\n [src]=\"track.src\" />\n</video>\n", styles: [".adf-media-player{display:flex}.adf-media-player video{display:flex;flex:1;max-height:90vh;max-width:100%}.adf-media-player video.adf-video-player.adf-audio-file::-webkit-media-text-track-container{transform:translateY(-50%)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MediaPlayerComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
48
|
args: [{ selector: 'adf-media-player', standalone: true, host: { class: 'adf-media-player' }, imports: [NgClass, NgForOf], encapsulation: ViewEncapsulation.None, template: "<video controls class=\"adf-video-player\" (canplay)=\"canPlay.emit()\"\n [ngClass]=\"{ 'adf-audio-file': mimeType && mimeType.startsWith('audio') }\">\n <source [src]=\"urlFile\"\n [type]=\"mimeType\"\n (error)=\"onMediaPlayerError($event)\" />\n <track *ngFor=\"let track of tracks\"\n [kind]=\"track.kind\"\n [label]=\"track.label\"\n [srclang]=\"track.srclang\"\n [src]=\"track.src\" />\n</video>\n", styles: [".adf-media-player{display:flex}.adf-media-player video{display:flex;flex:1;max-height:90vh;max-width:100%}.adf-media-player video.adf-video-player.adf-audio-file::-webkit-media-text-track-container{transform:translateY(-50%)}\n"] }]
|
|
49
49
|
}], ctorParameters: () => [{ type: i1.UrlService }], propDecorators: { urlFile: [{
|
|
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
61
61
|
}], canPlay: [{
|
|
62
62
|
type: Output
|
|
63
63
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtcGxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdmlld2VyL2NvbXBvbmVudHMvbWVkaWEtcGxheWVyL21lZGlhLXBsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL21lZGlhLXBsYXllci9tZWRpYS1wbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVk3QyxNQUFNLE9BQU8sb0JBQW9CO0lBdUI3QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBVjFDLDBDQUEwQztRQUUxQyxXQUFNLEdBQVksRUFBRSxDQUFDO1FBR3JCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRVUsQ0FBQztJQUU5QyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJDLElBQUksUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0QsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBeENRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9UQy9CakMsOGRBV0EsNlJEaUJjLE9BQU8sb0ZBQUUsT0FBTzs7NEZBR2pCLG9CQUFvQjtrQkFUaEMsU0FBUzsrQkFDSSxrQkFBa0IsY0FDaEIsSUFBSSxRQUdWLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixFQUFFLFdBQzFCLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxpQkFDWixpQkFBaUIsQ0FBQyxJQUFJOytFQUlyQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sTUFBTTtzQkFETCxLQUFLO2dCQUlOLEtBQUs7c0JBREosTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgVHJhY2sgfSBmcm9tICcuLi8uLi9tb2RlbHMvdmlld2VyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtbWVkaWEtcGxheWVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS1wbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21lZGlhLXBsYXllci5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtbWVkaWEtcGxheWVyJyB9LFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0Zvck9mXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhUGxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHVybEZpbGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgYmxvYkZpbGU6IEJsb2I7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbWVUeXBlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogbWVkaWEgc3VidGl0bGVzIGZvciB0aGUgbWVkaWEgcGxheWVyKi9cbiAgICBASW5wdXQoKVxuICAgIHRyYWNrczogVHJhY2tbXSA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNhblBsYXkgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVybFNlcnZpY2U6IFVybFNlcnZpY2UpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGJsb2JGaWxlID0gY2hhbmdlc1snYmxvYkZpbGUnXTtcblxuICAgICAgICBpZiAoYmxvYkZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cmxGaWxlID0gdGhpcy51cmxTZXJ2aWNlLmNyZWF0ZVRydXN0ZWRVcmwodGhpcy5ibG9iRmlsZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMudXJsRmlsZSAmJiAhdGhpcy5ibG9iRmlsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdHRyaWJ1dGUgdXJsRmlsZSBvciBibG9iRmlsZSBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25NZWRpYVBsYXllckVycm9yKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5lcnJvci5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG4iLCI8dmlkZW8gY29udHJvbHMgY2xhc3M9XCJhZGYtdmlkZW8tcGxheWVyXCIgKGNhbnBsYXkpPVwiY2FuUGxheS5lbWl0KClcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FkZi1hdWRpby1maWxlJzogbWltZVR5cGUgJiYgbWltZVR5cGUuc3RhcnRzV2l0aCgnYXVkaW8nKSB9XCI+XG4gICAgPHNvdXJjZSBbc3JjXT1cInVybEZpbGVcIlxuICAgICAgICAgICAgW3R5cGVdPVwibWltZVR5cGVcIlxuICAgICAgICAgICAgKGVycm9yKT1cIm9uTWVkaWFQbGF5ZXJFcnJvcigkZXZlbnQpXCIgLz5cbiAgICA8dHJhY2sgKm5nRm9yPVwibGV0IHRyYWNrIG9mIHRyYWNrc1wiXG4gICAgICAgICAgIFtraW5kXT1cInRyYWNrLmtpbmRcIlxuICAgICAgICAgICBbbGFiZWxdPVwidHJhY2subGFiZWxcIlxuICAgICAgICAgICBbc3JjbGFuZ109XCJ0cmFjay5zcmNsYW5nXCJcbiAgICAgICAgICAgW3NyY109XCJ0cmFjay5zcmNcIiAvPlxuPC92aWRlbz5cbiJdfQ==
|
|
@@ -500,10 +500,10 @@ export class PdfViewerComponent {
|
|
|
500
500
|
this.previousPage();
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PdfViewerComponent, isStandalone: true, selector: "adf-pdf-viewer", inputs: { urlFile: "urlFile", blobFile: "blobFile", fileName: "fileName", showToolbar: "showToolbar", allowThumbnails: "allowThumbnails", thumbnailsTemplate: "thumbnailsTemplate", cacheType: "cacheType" }, outputs: { rendered: "rendered", error: "error", close: "close", pagesLoaded: "pagesLoaded" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "adf-pdf-viewer" }, providers: [RenderingQueueServices], usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-pdf-viewer__container\">\n <ng-container *ngIf=\"showThumbnails\">\n <div class=\"adf-pdf-viewer__thumbnails\">\n <div class=\"adf-thumbnails-template__container\">\n <div class=\"adf-thumbnails-template__buttons\">\n <button mat-icon-button\n data-automation-id='adf-thumbnails-close'\n (click)=\"toggleThumbnails()\"\n [attr.aria-label]=\"'ADF_VIEWER.ARIA.THUMBNAILS_PANLEL_CLOSE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <ng-container *ngIf=\"thumbnailsTemplate\">\n <ng-container *ngTemplateOutlet=\"thumbnailsTemplate;context:pdfThumbnailsContext\" />\n </ng-container>\n <adf-pdf-thumbnails *ngIf=\"!thumbnailsTemplate && !isPanelDisabled\"\n (close)=\"toggleThumbnails()\"\n [pdfViewer]=\"pdfViewer\" />\n </div>\n </div>\n </ng-container>\n\n <div class=\"adf-pdf-viewer__content\">\n <div [id]=\"randomPdfId + '-viewer-pdf-viewer'\"\n class=\"adf-viewer-pdf-viewer\"\n (window:resize)=\"onResize()\">\n <div [id]=\"randomPdfId + '-viewer-viewerPdf'\"\n class=\"adf-pdfViewer\"\n role=\"document\"\n tabindex=\"0\"\n aria-expanded=\"true\">\n <div id=\"loader-container\" class=\"adf-loader-container\">\n <div class=\"adf-loader-item\">\n <mat-progress-bar class=\"adf-loader-item-progress-bar\" mode=\"indeterminate\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"adf-pdf-viewer__toolbar\" *ngIf=\"showToolbar\" [ngStyle]=\"documentOverflow && {bottom: '25px'}\">\n <adf-toolbar>\n\n <ng-container *ngIf=\"allowThumbnails\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ARIA.THUMBNAILS' | translate\"\n [attr.aria-expanded]=\"showThumbnails\"\n data-automation-id=\"adf-thumbnails-button\"\n [disabled]=\"isPanelDisabled\"\n (click)=\"toggleThumbnails()\">\n <mat-icon>dashboard</mat-icon>\n </button>\n <adf-toolbar-divider />\n </ng-container>\n\n <button id=\"viewer-previous-page-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.PREVIOUS_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.PREVIOUS_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"previousPage()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n\n <button id=\"viewer-next-page-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.NEXT_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.NEXT_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"nextPage()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n\n <div class=\"adf-pdf-viewer__toolbar-page-selector\">\n <label for=\"page-selector\">{{ 'ADF_VIEWER.PAGE_LABEL.SHOWING' | translate }}</label>\n <input #page\n id=\"page-selector\"\n type=\"text\"\n data-automation-id=\"adf-page-selector\"\n pattern=\"-?[0-9]*(\\.[0-9]+)?\"\n value=\"{{ displayPage }}\"\n [attr.aria-label]=\"'ADF_VIEWER.PAGE_LABEL.PAGE_SELECTOR_LABEL' | translate\"\n (keyup.enter)=\"inputPage(page.value)\">\n <span>{{ 'ADF_VIEWER.PAGE_LABEL.OF' | translate }} {{ totalPages }}</span>\n </div>\n\n <div class=\"adf-pdf-viewer__toolbar-page-scale\" data-automation-id=\"adf-page-scale\">\n {{ currentScaleText }}\n </div>\n\n <button id=\"viewer-zoom-in-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.ZOOM_IN' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.ZOOM_IN' | translate }}\"\n mat-icon-button\n (click)=\"zoomIn()\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n\n <button id=\"viewer-zoom-out-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.ZOOM_OUT' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.ZOOM_OUT' | translate }}\"\n mat-icon-button\n (click)=\"zoomOut()\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n\n <button id=\"viewer-scale-page-button\"\n role=\"button\" aria-pressed=\"true\"\n title=\"{{ 'ADF_VIEWER.ARIA.FIT_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.FIT_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"pageFit()\">\n <mat-icon>zoom_out_map</mat-icon>\n </button>\n\n </adf-toolbar>\n</div>\n", styles: [".adf-pdf-viewer .textLayer{position:absolute;inset:0;overflow:hidden;opacity:.2;line-height:1;border:1px solid gray}.adf-pdf-viewer .textLayer>div{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.adf-pdf-viewer .textLayer .adf-highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}.adf-pdf-viewer .textLayer .adf-highlight.adf-begin{border-radius:4px 0 0 4px}.adf-pdf-viewer .textLayer .adf-highlight.adf-end{border-radius:0 4px 4px 0}.adf-pdf-viewer .textLayer .adf-highlight.adf-middle{border-radius:0}.adf-pdf-viewer .textLayer .adf-highlight.adf-selected{background-color:#006400}.adf-pdf-viewer .textLayer::selection{background:#00f}.adf-pdf-viewer .textLayer .adf-endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.adf-pdf-viewer .textLayer .adf-endOfContent.adf-active{top:0}.adf-pdf-viewer .adf-annotationLayer section{position:absolute}.adf-pdf-viewer .adf-annotationLayer .adf-linkAnnotation>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) 0 0 repeat}.adf-pdf-viewer .adf-annotationLayer .adf-linkAnnotation>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.adf-pdf-viewer .adf-annotationLayer .adf-textAnnotation img{position:absolute;cursor:pointer}.adf-pdf-viewer .adf-annotationLayer .adf-popupWrapper{position:absolute;width:20em}.adf-pdf-viewer .adf-annotationLayer .adf-popup{position:absolute;z-index:200;max-width:20em;background-color:#ff9;box-shadow:0 2px 5px #333;border-radius:2px;padding:.6em;margin-left:5px;cursor:pointer;word-wrap:break-word}.adf-pdf-viewer .adf-annotationLayer .adf-popup h1{font-size:1em;border-bottom:1px solid #000;padding-bottom:.2em}.adf-pdf-viewer .adf-annotationLayer .adf-popup p{padding-top:.2em}.adf-pdf-viewer .adf-annotationLayer .adf-highlightAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-underlineAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-squigglyAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-strikeoutAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-fileAttachmentAnnotation{cursor:pointer}.adf-pdf-viewer .adf-pdfViewer .canvasWrapper{overflow:hidden}.adf-pdf-viewer .adf-pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:1px auto -8px;position:relative;overflow:visible;border:9px solid transparent;background-clip:content-box;background-color:#fff}.adf-pdf-viewer .adf-pdfViewer .page canvas{margin:0;display:block}.adf-pdf-viewer .adf-pdfViewer .page .adf-loadingIcon{position:absolute;display:block;width:100px;height:100px;inset:50% 0 0 50%;margin-top:-50px;margin-left:-50px;font-size:5px;text-indent:-9999em;border-top:1.1em solid rgba(3,0,2,.2);border-right:1.1em solid rgba(3,0,2,.2);border-bottom:1.1em solid rgba(3,0,2,.2);border-left:1.1em solid #030002;animation:load8 1.1s infinite linear;border-radius:50%}.adf-pdf-viewer .adf-pdfViewer .page .adf-loadingIcon:after{border-radius:50%}.adf-pdf-viewer .adf-pdfViewer .page *{padding:0;margin:0}.adf-pdf-viewer .adf-pdfViewer.adf-removePageBorders .adf-page{margin:0 auto 10px;border:none}.adf-pdf-viewer .adf-hidden,.adf-pdf-viewer [hidden]{display:none}.adf-viewer-pdf-viewer{overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;inset:0;outline:none}html[dir=ltr] .adf-viewer-pdf-viewer{box-shadow:inset 1px 0 #ffffff0d}html[dir=rtl] .adf-viewer-pdf-viewer{box-shadow:inset -1px 0 #ffffff0d}\n", ".adf-pdf-viewer{width:100%;height:100%;margin:0}.adf-pdf-viewer .adf-loader-container{display:flex;flex-direction:row;height:100%}.adf-pdf-viewer__thumbnails{position:relative;height:100%;width:190px;background-color:#0000001f;display:flex;flex-direction:column;padding:0}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout{display:flex;flex-direction:column;flex:1;background:#e6e6e6}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-header{margin-bottom:0}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-content{padding:0;height:100%;overflow:hidden}.adf-pdf-viewer__thumbnails .adf-info-drawer-content{height:100%}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-content>*:last-child{height:100%;overflow:hidden}.adf-pdf-viewer .adf-thumbnails-template__container{display:flex;flex-direction:column;height:100%}.adf-pdf-viewer .adf-thumbnails-template__buttons{height:45px;justify-content:flex-end;align-items:flex-end;display:flex;color:var(--adf-theme-foreground-text-color-054)}.adf-pdf-viewer__container{display:flex;height:100%;min-height:1px}.adf-pdf-viewer__content{flex:1 1 auto;position:relative}.adf-pdf-viewer .adf-loader-item{margin:auto;max-height:100px;max-width:300px}.adf-pdf-viewer .adf-loader-item .adf-loader-item-progress-bar{max-width:300px;margin:0;position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.adf-pdf-viewer__toolbar{z-index:100;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.adf-pdf-viewer__toolbar .adf-toolbar .mat-toolbar{max-height:48px;background-color:var(--adf-theme-background-card-color);border-width:0;border-radius:2px;box-shadow:0 2px 2px #000,0 0 2px #0000001f}.adf-pdf-viewer__toolbar-page-selector{padding-left:10px;padding-right:10px;white-space:nowrap;font-size:var(--theme-body-1-font-size)}.adf-pdf-viewer__toolbar-page-selector>input{border:1px solid var(--adf-theme-foreground-text-color-007);background-color:var(--adf-theme-background-card-color);color:inherit;font-size:var(--theme-body-1-font-size);padding:5px;height:24px;line-height:24px;text-align:right;width:33px;margin-right:4px;outline-width:1px;outline-color:gray}.adf-pdf-viewer__toolbar-page-scale{cursor:default;width:79px;height:24px;font-size:var(--theme-body-1-font-size);border:1px solid var(--adf-theme-foreground-text-color-007);text-align:center;line-height:24px;margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: PdfThumbListComponent, selector: "adf-pdf-thumbnails", inputs: ["pdfViewer"], outputs: ["close"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i4.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
503
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
504
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PdfViewerComponent, isStandalone: true, selector: "adf-pdf-viewer", inputs: { urlFile: "urlFile", blobFile: "blobFile", fileName: "fileName", showToolbar: "showToolbar", allowThumbnails: "allowThumbnails", thumbnailsTemplate: "thumbnailsTemplate", cacheType: "cacheType" }, outputs: { rendered: "rendered", error: "error", close: "close", pagesLoaded: "pagesLoaded" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "adf-pdf-viewer" }, providers: [RenderingQueueServices], usesOnChanges: true, ngImport: i0, template: "<div class=\"adf-pdf-viewer__container\">\n <ng-container *ngIf=\"showThumbnails\">\n <div class=\"adf-pdf-viewer__thumbnails\">\n <div class=\"adf-thumbnails-template__container\">\n <div class=\"adf-thumbnails-template__buttons\">\n <button mat-icon-button\n data-automation-id='adf-thumbnails-close'\n (click)=\"toggleThumbnails()\"\n [attr.aria-label]=\"'ADF_VIEWER.ARIA.THUMBNAILS_PANLEL_CLOSE' | translate\"\n title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <ng-container *ngIf=\"thumbnailsTemplate\">\n <ng-container *ngTemplateOutlet=\"thumbnailsTemplate;context:pdfThumbnailsContext\" />\n </ng-container>\n <adf-pdf-thumbnails *ngIf=\"!thumbnailsTemplate && !isPanelDisabled\"\n (close)=\"toggleThumbnails()\"\n [pdfViewer]=\"pdfViewer\" />\n </div>\n </div>\n </ng-container>\n\n <div class=\"adf-pdf-viewer__content\">\n <div [id]=\"randomPdfId + '-viewer-pdf-viewer'\"\n class=\"adf-viewer-pdf-viewer\"\n (window:resize)=\"onResize()\">\n <div [id]=\"randomPdfId + '-viewer-viewerPdf'\"\n class=\"adf-pdfViewer\"\n role=\"document\"\n tabindex=\"0\"\n aria-expanded=\"true\">\n <div id=\"loader-container\" class=\"adf-loader-container\">\n <div class=\"adf-loader-item\">\n <mat-progress-bar class=\"adf-loader-item-progress-bar\" mode=\"indeterminate\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"adf-pdf-viewer__toolbar\" *ngIf=\"showToolbar\" [ngStyle]=\"documentOverflow && {bottom: '25px'}\">\n <adf-toolbar>\n\n <ng-container *ngIf=\"allowThumbnails\">\n <button mat-icon-button\n [attr.aria-label]=\"'ADF_VIEWER.ARIA.THUMBNAILS' | translate\"\n [attr.aria-expanded]=\"showThumbnails\"\n data-automation-id=\"adf-thumbnails-button\"\n [disabled]=\"isPanelDisabled\"\n (click)=\"toggleThumbnails()\">\n <mat-icon>dashboard</mat-icon>\n </button>\n <adf-toolbar-divider />\n </ng-container>\n\n <button id=\"viewer-previous-page-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.PREVIOUS_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.PREVIOUS_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"previousPage()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n\n <button id=\"viewer-next-page-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.NEXT_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.NEXT_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"nextPage()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n\n <div class=\"adf-pdf-viewer__toolbar-page-selector\">\n <label for=\"page-selector\">{{ 'ADF_VIEWER.PAGE_LABEL.SHOWING' | translate }}</label>\n <input #page\n id=\"page-selector\"\n type=\"text\"\n data-automation-id=\"adf-page-selector\"\n pattern=\"-?[0-9]*(\\.[0-9]+)?\"\n value=\"{{ displayPage }}\"\n [attr.aria-label]=\"'ADF_VIEWER.PAGE_LABEL.PAGE_SELECTOR_LABEL' | translate\"\n (keyup.enter)=\"inputPage(page.value)\">\n <span>{{ 'ADF_VIEWER.PAGE_LABEL.OF' | translate }} {{ totalPages }}</span>\n </div>\n\n <div class=\"adf-pdf-viewer__toolbar-page-scale\" data-automation-id=\"adf-page-scale\">\n {{ currentScaleText }}\n </div>\n\n <button id=\"viewer-zoom-in-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.ZOOM_IN' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.ZOOM_IN' | translate }}\"\n mat-icon-button\n (click)=\"zoomIn()\">\n <mat-icon>zoom_in</mat-icon>\n </button>\n\n <button id=\"viewer-zoom-out-button\"\n title=\"{{ 'ADF_VIEWER.ARIA.ZOOM_OUT' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.ZOOM_OUT' | translate }}\"\n mat-icon-button\n (click)=\"zoomOut()\">\n <mat-icon>zoom_out</mat-icon>\n </button>\n\n <button id=\"viewer-scale-page-button\"\n role=\"button\" aria-pressed=\"true\"\n title=\"{{ 'ADF_VIEWER.ARIA.FIT_PAGE' | translate }}\"\n attr.aria-label=\"{{ 'ADF_VIEWER.ARIA.FIT_PAGE' | translate }}\"\n mat-icon-button\n (click)=\"pageFit()\">\n <mat-icon>zoom_out_map</mat-icon>\n </button>\n\n </adf-toolbar>\n</div>\n", styles: [".adf-pdf-viewer .textLayer{position:absolute;inset:0;overflow:hidden;opacity:.2;line-height:1;border:1px solid gray}.adf-pdf-viewer .textLayer>div{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.adf-pdf-viewer .textLayer .adf-highlight{margin:-1px;padding:1px;background-color:#b400aa;border-radius:4px}.adf-pdf-viewer .textLayer .adf-highlight.adf-begin{border-radius:4px 0 0 4px}.adf-pdf-viewer .textLayer .adf-highlight.adf-end{border-radius:0 4px 4px 0}.adf-pdf-viewer .textLayer .adf-highlight.adf-middle{border-radius:0}.adf-pdf-viewer .textLayer .adf-highlight.adf-selected{background-color:#006400}.adf-pdf-viewer .textLayer::selection{background:#00f}.adf-pdf-viewer .textLayer .adf-endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.adf-pdf-viewer .textLayer .adf-endOfContent.adf-active{top:0}.adf-pdf-viewer .adf-annotationLayer section{position:absolute}.adf-pdf-viewer .adf-annotationLayer .adf-linkAnnotation>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) 0 0 repeat}.adf-pdf-viewer .adf-annotationLayer .adf-linkAnnotation>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.adf-pdf-viewer .adf-annotationLayer .adf-textAnnotation img{position:absolute;cursor:pointer}.adf-pdf-viewer .adf-annotationLayer .adf-popupWrapper{position:absolute;width:20em}.adf-pdf-viewer .adf-annotationLayer .adf-popup{position:absolute;z-index:200;max-width:20em;background-color:#ff9;box-shadow:0 2px 5px #333;border-radius:2px;padding:.6em;margin-left:5px;cursor:pointer;word-wrap:break-word}.adf-pdf-viewer .adf-annotationLayer .adf-popup h1{font-size:1em;border-bottom:1px solid #000;padding-bottom:.2em}.adf-pdf-viewer .adf-annotationLayer .adf-popup p{padding-top:.2em}.adf-pdf-viewer .adf-annotationLayer .adf-highlightAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-underlineAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-squigglyAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-strikeoutAnnotation,.adf-pdf-viewer .adf-annotationLayer .adf-fileAttachmentAnnotation{cursor:pointer}.adf-pdf-viewer .adf-pdfViewer .canvasWrapper{overflow:hidden}.adf-pdf-viewer .adf-pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:1px auto -8px;position:relative;overflow:visible;border:9px solid transparent;background-clip:content-box;background-color:#fff}.adf-pdf-viewer .adf-pdfViewer .page canvas{margin:0;display:block}.adf-pdf-viewer .adf-pdfViewer .page .adf-loadingIcon{position:absolute;display:block;width:100px;height:100px;inset:50% 0 0 50%;margin-top:-50px;margin-left:-50px;font-size:5px;text-indent:-9999em;border-top:1.1em solid rgba(3,0,2,.2);border-right:1.1em solid rgba(3,0,2,.2);border-bottom:1.1em solid rgba(3,0,2,.2);border-left:1.1em solid #030002;animation:load8 1.1s infinite linear;border-radius:50%}.adf-pdf-viewer .adf-pdfViewer .page .adf-loadingIcon:after{border-radius:50%}.adf-pdf-viewer .adf-pdfViewer .page *{padding:0;margin:0}.adf-pdf-viewer .adf-pdfViewer.adf-removePageBorders .adf-page{margin:0 auto 10px;border:none}.adf-pdf-viewer .adf-hidden,.adf-pdf-viewer [hidden]{display:none}.adf-viewer-pdf-viewer{overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;inset:0;outline:none}html[dir=ltr] .adf-viewer-pdf-viewer{box-shadow:inset 1px 0 #ffffff0d}html[dir=rtl] .adf-viewer-pdf-viewer{box-shadow:inset -1px 0 #ffffff0d}\n", ".adf-pdf-viewer{width:100%;height:100%;margin:0}.adf-pdf-viewer .adf-loader-container{display:flex;flex-direction:row;height:100%}.adf-pdf-viewer__thumbnails{position:relative;height:100%;width:190px;background-color:#0000001f;display:flex;flex-direction:column;padding:0}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout{display:flex;flex-direction:column;flex:1;background:#e6e6e6}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-header{margin-bottom:0}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-content{padding:0;height:100%;overflow:hidden}.adf-pdf-viewer__thumbnails .adf-info-drawer-content{height:100%}.adf-pdf-viewer__thumbnails .adf-info-drawer-layout-content>*:last-child{height:100%;overflow:hidden}.adf-pdf-viewer .adf-thumbnails-template__container{display:flex;flex-direction:column;height:100%}.adf-pdf-viewer .adf-thumbnails-template__buttons{height:45px;justify-content:flex-end;align-items:flex-end;display:flex;color:var(--adf-theme-foreground-text-color-054)}.adf-pdf-viewer__container{display:flex;height:100%;min-height:1px}.adf-pdf-viewer__content{flex:1 1 auto;position:relative}.adf-pdf-viewer .adf-loader-item{margin:auto;max-height:100px;max-width:300px}.adf-pdf-viewer .adf-loader-item .adf-loader-item-progress-bar{max-width:300px;margin:0;position:absolute;top:50%;left:50%;-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.adf-pdf-viewer__toolbar{z-index:100;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.adf-pdf-viewer__toolbar .adf-toolbar .mat-toolbar{max-height:48px;background-color:var(--adf-theme-background-card-color);border-width:0;border-radius:2px;box-shadow:0 2px 2px #000,0 0 2px #0000001f}.adf-pdf-viewer__toolbar-page-selector{padding-left:10px;padding-right:10px;white-space:nowrap;font-size:var(--theme-body-1-font-size)}.adf-pdf-viewer__toolbar-page-selector>input{border:1px solid var(--adf-theme-foreground-text-color-007);background-color:var(--adf-theme-background-card-color);color:inherit;font-size:var(--theme-body-1-font-size);padding:5px;height:24px;line-height:24px;text-align:right;width:33px;margin-right:4px;outline-width:1px;outline-color:gray}.adf-pdf-viewer__toolbar-page-scale{cursor:default;width:79px;height:24px;font-size:var(--theme-body-1-font-size);border:1px solid var(--adf-theme-foreground-text-color-007);text-align:center;line-height:24px;margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: PdfThumbListComponent, selector: "adf-pdf-thumbnails", inputs: ["pdfViewer"], outputs: ["close"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i4.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: ToolbarDividerComponent, selector: "adf-toolbar-divider" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
505
505
|
}
|
|
506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
506
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfViewerComponent, decorators: [{
|
|
507
507
|
type: Component,
|
|
508
508
|
args: [{ selector: 'adf-pdf-viewer', standalone: true, providers: [RenderingQueueServices], host: { class: 'adf-pdf-viewer' }, imports: [
|
|
509
509
|
MatButtonModule,
|
|
@@ -543,4 +543,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
543
543
|
type: HostListener,
|
|
544
544
|
args: ['document:keydown', ['$event']]
|
|
545
545
|
}] } });
|
|
546
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx5REFBeUQ7QUFDekQseUNBQXlDO0FBQ3pDLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFB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O3NCQURqQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsS0FBSztzQkFESixNQUFNO2dCQUlQLEtBQUs7c0JBREosTUFBTTtnQkFJUCxXQUFXO3NCQURWLE1BQU07Z0JBcWdCUCxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlICovXG5cbmltcG9ydCB7IE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50LCBUb29sYmFyRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXInO1xuaW1wb3J0IHsgUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmRlcmluZy1xdWV1ZS5zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQZGZQYXNzd29yZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nJztcbmltcG9ydCB7IFBkZlRodW1iTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3BkZi12aWV3ZXItdGh1bWJuYWlscy9wZGYtdmlld2VyLXRodW1ibmFpbHMuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIHBkZmpzTGliIGZyb20gJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLm1pbi5tanMnO1xuaW1wb3J0IHsgRXZlbnRCdXMsIFBERlZpZXdlciB9IGZyb20gJ3BkZmpzLWRpc3Qvd2ViL3BkZl92aWV3ZXIubWpzJztcbmltcG9ydCB7IE9uUHJvZ3Jlc3NQYXJhbWV0ZXJzLCBQREZEb2N1bWVudExvYWRpbmdUYXNrLCBQREZEb2N1bWVudFByb3h5IH0gZnJvbSAncGRmanMtZGlzdC90eXBlcy9zcmMvZGlzcGxheS9hcGknO1xuXG5leHBvcnQgdHlwZSBQZGZTY2FsZU1vZGUgPSAnaW5pdCcgfCAncGFnZS1hY3R1YWwnIHwgJ3BhZ2Utd2lkdGgnIHwgJ3BhZ2UtaGVpZ2h0JyB8ICdwYWdlLWZpdCcgfCAnYXV0byc7XG5cbmV4cG9ydCBjb25zdCBQREZKU19NT0RVTEUgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BERkpTX01PRFVMRScsIHsgZmFjdG9yeTogKCkgPT4gcGRmanNMaWIgfSk7XG5leHBvcnQgY29uc3QgUERGSlNfVklFV0VSX01PRFVMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbignUERGSlNfVklFV0VSX01PRFVMRScsIHsgZmFjdG9yeTogKCkgPT4gUERGVmlld2VyIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1wZGYtdmlld2VyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLWhvc3QuY29tcG9uZW50LnNjc3MnLCAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUmVuZGVyaW5nUXVldWVTZXJ2aWNlc10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1wZGYtdmlld2VyJyB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFBkZlRodW1iTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJEaXZpZGVyQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHVybEZpbGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgYmxvYkZpbGU6IEJsb2I7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb29sYmFyOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dUaHVtYm5haWxzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRodW1ibmFpbHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGNhY2hlVHlwZTogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZW5kZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwYWdlc0xvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBkaXNwbGF5UGFnZTogbnVtYmVyO1xuICAgIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBsb2FkaW5nUGVyY2VudDogbnVtYmVyO1xuICAgIHBkZlZpZXdlcjogYW55O1xuICAgIHBkZkpzV29ya2VyVXJsOiBzdHJpbmc7XG4gICAgcGRmSnNXb3JrZXJJbnN0YW5jZTogV29ya2VyO1xuICAgIGN1cnJlbnRTY2FsZU1vZGU6IFBkZlNjYWxlTW9kZSA9ICdpbml0JztcblxuICAgIE1BWF9BVVRPX1NDQUxFOiBudW1iZXIgPSAxLjI1O1xuICAgIERFRkFVTFRfU0NBTEVfREVMVEE6IG51bWJlciA9IDEuMTtcbiAgICBNSU5fU0NBTEU6IG51bWJlciA9IDAuMjU7XG4gICAgTUFYX1NDQUxFOiBudW1iZXIgPSAxMC4wO1xuXG4gICAgbG9hZGluZ1Rhc2s6IFBERkRvY3VtZW50TG9hZGluZ1Rhc2s7XG4gICAgaXNQYW5lbERpc2FibGVkID0gdHJ1ZTtcbiAgICBzaG93VGh1bWJuYWlsczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHBkZlRodW1ibmFpbHNDb250ZXh0OiB7IHZpZXdlcjogYW55IH0gPSB7IHZpZXdlcjogbnVsbCB9O1xuICAgIHJhbmRvbVBkZklkOiBzdHJpbmc7XG4gICAgZG9jdW1lbnRPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgZ2V0IGN1cnJlbnRTY2FsZVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGRmVmlld2VyPy5jdXJyZW50U2NhbGVWYWx1ZSA/IE1hdGgucm91bmQodGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgKiAxMDApICsgJyUnIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwZGZqc0xpYiA9IGluamVjdChQREZKU19NT0RVTEUpO1xuICAgIHByaXZhdGUgcGRmanNWaWV3ZXIgPSBpbmplY3QoUERGSlNfVklFV0VSX01PRFVMRSk7XG5cbiAgICBwcml2YXRlIGV2ZW50QnVzID0gbmV3IEV2ZW50QnVzKCk7XG4gICAgcHJpdmF0ZSBwZGZqc0RlZmF1bHRPcHRpb25zID0ge1xuICAgICAgICBkaXNhYmxlQXV0b0ZldGNoOiB0cnVlLFxuICAgICAgICBkaXNhYmxlU3RyZWFtOiB0cnVlLFxuICAgICAgICBjTWFwVXJsOiAnLi9jbWFwcy8nLFxuICAgICAgICBjTWFwUGFja2VkOiB0cnVlXG4gICAgfTtcbiAgICBwcml2YXRlIHBkZmpzV29ya2VyRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgICBwcml2YXRlIHJlbmRlcmluZ1F1ZXVlU2VydmljZXMgPSBpbmplY3QoUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyk7XG4gICAgcHJpdmF0ZSBhcHBDb25maWdTZXJ2aWNlID0gaW5qZWN0KEFwcENvbmZpZ1NlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIG5lZWRlZCB0byBwcmVzZXJ2ZSBcInRoaXNcIiBjb250ZXh0XG4gICAgICAgIHRoaXMub25QYWdlQ2hhbmdlID0gdGhpcy5vblBhZ2VDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vblBhZ2VzTG9hZGVkID0gdGhpcy5vblBhZ2VzTG9hZGVkLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQgPSB0aGlzLm9uUGFnZVJlbmRlcmVkLmJpbmQodGhpcyk7XG5cbiAgICAgICAgdGhpcy5yYW5kb21QZGZJZCA9IERhdGUubm93KCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5wZGZqc1dvcmtlckRlc3Ryb3kkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG51bGwpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tKHRoaXMuZGVzdHJveVBmZEpzV29ya2VyKCkpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgfVxuXG4gICAgZ2V0VXNlclNjYWxpbmcoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHNjYWxlQ29uZmlnID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxudW1iZXI+KCdhZGYtdmlld2VyLnBkZi12aWV3ZXItc2NhbGluZycsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgaWYgKHNjYWxlQ29uZmlnKSB7XG4gICAgICAgICAgICBzY2FsZUNvbmZpZyA9IHNjYWxlQ29uZmlnIC8gMTAwO1xuICAgICAgICAgICAgc2NhbGVDb25maWcgPSB0aGlzLmNoZWNrTGltaXRzKHNjYWxlQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzY2FsZUNvbmZpZztcbiAgICB9XG5cbiAgICBjaGVja0xpbWl0cyhzY2FsZUNvbmZpZzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHNjYWxlQ29uZmlnID4gdGhpcy5NQVhfU0NBTEUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLk1BWF9TQ0FMRTtcbiAgICAgICAgfSBlbHNlIGlmIChzY2FsZUNvbmZpZyA8IHRoaXMuTUlOX1NDQUxFKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5NSU5fU0NBTEU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gc2NhbGVDb25maWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGJsb2JGaWxlID0gY2hhbmdlc1snYmxvYkZpbGUnXTtcblxuICAgICAgICBpZiAoYmxvYkZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGRmT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wZGZqc0RlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZWFkZXIucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQ8Ym9vbGVhbj4oJ2F1dGgud2l0aENyZWRlbnRpYWxzJywgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgaXNFdmFsU3VwcG9ydGVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlUGRmKHBkZk9wdGlvbnMpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iRmlsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXJsRmlsZSA9IGNoYW5nZXNbJ3VybEZpbGUnXTtcbiAgICAgICAgaWYgKHVybEZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgcGRmT3B0aW9uczogYW55ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMucGRmanNEZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICB1cmw6IHVybEZpbGUuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxib29sZWFuPignYXV0aC53aXRoQ3JlZGVudGlhbHMnLCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIGlzRXZhbFN1cHBvcnRlZDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy5jYWNoZVR5cGUpIHtcbiAgICAgICAgICAgICAgICBwZGZPcHRpb25zLmh0dHBIZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCc6IHRoaXMuY2FjaGVUeXBlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZVBkZihwZGZPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy51cmxGaWxlICYmICF0aGlzLmJsb2JGaWxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dHJpYnV0ZSB1cmxGaWxlIG9yIGJsb2JGaWxlIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleGVjdXRlUGRmKHBkZk9wdGlvbnM6IGFueSkge1xuICAgICAgICB0aGlzLnNldHVwUGRmSnNXb3JrZXIoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1Rhc2sgPSB0aGlzLnBkZmpzTGliLmdldERvY3VtZW50KHBkZk9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLm9uUGFzc3dvcmQgPSAoY2FsbGJhY2ssIHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QZGZQYXNzd29yZChjYWxsYmFjaywgcmVhc29uKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1Rhc2sub25Qcm9ncmVzcyA9IChwcm9ncmVzc0RhdGE6IE9uUHJvZ3Jlc3NQYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGV2ZWwgPSBwcm9ncmVzc0RhdGEubG9hZGVkIC8gcHJvZ3Jlc3NEYXRhLnRvdGFsO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1BlcmNlbnQgPSBNYXRoLnJvdW5kKGxldmVsICogMTAwKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuaXNQYW5lbERpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nVGFzay5wcm9taXNlXG4gICAgICAgICAgICAgICAgLnRoZW4oKHBkZkRvY3VtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxQYWdlcyA9IHBkZkRvY3VtZW50Lm51bVBhZ2VzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlQYWdlID0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0UERGVmlld2VyKHBkZkRvY3VtZW50KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGRmRG9jdW1lbnQuZ2V0UGFnZSgxKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuc2NhbGVQYWdlKCdpbml0JykpXG4gICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuZXJyb3IuZW1pdCgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzZXR1cFBkZkpzV29ya2VyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5wZGZKc1dvcmtlckluc3RhbmNlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlc3Ryb3lQZmRKc1dvcmtlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnBkZkpzV29ya2VyVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnBkZkpzV29ya2VyVXJsID0gYXdhaXQgdGhpcy5nZXRQZGZKc1dvcmtlcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGRmSnNXb3JrZXJJbnN0YW5jZSA9IG5ldyBXb3JrZXIodGhpcy5wZGZKc1dvcmtlclVybCwgeyB0eXBlOiAnbW9kdWxlJyB9KTtcbiAgICAgICAgdGhpcy5wZGZqc0xpYi5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclBvcnQgPSB0aGlzLnBkZkpzV29ya2VySW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRQZGZKc1dvcmtlcigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCcuL3BkZi53b3JrZXIubWluLm1qcycpO1xuICAgICAgICBjb25zdCB3b3JrZXJTY3JpcHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbd29ya2VyU2NyaXB0XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcgfSk7XG4gICAgICAgIHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIH1cblxuICAgIGluaXRQREZWaWV3ZXIocGRmRG9jdW1lbnQ6IFBERkRvY3VtZW50UHJveHkpIHtcbiAgICAgICAgY29uc3Qgdmlld2VyOiBhbnkgPSB0aGlzLmdldFZpZXdlcigpO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldERvY3VtZW50Q29udGFpbmVyKCk7XG5cbiAgICAgICAgaWYgKHZpZXdlciAmJiBjb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyID0gbmV3IHRoaXMucGRmanNWaWV3ZXIoe1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICB2aWV3ZXIsXG4gICAgICAgICAgICAgICAgcmVuZGVyaW5nUXVldWU6IHRoaXMucmVuZGVyaW5nUXVldWVTZXJ2aWNlcyxcbiAgICAgICAgICAgICAgICBldmVudEJ1czogdGhpcy5ldmVudEJ1cyxcbiAgICAgICAgICAgICAgICBhbm5vdGF0aW9uTW9kZTogMFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0XG4gICAgICAgICAgICB0aGlzLmV2ZW50QnVzLm9uKCdwYWdlY2hhbmdpbmcnLCB0aGlzLm9uUGFnZUNoYW5nZSk7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vbigncGFnZXNsb2FkZWQnLCB0aGlzLm9uUGFnZXNMb2FkZWQpO1xuICAgICAgICAgICAgLy8gY3NwZWxsOiBkaXNhYmxlLW5leHRcbiAgICAgICAgICAgIHRoaXMuZXZlbnRCdXMub24oJ3RleHRsYXllcnJlbmRlcmVkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vbigncGFnZXJlbmRlcmVkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmluZ1F1ZXVlU2VydmljZXMuc2V0Vmlld2VyKHRoaXMucGRmVmlld2VyKTtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLnNldERvY3VtZW50KHBkZkRvY3VtZW50KTtcbiAgICAgICAgICAgIHRoaXMucGRmVGh1bWJuYWlsc0NvbnRleHQudmlld2VyID0gdGhpcy5wZGZWaWV3ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGRmVmlld2VyKSB7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vZmYoJ3BhZ2VjaGFuZ2luZycsICgpID0+IHt9KTtcbiAgICAgICAgICAgIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0XG4gICAgICAgICAgICB0aGlzLmV2ZW50QnVzLm9mZigncGFnZXNsb2FkZWQnLCAoKSA9PiB7fSk7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vZmYoJ3RleHRsYXllcnJlbmRlcmVkJywgKCkgPT4ge30pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZGluZ1Rhc2spIHtcbiAgICAgICAgICAgIHRoaXMucGRmanNXb3JrZXJEZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGRmanNXb3JrZXJEZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnJldm9rZVBkZkpzV29ya2VyVXJsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBkZXN0cm95UGZkSnNXb3JrZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmdUYXNrLmRlc3Ryb3kpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZGluZ1Rhc2suZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBkZkpzV29ya2VySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMucGRmSnNXb3JrZXJJbnN0YW5jZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmdUYXNrID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJldm9rZVBkZkpzV29ya2VyVXJsKCk6IHZvaWQge1xuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMucGRmSnNXb3JrZXJVcmwpO1xuICAgIH1cblxuICAgIHRvZ2dsZVRodW1ibmFpbHMoKSB7XG4gICAgICAgIHRoaXMuc2hvd1RodW1ibmFpbHMgPSAhdGhpcy5zaG93VGh1bWJuYWlscztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdG8gc2NhbGUgdGhlIHBhZ2UgY3VycmVudCBzdXBwb3J0IGltcGxlbWVudGF0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2NhbGVNb2RlIC0gbmV3IHNjYWxlIG1vZGVcbiAgICAgKi9cbiAgICBzY2FsZVBhZ2Uoc2NhbGVNb2RlOiBQZGZTY2FsZU1vZGUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gc2NhbGVNb2RlO1xuXG4gICAgICAgIGNvbnN0IHZpZXdlckNvbnRhaW5lciA9IHRoaXMuZ2V0TWFpbkNvbnRhaW5lcigpO1xuICAgICAgICBjb25zdCBkb2N1bWVudENvbnRhaW5lciA9IHRoaXMuZ2V0RG9jdW1lbnRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIgJiYgZG9jdW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGxldCB3aWR0aENvbnRhaW5lcjogbnVtYmVyO1xuICAgICAgICAgICAgbGV0IGhlaWdodENvbnRhaW5lcjogbnVtYmVyO1xuXG4gICAgICAgICAgICBpZiAodmlld2VyQ29udGFpbmVyICYmIHZpZXdlckNvbnRhaW5lci5jbGllbnRXaWR0aCA8PSBkb2N1bWVudENvbnRhaW5lci5jbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHdpZHRoQ29udGFpbmVyID0gdmlld2VyQ29udGFpbmVyLmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodENvbnRhaW5lciA9IHZpZXdlckNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoQ29udGFpbmVyID0gZG9jdW1lbnRDb250YWluZXIuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0Q29udGFpbmVyID0gZG9jdW1lbnRDb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IHRoaXMucGRmVmlld2VyLl9wYWdlc1t0aGlzLnBkZlZpZXdlci5fY3VycmVudFBhZ2VOdW1iZXIgLSAxXTtcblxuICAgICAgICAgICAgY29uc3QgcGFkZGluZyA9IDIwO1xuICAgICAgICAgICAgY29uc3QgcGFnZVdpZHRoU2NhbGUgPSAoKHdpZHRoQ29udGFpbmVyIC0gcGFkZGluZykgLyBjdXJyZW50UGFnZS53aWR0aCkgKiBjdXJyZW50UGFnZS5zY2FsZTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VIZWlnaHRTY2FsZSA9ICgoaGVpZ2h0Q29udGFpbmVyIC0gcGFkZGluZykgLyBjdXJyZW50UGFnZS53aWR0aCkgKiBjdXJyZW50UGFnZS5zY2FsZTtcblxuICAgICAgICAgICAgbGV0IHNjYWxlOiBudW1iZXI7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFNjYWxlTW9kZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2luaXQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UtZml0Jzoge1xuICAgICAgICAgICAgICAgICAgICBzY2FsZSA9IHRoaXMuZ2V0VXNlclNjYWxpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzY2FsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSB0aGlzLmF1dG9TY2FsaW5nKHBhZ2VIZWlnaHRTY2FsZSwgcGFnZVdpZHRoU2NhbGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdwYWdlLWFjdHVhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSAxO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAncGFnZS13aWR0aCc6IHtcbiAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSBwYWdlV2lkdGhTY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UtaGVpZ2h0Jzoge1xuICAgICAgICAgICAgICAgICAgICBzY2FsZSA9IHBhZ2VIZWlnaHRTY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ2F1dG8nOiB7XG4gICAgICAgICAgICAgICAgICAgIHNjYWxlID0gdGhpcy5hdXRvU2NhbGluZyhwYWdlSGVpZ2h0U2NhbGUsIHBhZ2VXaWR0aFNjYWxlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRTY2FsZVVwZGF0ZVBhZ2VzKHNjYWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXV0b1NjYWxpbmcocGFnZUhlaWdodFNjYWxlOiBudW1iZXIsIHBhZ2VXaWR0aFNjYWxlOiBudW1iZXIpIHtcbiAgICAgICAgbGV0IGhvcml6b250YWxTY2FsZTogbnVtYmVyO1xuICAgICAgICBpZiAodGhpcy5pc0xhbmRzY2FwZSkge1xuICAgICAgICAgICAgaG9yaXpvbnRhbFNjYWxlID0gTWF0aC5taW4ocGFnZUhlaWdodFNjYWxlLCBwYWdlV2lkdGhTY2FsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3Jpem9udGFsU2NhbGUgPSBwYWdlV2lkdGhTY2FsZTtcbiAgICAgICAgfVxuICAgICAgICBob3Jpem9udGFsU2NhbGUgPSBNYXRoLnJvdW5kKGhvcml6b250YWxTY2FsZSk7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gTWF0aC5taW4odGhpcy5NQVhfQVVUT19TQ0FMRSwgaG9yaXpvbnRhbFNjYWxlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQYWdlRml0SW5Db250YWluZXIoc2NhbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWFpbkNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLnJhbmRvbVBkZklkfS12aWV3ZXItbWFpbi1jb250YWluZXJgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERvY3VtZW50Q29udGFpbmVyKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMucmFuZG9tUGRmSWR9LXZpZXdlci1wZGYtdmlld2VyYCkgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3ZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5yYW5kb21QZGZJZH0tdmlld2VyLXZpZXdlclBkZmApO1xuICAgIH1cblxuICAgIGNoZWNrUGFnZUZpdEluQ29udGFpbmVyKHNjYWxlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkb2N1bWVudENvbnRhaW5lclNpemUgPSB0aGlzLmdldERvY3VtZW50Q29udGFpbmVyKCk7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBkZlZpZXdlci5fcGFnZXNbdGhpcy5wZGZWaWV3ZXIuX2N1cnJlbnRQYWdlTnVtYmVyIC0gMV07XG5cbiAgICAgICAgaWYgKHBhZ2Uud2lkdGggPiBkb2N1bWVudENvbnRhaW5lclNpemUuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHNjYWxlID0gTWF0aC5mcm91bmQoKGRvY3VtZW50Q29udGFpbmVyU2l6ZS5jbGllbnRXaWR0aCAtIDIwKSAvIHBhZ2Uud2lkdGgpO1xuICAgICAgICAgICAgaWYgKHNjYWxlIDwgdGhpcy5NSU5fU0NBTEUpIHtcbiAgICAgICAgICAgICAgICBzY2FsZSA9IHRoaXMuTUlOX1NDQUxFO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNjYWxlO1xuICAgIH1cblxuICAgIHNldERvY3VtZW50T3ZlcmZsb3coKSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50Q29udGFpbmVyU2l6ZSA9IHRoaXMuZ2V0RG9jdW1lbnRDb250YWluZXIoKTtcbiAgICAgICAgY29uc3QgcGFnZSA9IHRoaXMucGRmVmlld2VyLl9wYWdlc1t0aGlzLnBkZlZpZXdlci5fY3VycmVudFBhZ2VOdW1iZXIgLSAxXTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50T3ZlcmZsb3cgPSBwYWdlLndpZHRoID4gZG9jdW1lbnRDb250YWluZXJTaXplLmNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBhbGwgdGhlIHBhZ2VzIHdpdGggdGhlIG5ld1NjYWxlIHNjYWxlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3U2NhbGUgLSBuZXcgc2NhbGUgcGFnZVxuICAgICAqL1xuICAgIHNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGU6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1NhbWVTY2FsZSh0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSwgbmV3U2NhbGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSBuZXdTY2FsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIudXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXREb2N1bWVudE92ZXJmbG93KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIHJlcXVlc3Qgc2NhbGUgb2YgdGhlIHBhZ2UgaXMgdGhlIHNhbWUgZm9yIGF2b2lkIHVzZWxlc3MgcmUtcmVuZGVyaW5nXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2xkU2NhbGUgLSBvbGQgc2NhbGUgcGFnZVxuICAgICAqIEBwYXJhbSBuZXdTY2FsZSAtIG5ldyBzY2FsZSBwYWdlXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzY2FsZSBpcyB0aGUgc2FtZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1NhbWVTY2FsZShvbGRTY2FsZTogbnVtYmVyLCBuZXdTY2FsZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBuZXdTY2FsZSA9PT0gb2xkU2NhbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgaXMgYSBsYW5kIHNjYXBlIHZpZXdcbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWR0aCB0YXJnZXQgd2lkdGhcbiAgICAgKiBAcGFyYW0gaGVpZ2h0IHRhcmdldCBoZWlnaHRcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhcmdldCBpcyBpbiB0aGUgbGFuZHNjYXBlIG1vZGUsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNMYW5kc2NhcGUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID4gaGVpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0cmlnZ2VyZWQgd2hlbiB0aGUgcGFnZSBpcyByZXNpemVkXG4gICAgICovXG4gICAgb25SZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc2NhbGVQYWdlKHRoaXMuY3VycmVudFNjYWxlTW9kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9nZ2xlIHRoZSBmaXQgcGFnZSBwZGZcbiAgICAgKi9cbiAgICBwYWdlRml0KCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50U2NhbGVNb2RlICE9PSAncGFnZS1maXQnKSB7XG4gICAgICAgICAgICB0aGlzLnNjYWxlUGFnZSgncGFnZS1maXQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2NhbGVQYWdlKCdhdXRvJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB6b29tIGluIHBhZ2UgcGRmXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGlja3MgbnVtYmVyIG9mIHRpY2tzIHRvIHpvb21cbiAgICAgKi9cbiAgICB6b29tSW4odGlja3M/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld1NjYWxlOiBhbnkgPSB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgbmV3U2NhbGUgPSAobmV3U2NhbGUgKiB0aGlzLkRFRkFVTFRfU0NBTEVfREVMVEEpLnRvRml4ZWQoMik7XG4gICAgICAgICAgICBuZXdTY2FsZSA9IE1hdGguY2VpbChuZXdTY2FsZSAqIDEwKSAvIDEwO1xuICAgICAgICAgICAgbmV3U2NhbGUgPSBNYXRoLm1pbih0aGlzLk1BWF9TQ0FMRSwgbmV3U2NhbGUpO1xuICAgICAgICB9IHdoaWxlICgtLXRpY2tzID4gMCAmJiBuZXdTY2FsZSA8IHRoaXMuTUFYX1NDQUxFKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLnNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHpvb20gb3V0IHBhZ2UgcGRmXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGlja3MgbnVtYmVyIG9mIHRpY2tzIHRvIHNjYWxlXG4gICAgICovXG4gICAgem9vbU91dCh0aWNrcz86IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgbmV3U2NhbGU6IGFueSA9IHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBuZXdTY2FsZSA9IChuZXdTY2FsZSAvIHRoaXMuREVGQVVMVF9TQ0FMRV9ERUxUQSkudG9GaXhlZCgyKTtcbiAgICAgICAgICAgIG5ld1NjYWxlID0gTWF0aC5mbG9vcihuZXdTY2FsZSAqIDEwKSAvIDEwO1xuICAgICAgICAgICAgbmV3U2NhbGUgPSBNYXRoLm1heCh0aGlzLk1JTl9TQ0FMRSwgbmV3U2NhbGUpO1xuICAgICAgICB9IHdoaWxlICgtLXRpY2tzID4gMCAmJiBuZXdTY2FsZSA+IHRoaXMuTUlOX1NDQUxFKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLnNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgdGhlIHByZXZpb3VzIHBhZ2VcbiAgICAgKi9cbiAgICBwcmV2aW91c1BhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBkZlZpZXdlciAmJiB0aGlzLnBhZ2UgPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UtLTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVBhZ2UgPSB0aGlzLnBhZ2U7XG5cbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5wYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZCB0aGUgbmV4dCBwYWdlXG4gICAgICovXG4gICAgbmV4dFBhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBkZlZpZXdlciAmJiB0aGlzLnBhZ2UgPCB0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSsrO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcblxuICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXIgPSB0aGlzLnBhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBsb2FkIHRoZSBwYWdlIGluIGlucHV0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFnZSB0byBsb2FkXG4gICAgICovXG4gICAgaW5wdXRQYWdlKHBhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBwYWdlSW5wdXQgPSBwYXJzZUludChwYWdlLCAxMCk7XG5cbiAgICAgICAgaWYgKCFpc05hTihwYWdlSW5wdXQpICYmIHBhZ2VJbnB1dCA+IDAgJiYgcGFnZUlucHV0IDw9IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgICAgICAgdGhpcy5wYWdlID0gcGFnZUlucHV0O1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5wYWdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZ2UgQ2hhbmdlIEV2ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRcbiAgICAgKi9cbiAgICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnQuc291cmNlICYmIGV2ZW50LnNvdXJjZS5jb250YWluZXIuaWQgPT09IGAke3RoaXMucmFuZG9tUGRmSWR9LXZpZXdlci1wZGYtdmlld2VyYCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlID0gZXZlbnQucGFnZU51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVBhZ2UgPSBldmVudC5wYWdlTnVtYmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25QZGZQYXNzd29yZChjYWxsYmFjaywgcmVhc29uKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nXG4gICAgICAgICAgICAub3BlbihQZGZQYXNzd29yZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgcmVhc29uIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocGFzc3dvcmQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2socGFzc3dvcmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZ2UgUmVuZGVyZWQgRXZlbnRcbiAgICAgKi9cbiAgICBvblBhZ2VSZW5kZXJlZCgpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFnZXMgTG9hZGVkIEV2ZW50XG4gICAgICpcbiAgICAgKi9cbiAgICBvblBhZ2VzTG9hZGVkKCkge1xuICAgICAgICB0aGlzLnBhZ2VzTG9hZGVkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5pc1BhbmVsRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBLZXlib2FyZCBFdmVudCBMaXN0ZW5lclxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IEtleWJvYXJkRXZlbnRcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleUNvZGU7XG4gICAgICAgIGlmIChrZXkgPT09IDM5KSB7XG4gICAgICAgICAgICAvLyByaWdodCBhcnJvd1xuICAgICAgICAgICAgdGhpcy5uZXh0UGFnZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gMzcpIHtcbiAgICAgICAgICAgIC8vIGxlZnQgYXJyb3dcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNQYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX2NvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VGh1bWJuYWlsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX3RodW1ibmFpbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdGh1bWJuYWlscy10ZW1wbGF0ZV9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi10aHVtYm5haWxzLXRlbXBsYXRlX19idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtdGh1bWJuYWlscy1jbG9zZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVGh1bWJuYWlscygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFSSUEuVEhVTUJOQUlMU19QQU5MRUxfQ0xPU0UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHVtYm5haWxzVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRodW1ibmFpbHNUZW1wbGF0ZTtjb250ZXh0OnBkZlRodW1ibmFpbHNDb250ZXh0XCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8YWRmLXBkZi10aHVtYm5haWxzICpuZ0lmPVwiIXRodW1ibmFpbHNUZW1wbGF0ZSAmJiAhaXNQYW5lbERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSk9XCJ0b2dnbGVUaHVtYm5haWxzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZlZpZXdlcl09XCJwZGZWaWV3ZXJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1wZGYtdmlld2VyX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgW2lkXT1cInJhbmRvbVBkZklkICsgJy12aWV3ZXItcGRmLXZpZXdlcidcIlxuICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXZpZXdlci1wZGYtdmlld2VyXCJcbiAgICAgICAgICAgICAod2luZG93OnJlc2l6ZSk9XCJvblJlc2l6ZSgpXCI+XG4gICAgICAgICAgICA8ZGl2IFtpZF09XCJyYW5kb21QZGZJZCArICctdmlld2VyLXZpZXdlclBkZidcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wZGZWaWV3ZXJcIlxuICAgICAgICAgICAgICAgICByb2xlPVwiZG9jdW1lbnRcIlxuICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJsb2FkZXItY29udGFpbmVyXCIgY2xhc3M9XCJhZGYtbG9hZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvYWRlci1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBjbGFzcz1cImFkZi1sb2FkZXItaXRlbS1wcm9ncmVzcy1iYXJcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJhZGYtcGRmLXZpZXdlcl9fdG9vbGJhclwiICpuZ0lmPVwic2hvd1Rvb2xiYXJcIiBbbmdTdHlsZV09XCJkb2N1bWVudE92ZXJmbG93ICYmIHtib3R0b206ICcyNXB4J31cIj5cbiAgICA8YWRmLXRvb2xiYXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93VGh1bWJuYWlsc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BUklBLlRIVU1CTkFJTFMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzaG93VGh1bWJuYWlsc1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10aHVtYm5haWxzLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1BhbmVsRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVGh1bWJuYWlscygpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRhc2hib2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxhZGYtdG9vbGJhci1kaXZpZGVyIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItcHJldmlvdXMtcGFnZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5QUkVWSU9VU19QQUdFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5QUkVWSU9VU19QQUdFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfdXA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uIGlkPVwidmlld2VyLW5leHQtcGFnZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5ORVhUX1BBR0UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyAnQURGX1ZJRVdFUi5BUklBLk5FWFRfUEFHRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcGRmLXZpZXdlcl9fdG9vbGJhci1wYWdlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZS1zZWxlY3RvclwiPnt7ICdBREZfVklFV0VSLlBBR0VfTEFCRUwuU0hPV0lORycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0ICNwYWdlXG4gICAgICAgICAgICAgICAgICAgaWQ9XCJwYWdlLXNlbGVjdG9yXCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXBhZ2Utc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgIHBhdHRlcm49XCItP1swLTldKihcXC5bMC05XSspP1wiXG4gICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBkaXNwbGF5UGFnZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5QQUdFX0xBQkVMLlBBR0VfU0VMRUNUT1JfTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaW5wdXRQYWdlKHBhZ2UudmFsdWUpXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyAnQURGX1ZJRVdFUi5QQUdFX0xBQkVMLk9GJyB8IHRyYW5zbGF0ZSB9fSB7eyB0b3RhbFBhZ2VzIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX3Rvb2xiYXItcGFnZS1zY2FsZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1wYWdlLXNjYWxlXCI+XG4gICAgICAgICAgICB7eyBjdXJyZW50U2NhbGVUZXh0IH19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItem9vbS1pbi1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5aT09NX0lOJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5aT09NX0lOJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInpvb21JbigpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+em9vbV9pbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItem9vbS1vdXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFSSUEuWk9PTV9PVVQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyAnQURGX1ZJRVdFUi5BUklBLlpPT01fT1VUJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInpvb21PdXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnpvb21fb3V0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInZpZXdlci1zY2FsZS1wYWdlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtcHJlc3NlZD1cInRydWVcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5GSVRfUEFHRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7ICdBREZfVklFV0VSLkFSSUEuRklUX1BBR0UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGFnZUZpdCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+em9vbV9vdXRfbWFwPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICA8L2FkZi10b29sYmFyPlxuPC9kaXY+XG4iXX0=
|
|
546
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx5REFBeUQ7QUFDekQseUNBQXlDO0FBQ3pDLHFEQUFxRDtBQUVyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFB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O3NCQURqQixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsS0FBSztzQkFESixNQUFNO2dCQUlQLEtBQUs7c0JBREosTUFBTTtnQkFJUCxXQUFXO3NCQURWLE1BQU07Z0JBcWdCUCxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZXJzY29yZS1kYW5nbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlICovXG5cbmltcG9ydCB7IE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBUb29sYmFyQ29tcG9uZW50LCBUb29sYmFyRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXInO1xuaW1wb3J0IHsgUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlbmRlcmluZy1xdWV1ZS5zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQZGZQYXNzd29yZERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nJztcbmltcG9ydCB7IFBkZlRodW1iTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3BkZi12aWV3ZXItdGh1bWJuYWlscy9wZGYtdmlld2VyLXRodW1ibmFpbHMuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIHBkZmpzTGliIGZyb20gJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLm1pbi5tanMnO1xuaW1wb3J0IHsgRXZlbnRCdXMsIFBERlZpZXdlciB9IGZyb20gJ3BkZmpzLWRpc3Qvd2ViL3BkZl92aWV3ZXIubWpzJztcbmltcG9ydCB7IE9uUHJvZ3Jlc3NQYXJhbWV0ZXJzLCBQREZEb2N1bWVudExvYWRpbmdUYXNrLCBQREZEb2N1bWVudFByb3h5IH0gZnJvbSAncGRmanMtZGlzdC90eXBlcy9zcmMvZGlzcGxheS9hcGknO1xuXG5leHBvcnQgdHlwZSBQZGZTY2FsZU1vZGUgPSAnaW5pdCcgfCAncGFnZS1hY3R1YWwnIHwgJ3BhZ2Utd2lkdGgnIHwgJ3BhZ2UtaGVpZ2h0JyB8ICdwYWdlLWZpdCcgfCAnYXV0byc7XG5cbmV4cG9ydCBjb25zdCBQREZKU19NT0RVTEUgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BERkpTX01PRFVMRScsIHsgZmFjdG9yeTogKCkgPT4gcGRmanNMaWIgfSk7XG5leHBvcnQgY29uc3QgUERGSlNfVklFV0VSX01PRFVMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbignUERGSlNfVklFV0VSX01PRFVMRScsIHsgZmFjdG9yeTogKCkgPT4gUERGVmlld2VyIH0pO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1wZGYtdmlld2VyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZGYtdmlld2VyLWhvc3QuY29tcG9uZW50LnNjc3MnLCAnLi9wZGYtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUmVuZGVyaW5nUXVldWVTZXJ2aWNlc10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1wZGYtdmlld2VyJyB9LFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFBkZlRodW1iTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJEaXZpZGVyQ29tcG9uZW50XG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHVybEZpbGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgYmxvYkZpbGU6IEJsb2I7XG5cbiAgICBASW5wdXQoKVxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNob3dUb29sYmFyOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dUaHVtYm5haWxzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRodW1ibmFpbHNUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGNhY2hlVHlwZTogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZW5kZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwYWdlc0xvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBkaXNwbGF5UGFnZTogbnVtYmVyO1xuICAgIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgICBsb2FkaW5nUGVyY2VudDogbnVtYmVyO1xuICAgIHBkZlZpZXdlcjogYW55O1xuICAgIHBkZkpzV29ya2VyVXJsOiBzdHJpbmc7XG4gICAgcGRmSnNXb3JrZXJJbnN0YW5jZTogV29ya2VyO1xuICAgIGN1cnJlbnRTY2FsZU1vZGU6IFBkZlNjYWxlTW9kZSA9ICdpbml0JztcblxuICAgIE1BWF9BVVRPX1NDQUxFOiBudW1iZXIgPSAxLjI1O1xuICAgIERFRkFVTFRfU0NBTEVfREVMVEE6IG51bWJlciA9IDEuMTtcbiAgICBNSU5fU0NBTEU6IG51bWJlciA9IDAuMjU7XG4gICAgTUFYX1NDQUxFOiBudW1iZXIgPSAxMC4wO1xuXG4gICAgbG9hZGluZ1Rhc2s6IFBERkRvY3VtZW50TG9hZGluZ1Rhc2s7XG4gICAgaXNQYW5lbERpc2FibGVkID0gdHJ1ZTtcbiAgICBzaG93VGh1bWJuYWlsczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHBkZlRodW1ibmFpbHNDb250ZXh0OiB7IHZpZXdlcjogYW55IH0gPSB7IHZpZXdlcjogbnVsbCB9O1xuICAgIHJhbmRvbVBkZklkOiBzdHJpbmc7XG4gICAgZG9jdW1lbnRPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgZ2V0IGN1cnJlbnRTY2FsZVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGRmVmlld2VyPy5jdXJyZW50U2NhbGVWYWx1ZSA/IE1hdGgucm91bmQodGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgKiAxMDApICsgJyUnIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwZGZqc0xpYiA9IGluamVjdChQREZKU19NT0RVTEUpO1xuICAgIHByaXZhdGUgcGRmanNWaWV3ZXIgPSBpbmplY3QoUERGSlNfVklFV0VSX01PRFVMRSk7XG5cbiAgICBwcml2YXRlIGV2ZW50QnVzID0gbmV3IEV2ZW50QnVzKCk7XG4gICAgcHJpdmF0ZSBwZGZqc0RlZmF1bHRPcHRpb25zID0ge1xuICAgICAgICBkaXNhYmxlQXV0b0ZldGNoOiB0cnVlLFxuICAgICAgICBkaXNhYmxlU3RyZWFtOiB0cnVlLFxuICAgICAgICBjTWFwVXJsOiAnLi9jbWFwcy8nLFxuICAgICAgICBjTWFwUGFja2VkOiB0cnVlXG4gICAgfTtcbiAgICBwcml2YXRlIHBkZmpzV29ya2VyRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgICBwcml2YXRlIHJlbmRlcmluZ1F1ZXVlU2VydmljZXMgPSBpbmplY3QoUmVuZGVyaW5nUXVldWVTZXJ2aWNlcyk7XG4gICAgcHJpdmF0ZSBhcHBDb25maWdTZXJ2aWNlID0gaW5qZWN0KEFwcENvbmZpZ1NlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIG5lZWRlZCB0byBwcmVzZXJ2ZSBcInRoaXNcIiBjb250ZXh0XG4gICAgICAgIHRoaXMub25QYWdlQ2hhbmdlID0gdGhpcy5vblBhZ2VDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vblBhZ2VzTG9hZGVkID0gdGhpcy5vblBhZ2VzTG9hZGVkLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQgPSB0aGlzLm9uUGFnZVJlbmRlcmVkLmJpbmQodGhpcyk7XG5cbiAgICAgICAgdGhpcy5yYW5kb21QZGZJZCA9IERhdGUubm93KCkudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5wZGZqc1dvcmtlckRlc3Ryb3kkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG51bGwpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBmcm9tKHRoaXMuZGVzdHJveVBmZEpzV29ya2VyKCkpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG4gICAgfVxuXG4gICAgZ2V0VXNlclNjYWxpbmcoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHNjYWxlQ29uZmlnID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxudW1iZXI+KCdhZGYtdmlld2VyLnBkZi12aWV3ZXItc2NhbGluZycsIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgaWYgKHNjYWxlQ29uZmlnKSB7XG4gICAgICAgICAgICBzY2FsZUNvbmZpZyA9IHNjYWxlQ29uZmlnIC8gMTAwO1xuICAgICAgICAgICAgc2NhbGVDb25maWcgPSB0aGlzLmNoZWNrTGltaXRzKHNjYWxlQ29uZmlnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzY2FsZUNvbmZpZztcbiAgICB9XG5cbiAgICBjaGVja0xpbWl0cyhzY2FsZUNvbmZpZzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHNjYWxlQ29uZmlnID4gdGhpcy5NQVhfU0NBTEUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLk1BWF9TQ0FMRTtcbiAgICAgICAgfSBlbHNlIGlmIChzY2FsZUNvbmZpZyA8IHRoaXMuTUlOX1NDQUxFKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5NSU5fU0NBTEU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gc2NhbGVDb25maWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IGJsb2JGaWxlID0gY2hhbmdlc1snYmxvYkZpbGUnXTtcblxuICAgICAgICBpZiAoYmxvYkZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGRmT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wZGZqc0RlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZWFkZXIucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuYXBwQ29uZmlnU2VydmljZS5nZXQ8Ym9vbGVhbj4oJ2F1dGgud2l0aENyZWRlbnRpYWxzJywgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgaXNFdmFsU3VwcG9ydGVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlUGRmKHBkZk9wdGlvbnMpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iRmlsZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXJsRmlsZSA9IGNoYW5nZXNbJ3VybEZpbGUnXTtcbiAgICAgICAgaWYgKHVybEZpbGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgcGRmT3B0aW9uczogYW55ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMucGRmanNEZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICB1cmw6IHVybEZpbGUuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldDxib29sZWFuPignYXV0aC53aXRoQ3JlZGVudGlhbHMnLCB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgIGlzRXZhbFN1cHBvcnRlZDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodGhpcy5jYWNoZVR5cGUpIHtcbiAgICAgICAgICAgICAgICBwZGZPcHRpb25zLmh0dHBIZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCc6IHRoaXMuY2FjaGVUeXBlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZVBkZihwZGZPcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy51cmxGaWxlICYmICF0aGlzLmJsb2JGaWxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0dHJpYnV0ZSB1cmxGaWxlIG9yIGJsb2JGaWxlIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBleGVjdXRlUGRmKHBkZk9wdGlvbnM6IGFueSkge1xuICAgICAgICB0aGlzLnNldHVwUGRmSnNXb3JrZXIoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1Rhc2sgPSB0aGlzLnBkZmpzTGliLmdldERvY3VtZW50KHBkZk9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdUYXNrLm9uUGFzc3dvcmQgPSAoY2FsbGJhY2ssIHJlYXNvbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QZGZQYXNzd29yZChjYWxsYmFjaywgcmVhc29uKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1Rhc2sub25Qcm9ncmVzcyA9IChwcm9ncmVzc0RhdGE6IE9uUHJvZ3Jlc3NQYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGV2ZWwgPSBwcm9ncmVzc0RhdGEubG9hZGVkIC8gcHJvZ3Jlc3NEYXRhLnRvdGFsO1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1BlcmNlbnQgPSBNYXRoLnJvdW5kKGxldmVsICogMTAwKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuaXNQYW5lbERpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nVGFzay5wcm9taXNlXG4gICAgICAgICAgICAgICAgLnRoZW4oKHBkZkRvY3VtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxQYWdlcyA9IHBkZkRvY3VtZW50Lm51bVBhZ2VzO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlQYWdlID0gMTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0UERGVmlld2VyKHBkZkRvY3VtZW50KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGRmRG9jdW1lbnQuZ2V0UGFnZSgxKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuc2NhbGVQYWdlKCdpbml0JykpXG4gICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMuZXJyb3IuZW1pdCgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzZXR1cFBkZkpzV29ya2VyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5wZGZKc1dvcmtlckluc3RhbmNlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRlc3Ryb3lQZmRKc1dvcmtlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnBkZkpzV29ya2VyVXJsKSB7XG4gICAgICAgICAgICB0aGlzLnBkZkpzV29ya2VyVXJsID0gYXdhaXQgdGhpcy5nZXRQZGZKc1dvcmtlcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGRmSnNXb3JrZXJJbnN0YW5jZSA9IG5ldyBXb3JrZXIodGhpcy5wZGZKc1dvcmtlclVybCwgeyB0eXBlOiAnbW9kdWxlJyB9KTtcbiAgICAgICAgdGhpcy5wZGZqc0xpYi5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclBvcnQgPSB0aGlzLnBkZkpzV29ya2VySW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRQZGZKc1dvcmtlcigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCcuL3BkZi53b3JrZXIubWluLm1qcycpO1xuICAgICAgICBjb25zdCB3b3JrZXJTY3JpcHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbd29ya2VyU2NyaXB0XSwgeyB0eXBlOiAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcgfSk7XG4gICAgICAgIHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIH1cblxuICAgIGluaXRQREZWaWV3ZXIocGRmRG9jdW1lbnQ6IFBERkRvY3VtZW50UHJveHkpIHtcbiAgICAgICAgY29uc3Qgdmlld2VyOiBhbnkgPSB0aGlzLmdldFZpZXdlcigpO1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmdldERvY3VtZW50Q29udGFpbmVyKCk7XG5cbiAgICAgICAgaWYgKHZpZXdlciAmJiBjb250YWluZXIpIHtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyID0gbmV3IHRoaXMucGRmanNWaWV3ZXIoe1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICB2aWV3ZXIsXG4gICAgICAgICAgICAgICAgcmVuZGVyaW5nUXVldWU6IHRoaXMucmVuZGVyaW5nUXVldWVTZXJ2aWNlcyxcbiAgICAgICAgICAgICAgICBldmVudEJ1czogdGhpcy5ldmVudEJ1cyxcbiAgICAgICAgICAgICAgICBhbm5vdGF0aW9uTW9kZTogMFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0XG4gICAgICAgICAgICB0aGlzLmV2ZW50QnVzLm9uKCdwYWdlY2hhbmdpbmcnLCB0aGlzLm9uUGFnZUNoYW5nZSk7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vbigncGFnZXNsb2FkZWQnLCB0aGlzLm9uUGFnZXNMb2FkZWQpO1xuICAgICAgICAgICAgLy8gY3NwZWxsOiBkaXNhYmxlLW5leHRcbiAgICAgICAgICAgIHRoaXMuZXZlbnRCdXMub24oJ3RleHRsYXllcnJlbmRlcmVkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vbigncGFnZXJlbmRlcmVkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25QYWdlUmVuZGVyZWQoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmluZ1F1ZXVlU2VydmljZXMuc2V0Vmlld2VyKHRoaXMucGRmVmlld2VyKTtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLnNldERvY3VtZW50KHBkZkRvY3VtZW50KTtcbiAgICAgICAgICAgIHRoaXMucGRmVGh1bWJuYWlsc0NvbnRleHQudmlld2VyID0gdGhpcy5wZGZWaWV3ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGRmVmlld2VyKSB7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vZmYoJ3BhZ2VjaGFuZ2luZycsICgpID0+IHt9KTtcbiAgICAgICAgICAgIC8vIGNzcGVsbDogZGlzYWJsZS1uZXh0XG4gICAgICAgICAgICB0aGlzLmV2ZW50QnVzLm9mZigncGFnZXNsb2FkZWQnLCAoKSA9PiB7fSk7XG4gICAgICAgICAgICAvLyBjc3BlbGw6IGRpc2FibGUtbmV4dFxuICAgICAgICAgICAgdGhpcy5ldmVudEJ1cy5vZmYoJ3RleHRsYXllcnJlbmRlcmVkJywgKCkgPT4ge30pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9hZGluZ1Rhc2spIHtcbiAgICAgICAgICAgIHRoaXMucGRmanNXb3JrZXJEZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGRmanNXb3JrZXJEZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnJldm9rZVBkZkpzV29ya2VyVXJsKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBkZXN0cm95UGZkSnNXb3JrZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmdUYXNrLmRlc3Ryb3kpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZGluZ1Rhc2suZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnBkZkpzV29ya2VySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMucGRmSnNXb3JrZXJJbnN0YW5jZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmdUYXNrID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJldm9rZVBkZkpzV29ya2VyVXJsKCk6IHZvaWQge1xuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMucGRmSnNXb3JrZXJVcmwpO1xuICAgIH1cblxuICAgIHRvZ2dsZVRodW1ibmFpbHMoKSB7XG4gICAgICAgIHRoaXMuc2hvd1RodW1ibmFpbHMgPSAhdGhpcy5zaG93VGh1bWJuYWlscztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgdG8gc2NhbGUgdGhlIHBhZ2UgY3VycmVudCBzdXBwb3J0IGltcGxlbWVudGF0aW9uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2NhbGVNb2RlIC0gbmV3IHNjYWxlIG1vZGVcbiAgICAgKi9cbiAgICBzY2FsZVBhZ2Uoc2NhbGVNb2RlOiBQZGZTY2FsZU1vZGUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gc2NhbGVNb2RlO1xuXG4gICAgICAgIGNvbnN0IHZpZXdlckNvbnRhaW5lciA9IHRoaXMuZ2V0TWFpbkNvbnRhaW5lcigpO1xuICAgICAgICBjb25zdCBkb2N1bWVudENvbnRhaW5lciA9IHRoaXMuZ2V0RG9jdW1lbnRDb250YWluZXIoKTtcblxuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIgJiYgZG9jdW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGxldCB3aWR0aENvbnRhaW5lcjogbnVtYmVyO1xuICAgICAgICAgICAgbGV0IGhlaWdodENvbnRhaW5lcjogbnVtYmVyO1xuXG4gICAgICAgICAgICBpZiAodmlld2VyQ29udGFpbmVyICYmIHZpZXdlckNvbnRhaW5lci5jbGllbnRXaWR0aCA8PSBkb2N1bWVudENvbnRhaW5lci5jbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHdpZHRoQ29udGFpbmVyID0gdmlld2VyQ29udGFpbmVyLmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgIGhlaWdodENvbnRhaW5lciA9IHZpZXdlckNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoQ29udGFpbmVyID0gZG9jdW1lbnRDb250YWluZXIuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0Q29udGFpbmVyID0gZG9jdW1lbnRDb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50UGFnZSA9IHRoaXMucGRmVmlld2VyLl9wYWdlc1t0aGlzLnBkZlZpZXdlci5fY3VycmVudFBhZ2VOdW1iZXIgLSAxXTtcblxuICAgICAgICAgICAgY29uc3QgcGFkZGluZyA9IDIwO1xuICAgICAgICAgICAgY29uc3QgcGFnZVdpZHRoU2NhbGUgPSAoKHdpZHRoQ29udGFpbmVyIC0gcGFkZGluZykgLyBjdXJyZW50UGFnZS53aWR0aCkgKiBjdXJyZW50UGFnZS5zY2FsZTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VIZWlnaHRTY2FsZSA9ICgoaGVpZ2h0Q29udGFpbmVyIC0gcGFkZGluZykgLyBjdXJyZW50UGFnZS53aWR0aCkgKiBjdXJyZW50UGFnZS5zY2FsZTtcblxuICAgICAgICAgICAgbGV0IHNjYWxlOiBudW1iZXI7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuY3VycmVudFNjYWxlTW9kZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2luaXQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UtZml0Jzoge1xuICAgICAgICAgICAgICAgICAgICBzY2FsZSA9IHRoaXMuZ2V0VXNlclNjYWxpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzY2FsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSB0aGlzLmF1dG9TY2FsaW5nKHBhZ2VIZWlnaHRTY2FsZSwgcGFnZVdpZHRoU2NhbGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdwYWdlLWFjdHVhbCc6IHtcbiAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSAxO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAncGFnZS13aWR0aCc6IHtcbiAgICAgICAgICAgICAgICAgICAgc2NhbGUgPSBwYWdlV2lkdGhTY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2UtaGVpZ2h0Jzoge1xuICAgICAgICAgICAgICAgICAgICBzY2FsZSA9IHBhZ2VIZWlnaHRTY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ2F1dG8nOiB7XG4gICAgICAgICAgICAgICAgICAgIHNjYWxlID0gdGhpcy5hdXRvU2NhbGluZyhwYWdlSGVpZ2h0U2NhbGUsIHBhZ2VXaWR0aFNjYWxlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5zZXRTY2FsZVVwZGF0ZVBhZ2VzKHNjYWxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXV0b1NjYWxpbmcocGFnZUhlaWdodFNjYWxlOiBudW1iZXIsIHBhZ2VXaWR0aFNjYWxlOiBudW1iZXIpIHtcbiAgICAgICAgbGV0IGhvcml6b250YWxTY2FsZTogbnVtYmVyO1xuICAgICAgICBpZiAodGhpcy5pc0xhbmRzY2FwZSkge1xuICAgICAgICAgICAgaG9yaXpvbnRhbFNjYWxlID0gTWF0aC5taW4ocGFnZUhlaWdodFNjYWxlLCBwYWdlV2lkdGhTY2FsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBob3Jpem9udGFsU2NhbGUgPSBwYWdlV2lkdGhTY2FsZTtcbiAgICAgICAgfVxuICAgICAgICBob3Jpem9udGFsU2NhbGUgPSBNYXRoLnJvdW5kKGhvcml6b250YWxTY2FsZSk7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gTWF0aC5taW4odGhpcy5NQVhfQVVUT19TQ0FMRSwgaG9yaXpvbnRhbFNjYWxlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQYWdlRml0SW5Db250YWluZXIoc2NhbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWFpbkNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLnJhbmRvbVBkZklkfS12aWV3ZXItbWFpbi1jb250YWluZXJgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERvY3VtZW50Q29udGFpbmVyKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMucmFuZG9tUGRmSWR9LXZpZXdlci1wZGYtdmlld2VyYCkgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWaWV3ZXIoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5yYW5kb21QZGZJZH0tdmlld2VyLXZpZXdlclBkZmApO1xuICAgIH1cblxuICAgIGNoZWNrUGFnZUZpdEluQ29udGFpbmVyKHNjYWxlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkb2N1bWVudENvbnRhaW5lclNpemUgPSB0aGlzLmdldERvY3VtZW50Q29udGFpbmVyKCk7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnBkZlZpZXdlci5fcGFnZXNbdGhpcy5wZGZWaWV3ZXIuX2N1cnJlbnRQYWdlTnVtYmVyIC0gMV07XG5cbiAgICAgICAgaWYgKHBhZ2Uud2lkdGggPiBkb2N1bWVudENvbnRhaW5lclNpemUuY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHNjYWxlID0gTWF0aC5mcm91bmQoKGRvY3VtZW50Q29udGFpbmVyU2l6ZS5jbGllbnRXaWR0aCAtIDIwKSAvIHBhZ2Uud2lkdGgpO1xuICAgICAgICAgICAgaWYgKHNjYWxlIDwgdGhpcy5NSU5fU0NBTEUpIHtcbiAgICAgICAgICAgICAgICBzY2FsZSA9IHRoaXMuTUlOX1NDQUxFO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNjYWxlO1xuICAgIH1cblxuICAgIHNldERvY3VtZW50T3ZlcmZsb3coKSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50Q29udGFpbmVyU2l6ZSA9IHRoaXMuZ2V0RG9jdW1lbnRDb250YWluZXIoKTtcbiAgICAgICAgY29uc3QgcGFnZSA9IHRoaXMucGRmVmlld2VyLl9wYWdlc1t0aGlzLnBkZlZpZXdlci5fY3VycmVudFBhZ2VOdW1iZXIgLSAxXTtcblxuICAgICAgICB0aGlzLmRvY3VtZW50T3ZlcmZsb3cgPSBwYWdlLndpZHRoID4gZG9jdW1lbnRDb250YWluZXJTaXplLmNsaWVudFdpZHRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSBhbGwgdGhlIHBhZ2VzIHdpdGggdGhlIG5ld1NjYWxlIHNjYWxlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmV3U2NhbGUgLSBuZXcgc2NhbGUgcGFnZVxuICAgICAqL1xuICAgIHNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGU6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5wZGZWaWV3ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1NhbWVTY2FsZSh0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSwgbmV3U2NhbGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSBuZXdTY2FsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIudXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXREb2N1bWVudE92ZXJmbG93KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIHJlcXVlc3Qgc2NhbGUgb2YgdGhlIHBhZ2UgaXMgdGhlIHNhbWUgZm9yIGF2b2lkIHVzZWxlc3MgcmUtcmVuZGVyaW5nXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2xkU2NhbGUgLSBvbGQgc2NhbGUgcGFnZVxuICAgICAqIEBwYXJhbSBuZXdTY2FsZSAtIG5ldyBzY2FsZSBwYWdlXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBzY2FsZSBpcyB0aGUgc2FtZSwgb3RoZXJ3aXNlIGBmYWxzZWBcbiAgICAgKi9cbiAgICBpc1NhbWVTY2FsZShvbGRTY2FsZTogbnVtYmVyLCBuZXdTY2FsZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBuZXdTY2FsZSA9PT0gb2xkU2NhbGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgaXMgYSBsYW5kIHNjYXBlIHZpZXdcbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWR0aCB0YXJnZXQgd2lkdGhcbiAgICAgKiBAcGFyYW0gaGVpZ2h0IHRhcmdldCBoZWlnaHRcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhcmdldCBpcyBpbiB0aGUgbGFuZHNjYXBlIG1vZGUsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNMYW5kc2NhcGUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID4gaGVpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0cmlnZ2VyZWQgd2hlbiB0aGUgcGFnZSBpcyByZXNpemVkXG4gICAgICovXG4gICAgb25SZXNpemUoKSB7XG4gICAgICAgIHRoaXMuc2NhbGVQYWdlKHRoaXMuY3VycmVudFNjYWxlTW9kZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9nZ2xlIHRoZSBmaXQgcGFnZSBwZGZcbiAgICAgKi9cbiAgICBwYWdlRml0KCkge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50U2NhbGVNb2RlICE9PSAncGFnZS1maXQnKSB7XG4gICAgICAgICAgICB0aGlzLnNjYWxlUGFnZSgncGFnZS1maXQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2NhbGVQYWdlKCdhdXRvJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB6b29tIGluIHBhZ2UgcGRmXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGlja3MgbnVtYmVyIG9mIHRpY2tzIHRvIHpvb21cbiAgICAgKi9cbiAgICB6b29tSW4odGlja3M/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld1NjYWxlOiBhbnkgPSB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgICAgbmV3U2NhbGUgPSAobmV3U2NhbGUgKiB0aGlzLkRFRkFVTFRfU0NBTEVfREVMVEEpLnRvRml4ZWQoMik7XG4gICAgICAgICAgICBuZXdTY2FsZSA9IE1hdGguY2VpbChuZXdTY2FsZSAqIDEwKSAvIDEwO1xuICAgICAgICAgICAgbmV3U2NhbGUgPSBNYXRoLm1pbih0aGlzLk1BWF9TQ0FMRSwgbmV3U2NhbGUpO1xuICAgICAgICB9IHdoaWxlICgtLXRpY2tzID4gMCAmJiBuZXdTY2FsZSA8IHRoaXMuTUFYX1NDQUxFKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLnNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHpvb20gb3V0IHBhZ2UgcGRmXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGlja3MgbnVtYmVyIG9mIHRpY2tzIHRvIHNjYWxlXG4gICAgICovXG4gICAgem9vbU91dCh0aWNrcz86IG51bWJlcik6IHZvaWQge1xuICAgICAgICBsZXQgbmV3U2NhbGU6IGFueSA9IHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBuZXdTY2FsZSA9IChuZXdTY2FsZSAvIHRoaXMuREVGQVVMVF9TQ0FMRV9ERUxUQSkudG9GaXhlZCgyKTtcbiAgICAgICAgICAgIG5ld1NjYWxlID0gTWF0aC5mbG9vcihuZXdTY2FsZSAqIDEwKSAvIDEwO1xuICAgICAgICAgICAgbmV3U2NhbGUgPSBNYXRoLm1heCh0aGlzLk1JTl9TQ0FMRSwgbmV3U2NhbGUpO1xuICAgICAgICB9IHdoaWxlICgtLXRpY2tzID4gMCAmJiBuZXdTY2FsZSA+IHRoaXMuTUlOX1NDQUxFKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2NhbGVNb2RlID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLnNldFNjYWxlVXBkYXRlUGFnZXMobmV3U2NhbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgdGhlIHByZXZpb3VzIHBhZ2VcbiAgICAgKi9cbiAgICBwcmV2aW91c1BhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBkZlZpZXdlciAmJiB0aGlzLnBhZ2UgPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2UtLTtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVBhZ2UgPSB0aGlzLnBhZ2U7XG5cbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5wYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZCB0aGUgbmV4dCBwYWdlXG4gICAgICovXG4gICAgbmV4dFBhZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLnBkZlZpZXdlciAmJiB0aGlzLnBhZ2UgPCB0aGlzLnRvdGFsUGFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZSsrO1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcblxuICAgICAgICAgICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXIgPSB0aGlzLnBhZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBsb2FkIHRoZSBwYWdlIGluIGlucHV0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGFnZSB0byBsb2FkXG4gICAgICovXG4gICAgaW5wdXRQYWdlKHBhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBwYWdlSW5wdXQgPSBwYXJzZUludChwYWdlLCAxMCk7XG5cbiAgICAgICAgaWYgKCFpc05hTihwYWdlSW5wdXQpICYmIHBhZ2VJbnB1dCA+IDAgJiYgcGFnZUlucHV0IDw9IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgICAgICAgdGhpcy5wYWdlID0gcGFnZUlucHV0O1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcbiAgICAgICAgICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gdGhpcy5wYWdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UGFnZSA9IHRoaXMucGFnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZ2UgQ2hhbmdlIEV2ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRcbiAgICAgKi9cbiAgICBvblBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnQuc291cmNlICYmIGV2ZW50LnNvdXJjZS5jb250YWluZXIuaWQgPT09IGAke3RoaXMucmFuZG9tUGRmSWR9LXZpZXdlci1wZGYtdmlld2VyYCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlID0gZXZlbnQucGFnZU51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVBhZ2UgPSBldmVudC5wYWdlTnVtYmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25QZGZQYXNzd29yZChjYWxsYmFjaywgcmVhc29uKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nXG4gICAgICAgICAgICAub3BlbihQZGZQYXNzd29yZERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHsgcmVhc29uIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocGFzc3dvcmQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFzc3dvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2socGFzc3dvcmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhZ2UgUmVuZGVyZWQgRXZlbnRcbiAgICAgKi9cbiAgICBvblBhZ2VSZW5kZXJlZCgpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFnZXMgTG9hZGVkIEV2ZW50XG4gICAgICpcbiAgICAgKi9cbiAgICBvblBhZ2VzTG9hZGVkKCkge1xuICAgICAgICB0aGlzLnBhZ2VzTG9hZGVkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5pc1BhbmVsRGlzYWJsZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBLZXlib2FyZCBFdmVudCBMaXN0ZW5lclxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IEtleWJvYXJkRXZlbnRcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleUNvZGU7XG4gICAgICAgIGlmIChrZXkgPT09IDM5KSB7XG4gICAgICAgICAgICAvLyByaWdodCBhcnJvd1xuICAgICAgICAgICAgdGhpcy5uZXh0UGFnZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gMzcpIHtcbiAgICAgICAgICAgIC8vIGxlZnQgYXJyb3dcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNQYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX2NvbnRhaW5lclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VGh1bWJuYWlsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX3RodW1ibmFpbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtdGh1bWJuYWlscy10ZW1wbGF0ZV9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi10aHVtYm5haWxzLXRlbXBsYXRlX19idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtdGh1bWJuYWlscy1jbG9zZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVGh1bWJuYWlscygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBREZfVklFV0VSLkFSSUEuVEhVTUJOQUlMU19QQU5MRUxfQ0xPU0UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHVtYm5haWxzVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRodW1ibmFpbHNUZW1wbGF0ZTtjb250ZXh0OnBkZlRodW1ibmFpbHNDb250ZXh0XCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8YWRmLXBkZi10aHVtYm5haWxzICpuZ0lmPVwiIXRodW1ibmFpbHNUZW1wbGF0ZSAmJiAhaXNQYW5lbERpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSk9XCJ0b2dnbGVUaHVtYm5haWxzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BkZlZpZXdlcl09XCJwZGZWaWV3ZXJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1wZGYtdmlld2VyX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgW2lkXT1cInJhbmRvbVBkZklkICsgJy12aWV3ZXItcGRmLXZpZXdlcidcIlxuICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXZpZXdlci1wZGYtdmlld2VyXCJcbiAgICAgICAgICAgICAod2luZG93OnJlc2l6ZSk9XCJvblJlc2l6ZSgpXCI+XG4gICAgICAgICAgICA8ZGl2IFtpZF09XCJyYW5kb21QZGZJZCArICctdmlld2VyLXZpZXdlclBkZidcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1wZGZWaWV3ZXJcIlxuICAgICAgICAgICAgICAgICByb2xlPVwiZG9jdW1lbnRcIlxuICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJsb2FkZXItY29udGFpbmVyXCIgY2xhc3M9XCJhZGYtbG9hZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvYWRlci1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBjbGFzcz1cImFkZi1sb2FkZXItaXRlbS1wcm9ncmVzcy1iYXJcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJhZGYtcGRmLXZpZXdlcl9fdG9vbGJhclwiICpuZ0lmPVwic2hvd1Rvb2xiYXJcIiBbbmdTdHlsZV09XCJkb2N1bWVudE92ZXJmbG93ICYmIHtib3R0b206ICcyNXB4J31cIj5cbiAgICA8YWRmLXRvb2xiYXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbG93VGh1bWJuYWlsc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5BUklBLlRIVU1CTkFJTFMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzaG93VGh1bWJuYWlsc1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi10aHVtYm5haWxzLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1BhbmVsRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVGh1bWJuYWlscygpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRhc2hib2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxhZGYtdG9vbGJhci1kaXZpZGVyIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItcHJldmlvdXMtcGFnZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5QUkVWSU9VU19QQUdFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5QUkVWSU9VU19QQUdFJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfdXA8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uIGlkPVwidmlld2VyLW5leHQtcGFnZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5ORVhUX1BBR0UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyAnQURGX1ZJRVdFUi5BUklBLk5FWFRfUEFHRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcGRmLXZpZXdlcl9fdG9vbGJhci1wYWdlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwicGFnZS1zZWxlY3RvclwiPnt7ICdBREZfVklFV0VSLlBBR0VfTEFCRUwuU0hPV0lORycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0ICNwYWdlXG4gICAgICAgICAgICAgICAgICAgaWQ9XCJwYWdlLXNlbGVjdG9yXCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXBhZ2Utc2VsZWN0b3JcIlxuICAgICAgICAgICAgICAgICAgIHBhdHRlcm49XCItP1swLTldKihcXC5bMC05XSspP1wiXG4gICAgICAgICAgICAgICAgICAgdmFsdWU9XCJ7eyBkaXNwbGF5UGFnZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQURGX1ZJRVdFUi5QQUdFX0xBQkVMLlBBR0VfU0VMRUNUT1JfTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaW5wdXRQYWdlKHBhZ2UudmFsdWUpXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyAnQURGX1ZJRVdFUi5QQUdFX0xBQkVMLk9GJyB8IHRyYW5zbGF0ZSB9fSB7eyB0b3RhbFBhZ2VzIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXBkZi12aWV3ZXJfX3Rvb2xiYXItcGFnZS1zY2FsZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1wYWdlLXNjYWxlXCI+XG4gICAgICAgICAgICB7eyBjdXJyZW50U2NhbGVUZXh0IH19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItem9vbS1pbi1idXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5aT09NX0lOJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5aT09NX0lOJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInpvb21JbigpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+em9vbV9pbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gaWQ9XCJ2aWV3ZXItem9vbS1vdXQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFSSUEuWk9PTV9PVVQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJ7eyAnQURGX1ZJRVdFUi5BUklBLlpPT01fT1VUJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInpvb21PdXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPnpvb21fb3V0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInZpZXdlci1zY2FsZS1wYWdlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIGFyaWEtcHJlc3NlZD1cInRydWVcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FERl9WSUVXRVIuQVJJQS5GSVRfUEFHRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cInt7ICdBREZfVklFV0VSLkFSSUEuRklUX1BBR0UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGFnZUZpdCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+em9vbV9vdXRfbWFwPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICA8L2FkZi10b29sYmFyPlxuPC9kaXY+XG4iXX0=
|
package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs
CHANGED
|
@@ -48,14 +48,14 @@ export class PdfPasswordDialogComponent {
|
|
|
48
48
|
submit() {
|
|
49
49
|
this.dialogRef.close(this.passwordFormControl.value);
|
|
50
50
|
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfPasswordDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PdfPasswordDialogComponent, isStandalone: true, selector: "adf-pdf-viewer-password-dialog", ngImport: i0, template: "<div mat-dialog-title>\n <mat-icon>lock</mat-icon>\n</div>\n\n<mat-dialog-content>\n <form (submit)=\"submit()\">\n <mat-form-field class=\"adf-full-width\">\n <input matInput\n data-automation-id='adf-password-dialog-input'\n type=\"password\"\n placeholder=\"{{ 'ADF_VIEWER.PDF_DIALOG.PLACEHOLDER' | translate }}\"\n [formControl]=\"passwordFormControl\" />\n </mat-form-field>\n\n <mat-error *ngIf=\"isError()\" data-automation-id='adf-password-dialog-error'>{{ 'ADF_VIEWER.PDF_DIALOG.ERROR' | translate }}</mat-error>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions class=\"adf-dialog-buttons\">\n <span class=\"adf-fill-remaining-space\"></span>\n\n <button mat-button mat-dialog-close data-automation-id='adf-password-dialog-close'>{{ 'ADF_VIEWER.PDF_DIALOG.CLOSE' | translate }}</button>\n\n <button mat-button\n data-automation-id='adf-password-dialog-submit'\n class=\"adf-dialog-action-button\"\n [disabled]=\"!isValid()\"\n (click)=\"submit()\">\n {{ 'ADF_VIEWER.PDF_DIALOG.SUBMIT' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-fill-remaining-space{flex:1 1 auto}.adf-full-width{width:100%}.adf-dialog-buttons button{text-transform:uppercase}.adf-dialog-action-button:enabled{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
53
53
|
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfPasswordDialogComponent, decorators: [{
|
|
55
55
|
type: Component,
|
|
56
56
|
args: [{ selector: 'adf-pdf-viewer-password-dialog', standalone: true, imports: [MatDialogModule, MatIconModule, MatFormFieldModule, MatInputModule, ReactiveFormsModule, TranslateModule, NgIf, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div mat-dialog-title>\n <mat-icon>lock</mat-icon>\n</div>\n\n<mat-dialog-content>\n <form (submit)=\"submit()\">\n <mat-form-field class=\"adf-full-width\">\n <input matInput\n data-automation-id='adf-password-dialog-input'\n type=\"password\"\n placeholder=\"{{ 'ADF_VIEWER.PDF_DIALOG.PLACEHOLDER' | translate }}\"\n [formControl]=\"passwordFormControl\" />\n </mat-form-field>\n\n <mat-error *ngIf=\"isError()\" data-automation-id='adf-password-dialog-error'>{{ 'ADF_VIEWER.PDF_DIALOG.ERROR' | translate }}</mat-error>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions class=\"adf-dialog-buttons\">\n <span class=\"adf-fill-remaining-space\"></span>\n\n <button mat-button mat-dialog-close data-automation-id='adf-password-dialog-close'>{{ 'ADF_VIEWER.PDF_DIALOG.CLOSE' | translate }}</button>\n\n <button mat-button\n data-automation-id='adf-password-dialog-submit'\n class=\"adf-dialog-action-button\"\n [disabled]=\"!isValid()\"\n (click)=\"submit()\">\n {{ 'ADF_VIEWER.PDF_DIALOG.SUBMIT' | translate }}\n </button>\n</mat-dialog-actions>\n", styles: [".adf-fill-remaining-space{flex:1 1 auto}.adf-full-width{width:100%}.adf-dialog-buttons button{text-transform:uppercase}.adf-dialog-action-button:enabled{color:var(--theme-primary-color)}\n"] }]
|
|
57
57
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
58
58
|
type: Inject,
|
|
59
59
|
args: [MAT_DIALOG_DATA]
|
|
60
60
|
}] }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci1wYXNzd29yZC1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nL3BkZi12aWV3ZXItcGFzc3dvcmQtZGlhbG9nLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi92aWV3ZXIvY29tcG9uZW50cy9wZGYtdmlld2VyLXBhc3N3b3JkLWRpYWxvZy9wZGYtdmlld2VyLXBhc3N3b3JkLWRpYWxvZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFZdEQsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUFvQixTQUFtRCxFQUFrQyxJQUFTO1FBQTlGLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQWtDLFNBQUksR0FBSixJQUFJLENBQUs7SUFBRyxDQUFDO0lBRXRILFFBQVE7UUFDSixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO0lBQzlFLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FuQlEsMEJBQTBCLDhDQUc4QyxlQUFlO21HQUh2RiwwQkFBMEIsMEZDckN2Qyw4c0NBK0JBLHFQREdjLGVBQWUsK25CQUFFLGFBQWEsbUxBQUUsa0JBQWtCLHNVQUFFLGNBQWMsMFdBQUUsbUJBQW1CLDgwQkFBRSxlQUFlLDRGQUFFLElBQUksNEZBQUUsZUFBZTs7NEZBR2hJLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUdQLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsaUJBQzNILGlCQUFpQixDQUFDLElBQUk7OzBCQUtxQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZGVjbGFyZSBjb25zdCBwZGZqc0xpYjogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1wZGYtdmlld2VyLXBhc3N3b3JkLWRpYWxvZycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci1wYXNzd29yZC1kaWFsb2cuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGRmLXZpZXdlci1wYXNzd29yZC1kaWFsb2cuc2NzcyddLFxuICAgIGltcG9ydHM6IFtNYXREaWFsb2dNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdJZiwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlBhc3N3b3JkRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwYXNzd29yZEZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBkZlBhc3N3b3JkRGlhbG9nQ29tcG9uZW50PiwgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnkpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5wYXNzd29yZEZvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICB9XG5cbiAgICBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnJlYXNvbiA9PT0gcGRmanNMaWIuUGFzc3dvcmRSZXNwb25zZXMuSU5DT1JSRUNUX1BBU1NXT1JEO1xuICAgIH1cblxuICAgIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wYXNzd29yZEZvcm1Db250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5wYXNzd29yZEZvcm1Db250cm9sLnZhbHVlKTtcbiAgICB9XG59XG4iLCI8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgPG1hdC1pY29uPmxvY2s8L21hdC1pY29uPlxuPC9kaXY+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGZvcm0gKHN1Ym1pdCk9XCJzdWJtaXQoKVwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtcGFzc3dvcmQtZGlhbG9nLWlucHV0J1xuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnQURGX1ZJRVdFUi5QREZfRElBTE9HLlBMQUNFSE9MREVSJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInBhc3N3b3JkRm9ybUNvbnRyb2xcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0Vycm9yKClcIiBkYXRhLWF1dG9tYXRpb24taWQ9J2FkZi1wYXNzd29yZC1kaWFsb2ctZXJyb3InPnt7ICdBREZfVklFV0VSLlBERl9ESUFMT0cuRVJST1InIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgPC9mb3JtPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJhZGYtZGlhbG9nLWJ1dHRvbnNcIj5cbiAgICA8c3BhbiBjbGFzcz1cImFkZi1maWxsLXJlbWFpbmluZy1zcGFjZVwiPjwvc3Bhbj5cblxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlIGRhdGEtYXV0b21hdGlvbi1pZD0nYWRmLXBhc3N3b3JkLWRpYWxvZy1jbG9zZSc+e3sgJ0FERl9WSUVXRVIuUERGX0RJQUxPRy5DTE9TRScgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cblxuICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPSdhZGYtcGFzc3dvcmQtZGlhbG9nLXN1Ym1pdCdcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLWRpYWxvZy1hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNWYWxpZCgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXQoKVwiPlxuICAgICAgICB7eyAnQURGX1ZJRVdFUi5QREZfRElBTE9HLlNVQk1JVCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
@@ -37,13 +37,13 @@ export class PdfThumbComponent {
|
|
|
37
37
|
canvas.height = this.page.getHeight();
|
|
38
38
|
return canvas;
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfThumbComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PdfThumbComponent, isStandalone: true, selector: "adf-pdf-thumb", inputs: { page: "page" }, host: { attributes: { "tabindex": "0" } }, ngImport: i0, template: "<ng-container *ngIf=\"image$ | async as image\">\n <img [src]=\"image\" role=\"button\"\n [alt]=\"'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id }\"\n title=\"{{ 'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id } }}\"\n [attr.aria-label]=\"'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id }\">\n</ng-container>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PdfThumbComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{ selector: 'adf-pdf-thumb', standalone: true, encapsulation: ViewEncapsulation.None, imports: [AsyncPipe, TranslateModule, NgIf], host: { tabindex: '0' }, template: "<ng-container *ngIf=\"image$ | async as image\">\n <img [src]=\"image\" role=\"button\"\n [alt]=\"'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id }\"\n title=\"{{ 'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id } }}\"\n [attr.aria-label]=\"'ADF_VIEWER.SIDEBAR.THUMBNAILS.PAGE' | translate: { pageNum: page.id }\">\n</ng-container>\n" }]
|
|
46
46
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ElementRef }], propDecorators: { page: [{
|
|
47
47
|
type: Input
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci10aHVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXItdGh1bWIvcGRmLXZpZXdlci10aHVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL3ZpZXdlci9jb21wb25lbnRzL3BkZi12aWV3ZXItdGh1bWIvcGRmLXZpZXdlci10aHVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQVV0RCxNQUFNLE9BQU8saUJBQWlCO0lBTTFCLFlBQW9CLFNBQXVCLEVBQVUsT0FBbUI7UUFBcEQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFKeEUsU0FBSSxHQUFRLElBQUksQ0FBQztJQUkwRCxDQUFDO0lBRTVFLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQUk7UUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2RixPQUFPLElBQUk7YUFDTixNQUFNLENBQUM7WUFDSixhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDdEMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUN4QyxDQUFDO2FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLFNBQVM7UUFDYixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0F0Q1EsaUJBQWlCO21HQUFqQixpQkFBaUIsOElDL0I5QixtWkFNQSx1Q0RzQmMsU0FBUyw2Q0FBRSxlQUFlLDRGQUFFLElBQUk7OzRGQUdqQyxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0ksZUFBZSxjQUNiLElBQUksaUJBRUQsaUJBQWlCLENBQUMsSUFBSSxXQUM1QixDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLFFBQ3JDLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTswR0FJdkIsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtcGRmLXRodW1iJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZGYtdmlld2VyLXRodW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSwgTmdJZl0sXG4gICAgaG9zdDogeyB0YWJpbmRleDogJzAnIH1cbn0pXG5leHBvcnQgY2xhc3MgUGRmVGh1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEZvY3VzYWJsZU9wdGlvbiB7XG4gICAgQElucHV0KClcbiAgICBwYWdlOiBhbnkgPSBudWxsO1xuXG4gICAgaW1hZ2UkOiBQcm9taXNlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbWFnZSQgPSB0aGlzLnBhZ2UuZ2V0UGFnZSgpLnRoZW4oKHBhZ2UpID0+IHRoaXMuZ2V0VGh1bWIocGFnZSkpO1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGh1bWIocGFnZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gcGFnZS5nZXRWaWV3cG9ydCh7IHNjYWxlOiAxIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuZ2V0Q2FudmFzKCk7XG4gICAgICAgIGNvbnN0IHNjYWxlID0gTWF0aC5taW4oY2FudmFzLmhlaWdodCAvIHZpZXdwb3J0LmhlaWdodCwgY2FudmFzLndpZHRoIC8gdmlld3BvcnQud2lkdGgpO1xuXG4gICAgICAgIHJldHVybiBwYWdlXG4gICAgICAgICAgICAucmVuZGVyKHtcbiAgICAgICAgICAgICAgICBjYW52YXNDb250ZXh0OiBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSxcbiAgICAgICAgICAgICAgICB2aWV3cG9ydDogcGFnZS5nZXRWaWV3cG9ydCh7IHNjYWxlIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2VTb3VyY2UgPSBjYW52YXMudG9EYXRhVVJMKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoaW1hZ2VTb3VyY2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDYW52YXMoKTogSFRNTENhbnZhc0VsZW1lbnQge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY2FudmFzLndpZHRoID0gdGhpcy5wYWdlLmdldFdpZHRoKCk7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSB0aGlzLnBhZ2UuZ2V0SGVpZ2h0KCk7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlJCB8IGFzeW5jIGFzIGltYWdlXCI+XG4gICAgPGltZyBbc3JjXT1cImltYWdlXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICBbYWx0XT1cIidBREZfVklFV0VSLlNJREVCQVIuVEhVTUJOQUlMUy5QQUdFJyB8IHRyYW5zbGF0ZTogeyBwYWdlTnVtOiBwYWdlLmlkIH1cIlxuICAgICAgICAgdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5TSURFQkFSLlRIVU1CTkFJTFMuUEFHRScgfCB0cmFuc2xhdGU6IHsgcGFnZU51bTogcGFnZS5pZCB9IH19XCJcbiAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9WSUVXRVIuU0lERUJBUi5USFVNQk5BSUxTLlBBR0UnIHwgdHJhbnNsYXRlOiB7IHBhZ2VOdW06IHBhZ2UuaWQgfVwiPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|