@hmcts/media-viewer 2.8.2 → 2.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/assets/images/icon-page.svg +52 -0
- package/assets/sass/comment.scss +1 -1
- package/assets/sass/outline-attachment.scss +6 -1
- package/assets/sass/participants-list.scss +1 -1
- package/assets/sass/rectangle.scss +1 -4
- package/assets/sass/toolbar/main-toolbar.scss +8 -8
- package/assets/sass/toolbar/redaction-toolbar.scss +10 -0
- package/bundles/hmcts-media-viewer.umd.js +3392 -10778
- package/bundles/hmcts-media-viewer.umd.js.map +1 -1
- package/bundles/hmcts-media-viewer.umd.min.js +1 -16
- package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
- package/esm2015/hmcts-media-viewer.js +20 -24
- package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +24 -103
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +14 -111
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +4 -49
- package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +2 -51
- package/esm2015/lib/annotations/annotation-set/annotation-set.model.js +2 -15
- package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +4 -74
- package/esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js +2 -29
- package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +5 -114
- package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +2 -21
- package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +8 -85
- package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +9 -105
- package/esm2015/lib/annotations/annotations.module.js +1 -5
- package/esm2015/lib/annotations/comment-set/comment/comment.component.js +4 -152
- package/esm2015/lib/annotations/comment-set/comment/comment.model.js +2 -27
- package/esm2015/lib/annotations/comment-set/comment/comment.service.js +3 -53
- package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +1 -37
- package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +1 -25
- package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +5 -63
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +10 -76
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +5 -53
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +6 -63
- package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +5 -73
- package/esm2015/lib/annotations/comment-set/comment-set.component.js +11 -154
- package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +8 -111
- package/esm2015/lib/annotations/models/api-persisted.model.js +2 -25
- package/esm2015/lib/annotations/models/event-select.model.js +2 -17
- package/esm2015/lib/annotations/models/tags.model.js +2 -19
- package/esm2015/lib/annotations/models/user.model.js +2 -17
- package/esm2015/lib/annotations/pipes/date/date.pipe.js +1 -12
- package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +3 -17
- package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +1 -9
- package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +6 -93
- package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +6 -69
- package/esm2015/lib/annotations/services/tags/tags.services.js +6 -54
- package/esm2015/lib/annotations/tags/tags.component.js +4 -50
- package/esm2015/lib/bookmark/components/bookmark-icons.component.js +2 -29
- package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +2 -22
- package/esm2015/lib/icp/icp-follower.service.js +4 -63
- package/esm2015/lib/icp/icp-presenter.service.js +6 -69
- package/esm2015/lib/icp/icp-session-api.service.js +2 -26
- package/esm2015/lib/icp/icp-update.service.js +18 -92
- package/esm2015/lib/icp/icp.events.js +15 -0
- package/esm2015/lib/icp/icp.interfaces.js +2 -51
- package/esm2015/lib/icp/icp.service.js +18 -155
- package/esm2015/lib/icp/participants-list/participants-list.component.js +3 -43
- package/esm2015/lib/icp/socket.service.js +92 -86
- package/esm2015/lib/media-viewer.component.js +24 -196
- package/esm2015/lib/media-viewer.module.js +3 -7
- package/esm2015/lib/print.service.js +2 -18
- package/esm2015/lib/redaction/components/redaction.component.js +13 -127
- package/esm2015/lib/redaction/services/redaction-api.service.js +6 -75
- package/esm2015/lib/redaction/services/redaction.model.js +2 -19
- package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +2 -14
- package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +3 -14
- package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
- package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +3 -12
- package/esm2015/lib/shared/shared.module.js +1 -5
- package/esm2015/lib/shared/util/helpers/html-templates.helper.js +1 -10
- package/esm2015/lib/shared/util/services/number.helper.service.js +4 -14
- package/esm2015/lib/store/actions/annotation.actions.js +1 -140
- package/esm2015/lib/store/actions/bookmark.actions.js +1 -150
- package/esm2015/lib/store/actions/document.actions.js +1 -130
- package/esm2015/lib/store/actions/icp.actions.js +1 -80
- package/esm2015/lib/store/actions/redaction.actions.js +1 -155
- package/esm2015/lib/store/actions/tag.actions.js +1 -30
- package/esm2015/lib/store/bookmarks-store-utils.js +17 -69
- package/esm2015/lib/store/effects/annotation.effects.js +16 -90
- package/esm2015/lib/store/effects/bookmarks.effects.js +12 -127
- package/esm2015/lib/store/effects/document.effects.js +16 -97
- package/esm2015/lib/store/effects/icp.effects.js +5 -63
- package/esm2015/lib/store/effects/index.js +1 -6
- package/esm2015/lib/store/effects/redaction.effects.js +26 -137
- package/esm2015/lib/store/models/bookmarks.interface.js +2 -57
- package/esm2015/lib/store/models/filters.interface.js +2 -17
- package/esm2015/lib/store/reducers/annotations.reducer.js +14 -129
- package/esm2015/lib/store/reducers/bookmarks.reducer.js +12 -99
- package/esm2015/lib/store/reducers/document.reducer.js +10 -129
- package/esm2015/lib/store/reducers/icp.reducer.js +6 -47
- package/esm2015/lib/store/reducers/redaction.reducer.js +7 -73
- package/esm2015/lib/store/reducers/reducers.js +7 -31
- package/esm2015/lib/store/reducers/tags.reducer.js +12 -102
- package/esm2015/lib/store/selectors/annotation.selectors.js +29 -118
- package/esm2015/lib/store/selectors/bookmark.selectors.js +12 -51
- package/esm2015/lib/store/selectors/document.selectors.js +5 -26
- package/esm2015/lib/store/selectors/icp.selectors.js +9 -38
- package/esm2015/lib/store/selectors/redaction.selectors.js +10 -45
- package/esm2015/lib/store/selectors/tag.selectors.js +6 -28
- package/esm2015/lib/store/store-utils.js +26 -156
- package/esm2015/lib/toolbar/icp-event.service.js +13 -48
- package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +4 -56
- package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +10 -177
- package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +9 -59
- package/esm2015/lib/toolbar/search-bar/search-bar.component.js +11 -85
- package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +2 -46
- package/esm2015/lib/toolbar/toolbar-event.service.js +17 -174
- package/esm2015/lib/toolbar/toolbar.module.js +1 -5
- package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +5 -75
- package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +3 -34
- package/esm2015/lib/viewers/grab-n-drag.directive.js +1 -38
- package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +29 -196
- package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +3 -55
- package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +61 -240
- package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +2 -40
- package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +34 -302
- package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +12 -107
- package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +2 -39
- package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +16 -25
- package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +2 -31
- package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +16 -73
- package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +2 -35
- package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +8 -87
- package/esm2015/lib/viewers/rotation-persist/rotation.model.js +2 -15
- package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +4 -60
- package/esm2015/lib/viewers/viewer-event.service.js +2 -41
- package/esm2015/lib/viewers/viewer-exception.model.js +7 -32
- package/esm2015/lib/viewers/viewer-util.service.js +2 -20
- package/esm2015/public_api.js +28 -32
- package/fesm2015/hmcts-media-viewer.js +1566 -8060
- package/fesm2015/hmcts-media-viewer.js.map +1 -1
- package/hmcts-media-viewer-v2.9.2.tgz +0 -0
- package/hmcts-media-viewer.d.ts +19 -18
- package/hmcts-media-viewer.d.ts.map +1 -0
- package/hmcts-media-viewer.metadata.json +1 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +7 -3
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-set.model.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +4 -3
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +1 -0
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +1 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -0
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/annotations.module.d.ts +1 -0
- package/lib/annotations/annotations.module.d.ts.map +1 -0
- package/lib/annotations/annotations.module.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.component.d.ts +7 -5
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.model.d.ts +1 -0
- package/lib/annotations/comment-set/comment/comment.model.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.service.d.ts +1 -0
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +1 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-render.service.d.ts +1 -0
- package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set.component.d.ts +1 -0
- package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -0
- package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -0
- package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +1 -0
- package/lib/annotations/models/api-persisted.model.d.ts +1 -0
- package/lib/annotations/models/api-persisted.model.d.ts.map +1 -0
- package/lib/annotations/models/event-select.model.d.ts +1 -0
- package/lib/annotations/models/event-select.model.d.ts.map +1 -0
- package/lib/annotations/models/tags.model.d.ts +1 -0
- package/lib/annotations/models/tags.model.d.ts.map +1 -0
- package/lib/annotations/models/user.model.d.ts +1 -0
- package/lib/annotations/models/user.model.d.ts.map +1 -0
- package/lib/annotations/pipes/date/date.pipe.d.ts +2 -1
- package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -0
- package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +1 -0
- package/lib/annotations/pipes/filter/filter.pipe.d.ts +1 -0
- package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -0
- package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +1 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +1 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -0
- package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +1 -0
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -2
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -0
- package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +1 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +1 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -0
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +1 -0
- package/lib/annotations/services/tags/tags.services.d.ts +1 -0
- package/lib/annotations/services/tags/tags.services.d.ts.map +1 -0
- package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +1 -0
- package/lib/annotations/tags/tags.component.d.ts +3 -2
- package/lib/annotations/tags/tags.component.d.ts.map +1 -0
- package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +1 -0
- package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -0
- package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -0
- package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +1 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +1 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -0
- package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +1 -0
- package/lib/icp/icp-follower.service.d.ts +1 -0
- package/lib/icp/icp-follower.service.d.ts.map +1 -0
- package/lib/icp/icp-follower.service.ngfactory.d.ts.map +1 -0
- package/lib/icp/icp-presenter.service.d.ts +1 -0
- package/lib/icp/icp-presenter.service.d.ts.map +1 -0
- package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +1 -0
- package/lib/icp/icp-session-api.service.d.ts +1 -0
- package/lib/icp/icp-session-api.service.d.ts.map +1 -0
- package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +1 -0
- package/lib/icp/icp-update.service.d.ts +1 -9
- package/lib/icp/icp-update.service.d.ts.map +1 -0
- package/lib/icp/icp-update.service.ngfactory.d.ts.map +1 -0
- package/lib/icp/icp.events.d.ts +14 -0
- package/lib/icp/icp.events.d.ts.map +1 -0
- package/lib/icp/icp.interfaces.d.ts +2 -0
- package/lib/icp/icp.interfaces.d.ts.map +1 -0
- package/lib/icp/icp.service.d.ts +1 -0
- package/lib/icp/icp.service.d.ts.map +1 -0
- package/lib/icp/icp.service.ngfactory.d.ts.map +1 -0
- package/lib/icp/participants-list/participants-list.component.d.ts +1 -0
- package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -0
- package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +1 -0
- package/lib/icp/socket.service.d.ts +14 -4
- package/lib/icp/socket.service.d.ts.map +1 -0
- package/lib/icp/socket.service.ngfactory.d.ts.map +1 -0
- package/lib/media-viewer.component.d.ts +1 -0
- package/lib/media-viewer.component.d.ts.map +1 -0
- package/lib/media-viewer.component.ngfactory.d.ts.map +1 -0
- package/lib/media-viewer.module.d.ts +1 -0
- package/lib/media-viewer.module.d.ts.map +1 -0
- package/lib/media-viewer.module.ngfactory.d.ts.map +1 -0
- package/lib/print.service.d.ts +1 -0
- package/lib/print.service.d.ts.map +1 -0
- package/lib/print.service.ngfactory.d.ts.map +1 -0
- package/lib/redaction/components/redaction.component.d.ts +1 -0
- package/lib/redaction/components/redaction.component.d.ts.map +1 -0
- package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +1 -0
- package/lib/redaction/services/redaction-api.service.d.ts +1 -0
- package/lib/redaction/services/redaction-api.service.d.ts.map +1 -0
- package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +1 -0
- package/lib/redaction/services/redaction.model.d.ts +1 -0
- package/lib/redaction/services/redaction.model.d.ts.map +1 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +1 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +1 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +1 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -0
- package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +1 -0
- package/lib/shared/shared.module.d.ts +1 -0
- package/lib/shared/shared.module.d.ts.map +1 -0
- package/lib/shared/shared.module.ngfactory.d.ts.map +1 -0
- package/lib/shared/util/helpers/html-templates.helper.d.ts +1 -0
- package/lib/shared/util/helpers/html-templates.helper.d.ts.map +1 -0
- package/lib/shared/util/services/number.helper.service.d.ts +1 -0
- package/lib/shared/util/services/number.helper.service.d.ts.map +1 -0
- package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +1 -0
- package/lib/store/actions/annotation.actions.d.ts +1 -0
- package/lib/store/actions/annotation.actions.d.ts.map +1 -0
- package/lib/store/actions/bookmark.actions.d.ts +1 -0
- package/lib/store/actions/bookmark.actions.d.ts.map +1 -0
- package/lib/store/actions/document.actions.d.ts +1 -0
- package/lib/store/actions/document.actions.d.ts.map +1 -0
- package/lib/store/actions/icp.actions.d.ts +1 -0
- package/lib/store/actions/icp.actions.d.ts.map +1 -0
- package/lib/store/actions/redaction.actions.d.ts +1 -0
- package/lib/store/actions/redaction.actions.d.ts.map +1 -0
- package/lib/store/actions/tag.actions.d.ts +1 -0
- package/lib/store/actions/tag.actions.d.ts.map +1 -0
- package/lib/store/bookmarks-store-utils.d.ts +1 -0
- package/lib/store/bookmarks-store-utils.d.ts.map +1 -0
- package/lib/store/effects/annotation.effects.d.ts +1 -0
- package/lib/store/effects/annotation.effects.d.ts.map +1 -0
- package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +1 -0
- package/lib/store/effects/bookmarks.effects.d.ts +1 -0
- package/lib/store/effects/bookmarks.effects.d.ts.map +1 -0
- package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +1 -0
- package/lib/store/effects/document.effects.d.ts +1 -0
- package/lib/store/effects/document.effects.d.ts.map +1 -0
- package/lib/store/effects/document.effects.ngfactory.d.ts.map +1 -0
- package/lib/store/effects/icp.effects.d.ts +1 -0
- package/lib/store/effects/icp.effects.d.ts.map +1 -0
- package/lib/store/effects/icp.effects.ngfactory.d.ts.map +1 -0
- package/lib/store/effects/index.d.ts +1 -0
- package/lib/store/effects/index.d.ts.map +1 -0
- package/lib/store/effects/redaction.effects.d.ts +1 -0
- package/lib/store/effects/redaction.effects.d.ts.map +1 -0
- package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +1 -0
- package/lib/store/models/bookmarks.interface.d.ts +1 -0
- package/lib/store/models/bookmarks.interface.d.ts.map +1 -0
- package/lib/store/models/filters.interface.d.ts +1 -0
- package/lib/store/models/filters.interface.d.ts.map +1 -0
- package/lib/store/reducers/annotations.reducer.d.ts +1 -0
- package/lib/store/reducers/annotations.reducer.d.ts.map +1 -0
- package/lib/store/reducers/bookmarks.reducer.d.ts +1 -0
- package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -0
- package/lib/store/reducers/document.reducer.d.ts +1 -0
- package/lib/store/reducers/document.reducer.d.ts.map +1 -0
- package/lib/store/reducers/icp.reducer.d.ts +1 -0
- package/lib/store/reducers/icp.reducer.d.ts.map +1 -0
- package/lib/store/reducers/redaction.reducer.d.ts +1 -0
- package/lib/store/reducers/redaction.reducer.d.ts.map +1 -0
- package/lib/store/reducers/reducers.d.ts +2 -1
- package/lib/store/reducers/reducers.d.ts.map +1 -0
- package/lib/store/reducers/tags.reducer.d.ts +1 -0
- package/lib/store/reducers/tags.reducer.d.ts.map +1 -0
- package/lib/store/selectors/annotation.selectors.d.ts +54 -15
- package/lib/store/selectors/annotation.selectors.d.ts.map +1 -0
- package/lib/store/selectors/bookmark.selectors.d.ts +18 -7
- package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -0
- package/lib/store/selectors/document.selectors.d.ts +15 -9
- package/lib/store/selectors/document.selectors.d.ts.map +1 -0
- package/lib/store/selectors/icp.selectors.d.ts +9 -8
- package/lib/store/selectors/icp.selectors.d.ts.map +1 -0
- package/lib/store/selectors/redaction.selectors.d.ts +18 -7
- package/lib/store/selectors/redaction.selectors.d.ts.map +1 -0
- package/lib/store/selectors/tag.selectors.d.ts +16 -6
- package/lib/store/selectors/tag.selectors.d.ts.map +1 -0
- package/lib/store/store-utils.d.ts +1 -0
- package/lib/store/store-utils.d.ts.map +1 -0
- package/lib/toolbar/icp-event.service.d.ts +1 -0
- package/lib/toolbar/icp-event.service.d.ts.map +1 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +1 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +2 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/search-bar/search-bar.component.d.ts +2 -0
- package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -0
- package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/toolbar-button-visibility.service.d.ts +1 -0
- package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -0
- package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/toolbar-event.service.d.ts +3 -0
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -0
- package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/toolbar.module.d.ts +1 -0
- package/lib/toolbar/toolbar.module.d.ts.map +1 -0
- package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +1 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -0
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +1 -0
- package/lib/viewers/grab-n-drag.directive.d.ts +1 -0
- package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -0
- package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +1 -0
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +5 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -0
- package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -0
- package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +5 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +6 -2
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +2 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +1 -0
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +7 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +3 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +4 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -0
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts +1 -0
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +1 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +1 -0
- package/lib/viewers/rotation-persist/rotation.model.d.ts +1 -0
- package/lib/viewers/rotation-persist/rotation.model.d.ts.map +1 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -0
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +1 -0
- package/lib/viewers/viewer-event.service.d.ts +1 -0
- package/lib/viewers/viewer-event.service.d.ts.map +1 -0
- package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +1 -0
- package/lib/viewers/viewer-exception.model.d.ts +1 -0
- package/lib/viewers/viewer-exception.model.d.ts.map +1 -0
- package/lib/viewers/viewer-util.service.d.ts +1 -0
- package/lib/viewers/viewer-util.service.d.ts.map +1 -0
- package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +1 -0
- package/package.json +16 -17
- package/public_api.d.ts +1 -0
- package/public_api.d.ts.map +1 -0
- package/esm5/hmcts-media-viewer.js +0 -67
- package/esm5/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -215
- package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -236
- package/esm5/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -125
- package/esm5/lib/annotations/annotation-set/annotation-set.component.js +0 -109
- package/esm5/lib/annotations/annotation-set/annotation-set.model.js +0 -15
- package/esm5/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -177
- package/esm5/lib/annotations/annotation-set/annotation-view/annotation.model.js +0 -29
- package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -250
- package/esm5/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js +0 -21
- package/esm5/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -216
- package/esm5/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -200
- package/esm5/lib/annotations/annotations.module.js +0 -109
- package/esm5/lib/annotations/comment-set/comment/comment.component.js +0 -353
- package/esm5/lib/annotations/comment-set/comment/comment.model.js +0 -27
- package/esm5/lib/annotations/comment-set/comment/comment.service.js +0 -125
- package/esm5/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -98
- package/esm5/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -63
- package/esm5/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -174
- package/esm5/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -145
- package/esm5/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -117
- package/esm5/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -131
- package/esm5/lib/annotations/comment-set/comment-set-render.service.js +0 -177
- package/esm5/lib/annotations/comment-set/comment-set.component.js +0 -295
- package/esm5/lib/annotations/comments-summary/comments-summary.component.js +0 -239
- package/esm5/lib/annotations/models/api-persisted.model.js +0 -25
- package/esm5/lib/annotations/models/event-select.model.js +0 -17
- package/esm5/lib/annotations/models/tags.model.js +0 -19
- package/esm5/lib/annotations/models/user.model.js +0 -17
- package/esm5/lib/annotations/pipes/date/date.pipe.js +0 -48
- package/esm5/lib/annotations/pipes/filter/filter.pipe.js +0 -52
- package/esm5/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -28
- package/esm5/lib/annotations/services/annotation-api/annotation-api.service.js +0 -188
- package/esm5/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -132
- package/esm5/lib/annotations/services/tags/tags.services.js +0 -102
- package/esm5/lib/annotations/tags/tags.component.js +0 -112
- package/esm5/lib/bookmark/components/bookmark-icons.component.js +0 -55
- package/esm5/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -50
- package/esm5/lib/icp/icp-follower.service.js +0 -135
- package/esm5/lib/icp/icp-presenter.service.js +0 -135
- package/esm5/lib/icp/icp-session-api.service.js +0 -49
- package/esm5/lib/icp/icp-update.service.js +0 -165
- package/esm5/lib/icp/icp.interfaces.js +0 -51
- package/esm5/lib/icp/icp.service.js +0 -261
- package/esm5/lib/icp/participants-list/participants-list.component.js +0 -77
- package/esm5/lib/icp/socket.service.js +0 -142
- package/esm5/lib/media-viewer.component.js +0 -424
- package/esm5/lib/media-viewer.module.js +0 -110
- package/esm5/lib/print.service.js +0 -53
- package/esm5/lib/redaction/components/redaction.component.js +0 -247
- package/esm5/lib/redaction/services/redaction-api.service.js +0 -133
- package/esm5/lib/redaction/services/redaction.model.js +0 -19
- package/esm5/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -37
- package/esm5/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -36
- package/esm5/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
- package/esm5/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -33
- package/esm5/lib/shared/shared.module.js +0 -42
- package/esm5/lib/shared/util/helpers/html-templates.helper.js +0 -36
- package/esm5/lib/shared/util/services/number.helper.service.js +0 -39
- package/esm5/lib/store/actions/annotation.actions.js +0 -226
- package/esm5/lib/store/actions/bookmark.actions.js +0 -242
- package/esm5/lib/store/actions/document.actions.js +0 -210
- package/esm5/lib/store/actions/icp.actions.js +0 -130
- package/esm5/lib/store/actions/redaction.actions.js +0 -255
- package/esm5/lib/store/actions/tag.actions.js +0 -50
- package/esm5/lib/store/bookmarks-store-utils.js +0 -110
- package/esm5/lib/store/effects/annotation.effects.js +0 -128
- package/esm5/lib/store/effects/bookmarks.effects.js +0 -193
- package/esm5/lib/store/effects/document.effects.js +0 -138
- package/esm5/lib/store/effects/icp.effects.js +0 -97
- package/esm5/lib/store/effects/index.js +0 -12
- package/esm5/lib/store/effects/redaction.effects.js +0 -190
- package/esm5/lib/store/models/bookmarks.interface.js +0 -57
- package/esm5/lib/store/models/filters.interface.js +0 -17
- package/esm5/lib/store/reducers/annotations.reducer.js +0 -231
- package/esm5/lib/store/reducers/bookmarks.reducer.js +0 -170
- package/esm5/lib/store/reducers/document.reducer.js +0 -222
- package/esm5/lib/store/reducers/icp.reducer.js +0 -83
- package/esm5/lib/store/reducers/redaction.reducer.js +0 -134
- package/esm5/lib/store/reducers/reducers.js +0 -47
- package/esm5/lib/store/reducers/tags.reducer.js +0 -159
- package/esm5/lib/store/selectors/annotation.selectors.js +0 -175
- package/esm5/lib/store/selectors/bookmark.selectors.js +0 -78
- package/esm5/lib/store/selectors/document.selectors.js +0 -37
- package/esm5/lib/store/selectors/icp.selectors.js +0 -47
- package/esm5/lib/store/selectors/redaction.selectors.js +0 -65
- package/esm5/lib/store/selectors/tag.selectors.js +0 -40
- package/esm5/lib/store/store-utils.js +0 -296
- package/esm5/lib/toolbar/icp-event.service.js +0 -65
- package/esm5/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -112
- package/esm5/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -408
- package/esm5/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -130
- package/esm5/lib/toolbar/search-bar/search-bar.component.js +0 -226
- package/esm5/lib/toolbar/toolbar-button-visibility.service.js +0 -146
- package/esm5/lib/toolbar/toolbar-event.service.js +0 -416
- package/esm5/lib/toolbar/toolbar.module.js +0 -50
- package/esm5/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -168
- package/esm5/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -57
- package/esm5/lib/viewers/grab-n-drag.directive.js +0 -98
- package/esm5/lib/viewers/image-viewer/image-viewer.component.js +0 -402
- package/esm5/lib/viewers/multimedia-player/multimedia-player.component.js +0 -125
- package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -446
- package/esm5/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -87
- package/esm5/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -582
- package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -251
- package/esm5/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js +0 -39
- package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -62
- package/esm5/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js +0 -31
- package/esm5/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -146
- package/esm5/lib/viewers/rotation-persist/rotation-api.service.js +0 -68
- package/esm5/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -163
- package/esm5/lib/viewers/rotation-persist/rotation.model.js +0 -15
- package/esm5/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -120
- package/esm5/lib/viewers/viewer-event.service.js +0 -86
- package/esm5/lib/viewers/viewer-exception.model.js +0 -36
- package/esm5/lib/viewers/viewer-util.service.js +0 -44
- package/esm5/public_api.js +0 -35
- package/fesm5/hmcts-media-viewer.js +0 -14160
- package/fesm5/hmcts-media-viewer.js.map +0 -1
- package/hmcts-media-viewer-v2.8.2.tgz +0 -0
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
1
|
import { __awaiter } from "tslib";
|
|
6
2
|
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
7
3
|
import { asyncScheduler } from 'rxjs';
|
|
@@ -18,23 +14,16 @@ import * as fromTagActions from '../../store/actions/tag.actions';
|
|
|
18
14
|
import { SetCaseId } from '../../store/actions/icp.actions';
|
|
19
15
|
import * as fromDocumentsSelector from '../../store/selectors/document.selectors';
|
|
20
16
|
import { ViewerEventService } from '../viewer-event.service';
|
|
17
|
+
import { IcpService } from '../../icp/icp.service';
|
|
21
18
|
export class PdfViewerComponent {
|
|
22
|
-
|
|
23
|
-
* @param {?} store
|
|
24
|
-
* @param {?} icpStore
|
|
25
|
-
* @param {?} pdfJsWrapperFactory
|
|
26
|
-
* @param {?} printService
|
|
27
|
-
* @param {?} toolbarEvents
|
|
28
|
-
* @param {?} viewerEvents
|
|
29
|
-
* @param {?} toolbarButtons
|
|
30
|
-
*/
|
|
31
|
-
constructor(store, icpStore, pdfJsWrapperFactory, printService, toolbarEvents, viewerEvents, toolbarButtons) {
|
|
19
|
+
constructor(store, icpStore, pdfJsWrapperFactory, printService, toolbarEvents, viewerEvents, icpService, toolbarButtons) {
|
|
32
20
|
this.store = store;
|
|
33
21
|
this.icpStore = icpStore;
|
|
34
22
|
this.pdfJsWrapperFactory = pdfJsWrapperFactory;
|
|
35
23
|
this.printService = printService;
|
|
36
24
|
this.toolbarEvents = toolbarEvents;
|
|
37
25
|
this.viewerEvents = viewerEvents;
|
|
26
|
+
this.icpService = icpService;
|
|
38
27
|
this.toolbarButtons = toolbarButtons;
|
|
39
28
|
this.mediaLoadStatus = new EventEmitter();
|
|
40
29
|
this.pdfViewerException = new EventEmitter();
|
|
@@ -45,117 +34,38 @@ export class PdfViewerComponent {
|
|
|
45
34
|
this.loadingDocument = false;
|
|
46
35
|
this.hasDifferentPageSize = false;
|
|
47
36
|
this.enableGrabNDrag = false;
|
|
48
|
-
this.highlightMode = toolbarEvents.highlightModeSubject.pipe(tap((
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
51
|
-
() => {
|
|
37
|
+
this.highlightMode = toolbarEvents.highlightModeSubject.pipe(tap(() => {
|
|
52
38
|
this.store.dispatch(new fromTagActions.ClearFilterTags());
|
|
53
|
-
}))
|
|
39
|
+
}));
|
|
54
40
|
this.drawMode = toolbarEvents.drawModeSubject;
|
|
55
41
|
}
|
|
56
|
-
/**
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
42
|
ngAfterContentInit() {
|
|
60
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
this.pdfWrapper.documentLoadProgress.subscribe((
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this.pdfWrapper.documentLoaded.subscribe((/**
|
|
67
|
-
* @return {?}
|
|
68
|
-
*/
|
|
69
|
-
() => this.onDocumentLoaded()));
|
|
70
|
-
this.pdfWrapper.documentLoadFailed.subscribe((/**
|
|
71
|
-
* @param {?} error
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
|
-
(error) => this.onDocumentLoadFailed(error)));
|
|
75
|
-
this.pdfWrapper.outlineLoaded.subscribe((/**
|
|
76
|
-
* @param {?} outline
|
|
77
|
-
* @return {?}
|
|
78
|
-
*/
|
|
79
|
-
outline => this.documentOutline = outline));
|
|
80
|
-
this.pdfWrapper.pageRendered.subscribe((/**
|
|
81
|
-
* @param {?} event
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
(event) => this.updatePages(event)));
|
|
44
|
+
this.pdfWrapper.documentLoadProgress.subscribe(v => this.onDocumentLoadProgress(v));
|
|
45
|
+
this.pdfWrapper.documentLoaded.subscribe(() => this.onDocumentLoaded());
|
|
46
|
+
this.pdfWrapper.documentLoadFailed.subscribe((error) => this.onDocumentLoadFailed(error));
|
|
47
|
+
this.pdfWrapper.outlineLoaded.subscribe(outline => this.documentOutline = outline);
|
|
48
|
+
this.pdfWrapper.pageRendered.subscribe((event) => this.updatePages(event));
|
|
85
49
|
this.$subscription = this.toolbarEvents.printSubject
|
|
86
|
-
.subscribe((
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
(
|
|
90
|
-
this.$subscription.add(this.toolbarEvents.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
(
|
|
94
|
-
this.$subscription.add(this.toolbarEvents.
|
|
95
|
-
|
|
96
|
-
* @return {?}
|
|
97
|
-
*/
|
|
98
|
-
rotate => this.rotateDocument(rotate))));
|
|
99
|
-
this.$subscription.add(this.toolbarEvents.zoomSubject.subscribe((/**
|
|
100
|
-
* @param {?} zoom
|
|
101
|
-
* @return {?}
|
|
102
|
-
*/
|
|
103
|
-
zoom => this.setZoom(zoom))));
|
|
104
|
-
this.$subscription.add(this.toolbarEvents.stepZoomSubject.subscribe((/**
|
|
105
|
-
* @param {?} zoom
|
|
106
|
-
* @return {?}
|
|
107
|
-
*/
|
|
108
|
-
zoom => this.stepZoom(zoom))));
|
|
109
|
-
this.$subscription.add(this.toolbarEvents.searchSubject.subscribe((/**
|
|
110
|
-
* @param {?} search
|
|
111
|
-
* @return {?}
|
|
112
|
-
*/
|
|
113
|
-
search => this.pdfWrapper.search(search))));
|
|
114
|
-
this.$subscription.add(this.toolbarEvents.setCurrentPageSubject.subscribe((/**
|
|
115
|
-
* @param {?} pageNumber
|
|
116
|
-
* @return {?}
|
|
117
|
-
*/
|
|
118
|
-
pageNumber => this.pdfWrapper.setPageNumber(pageNumber))));
|
|
119
|
-
this.$subscription.add(this.toolbarEvents.changePageByDeltaSubject.subscribe((/**
|
|
120
|
-
* @param {?} pageNumber
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
pageNumber => this.pdfWrapper.changePageNumber(pageNumber))));
|
|
124
|
-
this.$subscription.add(this.toolbarEvents.grabNDrag.subscribe((/**
|
|
125
|
-
* @param {?} grabNDrag
|
|
126
|
-
* @return {?}
|
|
127
|
-
*/
|
|
128
|
-
grabNDrag => this.enableGrabNDrag = grabNDrag)));
|
|
129
|
-
this.$subscription.add(this.toolbarEvents.commentsPanelVisible.subscribe((/**
|
|
130
|
-
* @param {?} toggle
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
toggle => {
|
|
50
|
+
.subscribe(() => this.printService.printDocumentNatively(this.url));
|
|
51
|
+
this.$subscription.add(this.toolbarEvents.downloadSubject.subscribe(() => this.pdfWrapper.downloadFile(this.downloadUrl || this.url, this.downloadFileName)));
|
|
52
|
+
this.$subscription.add(this.toolbarEvents.rotateSubject.subscribe(rotate => this.rotateDocument(rotate)));
|
|
53
|
+
this.$subscription.add(this.toolbarEvents.zoomSubject.subscribe(zoom => this.setZoom(zoom)));
|
|
54
|
+
this.$subscription.add(this.toolbarEvents.stepZoomSubject.subscribe(zoom => this.stepZoom(zoom)));
|
|
55
|
+
this.$subscription.add(this.toolbarEvents.searchSubject.subscribe(search => this.pdfWrapper.search(search)));
|
|
56
|
+
this.$subscription.add(this.toolbarEvents.setCurrentPageSubject.subscribe(pageNumber => this.pdfWrapper.setPageNumber(pageNumber)));
|
|
57
|
+
this.$subscription.add(this.toolbarEvents.changePageByDeltaSubject.subscribe(pageNumber => this.pdfWrapper.changePageNumber(pageNumber)));
|
|
58
|
+
this.$subscription.add(this.toolbarEvents.grabNDrag.subscribe(grabNDrag => this.enableGrabNDrag = grabNDrag));
|
|
59
|
+
this.$subscription.add(this.toolbarEvents.commentsPanelVisible.subscribe(toggle => {
|
|
134
60
|
this.showCommentsPanel = toggle;
|
|
135
|
-
}))
|
|
136
|
-
this.$subscription.add(this.viewerEvents.navigationEvent.subscribe((
|
|
137
|
-
|
|
138
|
-
* @return {?}
|
|
139
|
-
*/
|
|
140
|
-
dest => this.goToDestination(dest))));
|
|
141
|
-
this.$subscription.add(this.toolbarEvents.icp.participantsListVisible.subscribe((/**
|
|
142
|
-
* @param {?} toggle
|
|
143
|
-
* @return {?}
|
|
144
|
-
*/
|
|
145
|
-
toggle => this.showIcpParticipantsList = toggle)));
|
|
61
|
+
}));
|
|
62
|
+
this.$subscription.add(this.viewerEvents.navigationEvent.subscribe(dest => this.goToDestination(dest)));
|
|
63
|
+
this.$subscription.add(this.toolbarEvents.icp.participantsListVisible.subscribe(toggle => this.showIcpParticipantsList = toggle));
|
|
146
64
|
this.$subscription.add(this.pdfWrapper.positionUpdated.asObservable()
|
|
147
65
|
.pipe(throttleTime(500, asyncScheduler, { leading: true, trailing: true }))
|
|
148
|
-
.subscribe((
|
|
149
|
-
* @param {?} event
|
|
150
|
-
* @return {?}
|
|
151
|
-
*/
|
|
152
|
-
event => this.store.dispatch(new PdfPositionUpdate(event.location)))));
|
|
66
|
+
.subscribe(event => this.store.dispatch(new PdfPositionUpdate(event.location))));
|
|
153
67
|
});
|
|
154
68
|
}
|
|
155
|
-
/**
|
|
156
|
-
* @param {?} changes
|
|
157
|
-
* @return {?}
|
|
158
|
-
*/
|
|
159
69
|
ngOnChanges(changes) {
|
|
160
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
71
|
if (!this.pdfWrapper) {
|
|
@@ -164,15 +74,8 @@ export class PdfViewerComponent {
|
|
|
164
74
|
if (changes.url && this.pdfWrapper) {
|
|
165
75
|
yield this.loadDocument();
|
|
166
76
|
if (this.enableRedactions) {
|
|
167
|
-
this.toolbarEvents.redactionMode.pipe(filter(
|
|
168
|
-
|
|
169
|
-
* @return {?}
|
|
170
|
-
*/
|
|
171
|
-
value => !!value)))
|
|
172
|
-
.subscribe((/**
|
|
173
|
-
* @return {?}
|
|
174
|
-
*/
|
|
175
|
-
() => this.resetRotation()));
|
|
77
|
+
this.toolbarEvents.redactionMode.pipe(filter(value => !!value))
|
|
78
|
+
.subscribe(() => this.resetRotation());
|
|
176
79
|
}
|
|
177
80
|
}
|
|
178
81
|
if (changes.caseId) {
|
|
@@ -180,25 +83,15 @@ export class PdfViewerComponent {
|
|
|
180
83
|
}
|
|
181
84
|
});
|
|
182
85
|
}
|
|
183
|
-
/**
|
|
184
|
-
* @return {?}
|
|
185
|
-
*/
|
|
186
86
|
resetRotation() {
|
|
187
87
|
if (this.hasDifferentPageSize) {
|
|
188
88
|
this.pdfWrapper.resetRotation(0);
|
|
189
89
|
this.rotation = 0;
|
|
190
90
|
}
|
|
191
91
|
}
|
|
192
|
-
/**
|
|
193
|
-
* @return {?}
|
|
194
|
-
*/
|
|
195
92
|
ngOnDestroy() {
|
|
196
93
|
this.$subscription.unsubscribe();
|
|
197
94
|
}
|
|
198
|
-
/**
|
|
199
|
-
* @private
|
|
200
|
-
* @return {?}
|
|
201
|
-
*/
|
|
202
95
|
loadDocument() {
|
|
203
96
|
return __awaiter(this, void 0, void 0, function* () {
|
|
204
97
|
this.initDocumentProgress();
|
|
@@ -206,36 +99,18 @@ export class PdfViewerComponent {
|
|
|
206
99
|
this.documentTitle.emit(this.pdfWrapper.getCurrentPDFTitle());
|
|
207
100
|
this.setPageHeights();
|
|
208
101
|
this.$subscription.add(this.store.pipe(select(fromDocumentsSelector.getPageDifference))
|
|
209
|
-
.subscribe(
|
|
210
|
-
* @param {?} hasDifferentPageSie
|
|
211
|
-
* @return {?}
|
|
212
|
-
*/
|
|
213
|
-
hasDifferentPageSie => this.hasDifferentPageSize = hasDifferentPageSie)));
|
|
102
|
+
.subscribe(hasDifferentPageSie => this.hasDifferentPageSize = hasDifferentPageSie));
|
|
214
103
|
});
|
|
215
104
|
}
|
|
216
|
-
/**
|
|
217
|
-
* @private
|
|
218
|
-
* @param {?} progress
|
|
219
|
-
* @return {?}
|
|
220
|
-
*/
|
|
221
105
|
onDocumentLoadProgress(progress) {
|
|
222
106
|
if (progress.total) {
|
|
223
107
|
this.loadingDocumentProgress = Math.min(100, Math.ceil(progress.loaded / progress.total * 100));
|
|
224
108
|
}
|
|
225
109
|
}
|
|
226
|
-
/**
|
|
227
|
-
* @private
|
|
228
|
-
* @return {?}
|
|
229
|
-
*/
|
|
230
110
|
onDocumentLoaded() {
|
|
231
111
|
this.loadingDocument = false;
|
|
232
112
|
this.mediaLoadStatus.emit(ResponseType.SUCCESS);
|
|
233
113
|
}
|
|
234
|
-
/**
|
|
235
|
-
* @private
|
|
236
|
-
* @param {?} error
|
|
237
|
-
* @return {?}
|
|
238
|
-
*/
|
|
239
114
|
onDocumentLoadFailed(error) {
|
|
240
115
|
this.loadingDocument = false;
|
|
241
116
|
this.viewerException = new ViewerException(error.name, { message: error.message });
|
|
@@ -243,58 +118,31 @@ export class PdfViewerComponent {
|
|
|
243
118
|
this.mediaLoadStatus.emit(ResponseType.FAILURE);
|
|
244
119
|
this.pdfViewerException.emit(this.viewerException);
|
|
245
120
|
}
|
|
246
|
-
/**
|
|
247
|
-
* @private
|
|
248
|
-
* @param {?} event
|
|
249
|
-
* @return {?}
|
|
250
|
-
*/
|
|
251
121
|
updatePages(event) {
|
|
252
122
|
if (this.enableAnnotations) {
|
|
253
123
|
this.store.dispatch(new fromDocumentActions.AddPages(event));
|
|
254
124
|
}
|
|
255
125
|
}
|
|
256
|
-
/**
|
|
257
|
-
* @param {?} hidden
|
|
258
|
-
* @return {?}
|
|
259
|
-
*/
|
|
260
126
|
set searchBarHidden(hidden) {
|
|
261
127
|
if (this.pdfWrapper && hidden) {
|
|
262
128
|
this.pdfWrapper.clearSearch();
|
|
263
129
|
}
|
|
264
130
|
}
|
|
265
|
-
/**
|
|
266
|
-
* @return {?}
|
|
267
|
-
*/
|
|
268
131
|
toggleCommentsSummary() {
|
|
269
132
|
this.toolbarEvents.toggleCommentsSummary(!this.toolbarEvents.showCommentSummary.getValue());
|
|
270
133
|
}
|
|
271
|
-
/**
|
|
272
|
-
* @private
|
|
273
|
-
* @param {?} rotation
|
|
274
|
-
* @return {?}
|
|
275
|
-
*/
|
|
276
134
|
rotateDocument(rotation) {
|
|
277
|
-
/** @type {?} */
|
|
278
135
|
const pageNumber = this.pdfWrapper.getPageNumber();
|
|
279
136
|
this.pdfWrapper.rotate(rotation);
|
|
280
137
|
this.pdfWrapper.setPageNumber(pageNumber);
|
|
281
138
|
this.rotation = (this.rotation + rotation) % 360;
|
|
282
139
|
this.setPageHeights();
|
|
283
140
|
}
|
|
284
|
-
/**
|
|
285
|
-
* @private
|
|
286
|
-
* @return {?}
|
|
287
|
-
*/
|
|
288
141
|
initDocumentProgress() {
|
|
289
142
|
this.loadingDocument = true;
|
|
290
143
|
this.loadingDocumentProgress = null;
|
|
291
144
|
this.errorMessage = null;
|
|
292
145
|
}
|
|
293
|
-
/**
|
|
294
|
-
* @private
|
|
295
|
-
* @param {?} zoomFactor
|
|
296
|
-
* @return {?}
|
|
297
|
-
*/
|
|
298
146
|
setZoom(zoomFactor) {
|
|
299
147
|
if (!isNaN(zoomFactor)) {
|
|
300
148
|
this.pdfWrapper.setZoom(zoomFactor);
|
|
@@ -302,11 +150,6 @@ export class PdfViewerComponent {
|
|
|
302
150
|
this.setPageHeights();
|
|
303
151
|
}
|
|
304
152
|
}
|
|
305
|
-
/**
|
|
306
|
-
* @private
|
|
307
|
-
* @param {?} zoomFactor
|
|
308
|
-
* @return {?}
|
|
309
|
-
*/
|
|
310
153
|
stepZoom(zoomFactor) {
|
|
311
154
|
if (!isNaN(zoomFactor)) {
|
|
312
155
|
this.pdfWrapper.stepZoom(zoomFactor);
|
|
@@ -314,24 +157,14 @@ export class PdfViewerComponent {
|
|
|
314
157
|
this.setPageHeights();
|
|
315
158
|
}
|
|
316
159
|
}
|
|
317
|
-
/**
|
|
318
|
-
* @return {?}
|
|
319
|
-
*/
|
|
320
160
|
setPageHeights() {
|
|
321
161
|
this.pageHeights = [];
|
|
322
|
-
/** @type {?} */
|
|
323
162
|
const pdfViewerChildren = this.pdfViewer.nativeElement.children;
|
|
324
163
|
for (let i = 0; i < pdfViewerChildren.length; i++) {
|
|
325
164
|
this.pageHeights.push(pdfViewerChildren[i].clientHeight);
|
|
326
165
|
}
|
|
327
166
|
}
|
|
328
|
-
/**
|
|
329
|
-
* @param {?} zoomValue
|
|
330
|
-
* @param {?=} increment
|
|
331
|
-
* @return {?}
|
|
332
|
-
*/
|
|
333
167
|
calculateZoomValue(zoomValue, increment = 0) {
|
|
334
|
-
/** @type {?} */
|
|
335
168
|
const newZoomValue = zoomValue + increment;
|
|
336
169
|
if (newZoomValue > 5) {
|
|
337
170
|
return 5;
|
|
@@ -341,21 +174,19 @@ export class PdfViewerComponent {
|
|
|
341
174
|
}
|
|
342
175
|
return +newZoomValue.toFixed(2);
|
|
343
176
|
}
|
|
344
|
-
/**
|
|
345
|
-
* @private
|
|
346
|
-
* @param {?} destination
|
|
347
|
-
* @return {?}
|
|
348
|
-
*/
|
|
349
177
|
goToDestination(destination) {
|
|
350
178
|
this.pdfWrapper.navigateTo(destination);
|
|
351
179
|
}
|
|
180
|
+
getCurrentPageNumber() {
|
|
181
|
+
return this.pdfWrapper.getPageNumber();
|
|
182
|
+
}
|
|
352
183
|
}
|
|
353
184
|
PdfViewerComponent.decorators = [
|
|
354
185
|
{ type: Component, args: [{
|
|
355
186
|
selector: 'mv-pdf-viewer',
|
|
356
|
-
template: "<mv-side-bar *ngIf=\"toolbarEvents.sidebarOpen\"\n id=\"sidebarContainer\"\n [url]=\"url\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [outline]=\"documentOutline\"\n [annotationsEnabled]=\"enableAnnotations\">\n</mv-side-bar>\n<mv-comment-set-header\n *ngIf=\"enableAnnotations\"\n [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<mv-participants-list></mv-participants-list>\n<div\n class=\"pdfContainer\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ 'pdfContainer': true, hidden: errorMessage }\">\n <div\n #viewerContainer\n mvGrabNDrag\n [dragX]=\"viewerContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewerContainer\"\n class=\"viewer-container\"\n [class.annotations]=\"enableAnnotations\"\n [class.show-comments-panel]=\"(showCommentsPanel || showIcpParticipantsList) && !(toolbarEvents.redactionMode | async)\"\n [class.grabNDrag]=\"enableGrabNDrag\">\n <div #pdfViewer\n class=\"pdfViewer\"\n mvCreateTextHighlight\n [ngClass]=\"{ hidden: loadingDocument, highlightMode: highlightMode | async, drawMode: drawMode | async }\">\n </div>\n <mv-redactions *ngIf=\"(toolbarEvents.redactionMode | async); else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-metadata-layer>\n <mv-bookmark-icons [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-bookmark-icons>\n </ng-template>\n </div>\n <mv-comment-set [contentScrollTop]=\"viewerContainer.scrollTop\"\n *ngIf=\"enableAnnotations && annotationSet && !(toolbarEvents.redactionMode | async)\"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"pdfViewer.offsetHeight\"\n [pageHeights]=\"pageHeights\">\n </mv-comment-set>\n <div class=\"loadingMessage\" *ngIf=\"loadingDocument\">\n <h3 class=\"govuk-heading-m\">Loading...{{ loadingDocumentProgress ? loadingDocumentProgress + '%' : '' }}</h3>\n </div>\n</div>\n",
|
|
187
|
+
template: "<mv-side-bar *ngIf=\"toolbarEvents.sidebarOpen\"\n id=\"sidebarContainer\"\n [url]=\"url\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [outline]=\"documentOutline\"\n [annotationsEnabled]=\"enableAnnotations\"\n [currentPageNumber]=\"getCurrentPageNumber()\">\n</mv-side-bar>\n<mv-comment-set-header\n *ngIf=\"enableAnnotations\"\n [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<mv-participants-list></mv-participants-list>\n<div\n class=\"pdfContainer\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ 'pdfContainer': true, hidden: errorMessage }\">\n <div\n #viewerContainer\n mvGrabNDrag\n [dragX]=\"viewerContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewerContainer\"\n class=\"viewer-container\"\n [class.annotations]=\"enableAnnotations\"\n [class.show-comments-panel]=\"(showCommentsPanel || showIcpParticipantsList) && !(toolbarEvents.redactionMode | async)\"\n [class.grabNDrag]=\"enableGrabNDrag\">\n <div #pdfViewer\n class=\"pdfViewer\"\n mvCreateTextHighlight\n [ngClass]=\"{ hidden: loadingDocument, highlightMode: highlightMode | async, drawMode: drawMode | async }\">\n </div>\n <mv-redactions *ngIf=\"(toolbarEvents.redactionMode | async); else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-metadata-layer>\n <mv-bookmark-icons [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-bookmark-icons>\n </ng-template>\n </div>\n <mv-comment-set [contentScrollTop]=\"viewerContainer.scrollTop\"\n *ngIf=\"enableAnnotations && annotationSet && !(toolbarEvents.redactionMode | async)\"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"pdfViewer.offsetHeight\"\n [pageHeights]=\"pageHeights\">\n </mv-comment-set>\n <div class=\"loadingMessage\" *ngIf=\"loadingDocument\">\n <h3 class=\"govuk-heading-m\">Loading...{{ loadingDocumentProgress ? loadingDocumentProgress + '%' : '' }}</h3>\n </div>\n</div>\n",
|
|
357
188
|
encapsulation: ViewEncapsulation.None
|
|
358
|
-
}] }
|
|
189
|
+
},] }
|
|
359
190
|
];
|
|
360
191
|
/** @nocollapse */
|
|
361
192
|
PdfViewerComponent.ctorParameters = () => [
|
|
@@ -365,6 +196,7 @@ PdfViewerComponent.ctorParameters = () => [
|
|
|
365
196
|
{ type: PrintService },
|
|
366
197
|
{ type: ToolbarEventService },
|
|
367
198
|
{ type: ViewerEventService },
|
|
199
|
+
{ type: IcpService },
|
|
368
200
|
{ type: ToolbarButtonVisibilityService }
|
|
369
201
|
];
|
|
370
202
|
PdfViewerComponent.propDecorators = {
|
|
@@ -384,104 +216,4 @@ PdfViewerComponent.propDecorators = {
|
|
|
384
216
|
pdfViewer: [{ type: ViewChild, args: ['pdfViewer', { static: false },] }],
|
|
385
217
|
searchBarHidden: [{ type: Input }]
|
|
386
218
|
};
|
|
387
|
-
if (false) {
|
|
388
|
-
/** @type {?} */
|
|
389
|
-
PdfViewerComponent.prototype.mediaLoadStatus;
|
|
390
|
-
/** @type {?} */
|
|
391
|
-
PdfViewerComponent.prototype.pdfViewerException;
|
|
392
|
-
/** @type {?} */
|
|
393
|
-
PdfViewerComponent.prototype.documentTitle;
|
|
394
|
-
/** @type {?} */
|
|
395
|
-
PdfViewerComponent.prototype.downloadUrl;
|
|
396
|
-
/** @type {?} */
|
|
397
|
-
PdfViewerComponent.prototype.url;
|
|
398
|
-
/** @type {?} */
|
|
399
|
-
PdfViewerComponent.prototype.downloadFileName;
|
|
400
|
-
/** @type {?} */
|
|
401
|
-
PdfViewerComponent.prototype.enableAnnotations;
|
|
402
|
-
/** @type {?} */
|
|
403
|
-
PdfViewerComponent.prototype.enableRedactions;
|
|
404
|
-
/** @type {?} */
|
|
405
|
-
PdfViewerComponent.prototype.enableICP;
|
|
406
|
-
/** @type {?} */
|
|
407
|
-
PdfViewerComponent.prototype.annotationSet;
|
|
408
|
-
/** @type {?} */
|
|
409
|
-
PdfViewerComponent.prototype.height;
|
|
410
|
-
/** @type {?} */
|
|
411
|
-
PdfViewerComponent.prototype.pageHeights;
|
|
412
|
-
/** @type {?} */
|
|
413
|
-
PdfViewerComponent.prototype.rotation;
|
|
414
|
-
/** @type {?} */
|
|
415
|
-
PdfViewerComponent.prototype.zoom;
|
|
416
|
-
/** @type {?} */
|
|
417
|
-
PdfViewerComponent.prototype.caseId;
|
|
418
|
-
/** @type {?} */
|
|
419
|
-
PdfViewerComponent.prototype.highlightMode;
|
|
420
|
-
/** @type {?} */
|
|
421
|
-
PdfViewerComponent.prototype.drawMode;
|
|
422
|
-
/** @type {?} */
|
|
423
|
-
PdfViewerComponent.prototype.documentOutline;
|
|
424
|
-
/** @type {?} */
|
|
425
|
-
PdfViewerComponent.prototype.loadingDocument;
|
|
426
|
-
/** @type {?} */
|
|
427
|
-
PdfViewerComponent.prototype.loadingDocumentProgress;
|
|
428
|
-
/** @type {?} */
|
|
429
|
-
PdfViewerComponent.prototype.errorMessage;
|
|
430
|
-
/** @type {?} */
|
|
431
|
-
PdfViewerComponent.prototype.hasDifferentPageSize;
|
|
432
|
-
/** @type {?} */
|
|
433
|
-
PdfViewerComponent.prototype.viewerContainer;
|
|
434
|
-
/** @type {?} */
|
|
435
|
-
PdfViewerComponent.prototype.pdfViewer;
|
|
436
|
-
/**
|
|
437
|
-
* @type {?}
|
|
438
|
-
* @private
|
|
439
|
-
*/
|
|
440
|
-
PdfViewerComponent.prototype.pdfWrapper;
|
|
441
|
-
/**
|
|
442
|
-
* @type {?}
|
|
443
|
-
* @private
|
|
444
|
-
*/
|
|
445
|
-
PdfViewerComponent.prototype.$subscription;
|
|
446
|
-
/**
|
|
447
|
-
* @type {?}
|
|
448
|
-
* @private
|
|
449
|
-
*/
|
|
450
|
-
PdfViewerComponent.prototype.viewerException;
|
|
451
|
-
/** @type {?} */
|
|
452
|
-
PdfViewerComponent.prototype.showCommentsPanel;
|
|
453
|
-
/** @type {?} */
|
|
454
|
-
PdfViewerComponent.prototype.showIcpParticipantsList;
|
|
455
|
-
/** @type {?} */
|
|
456
|
-
PdfViewerComponent.prototype.enableGrabNDrag;
|
|
457
|
-
/**
|
|
458
|
-
* @type {?}
|
|
459
|
-
* @private
|
|
460
|
-
*/
|
|
461
|
-
PdfViewerComponent.prototype.store;
|
|
462
|
-
/**
|
|
463
|
-
* @type {?}
|
|
464
|
-
* @private
|
|
465
|
-
*/
|
|
466
|
-
PdfViewerComponent.prototype.icpStore;
|
|
467
|
-
/**
|
|
468
|
-
* @type {?}
|
|
469
|
-
* @private
|
|
470
|
-
*/
|
|
471
|
-
PdfViewerComponent.prototype.pdfJsWrapperFactory;
|
|
472
|
-
/**
|
|
473
|
-
* @type {?}
|
|
474
|
-
* @private
|
|
475
|
-
*/
|
|
476
|
-
PdfViewerComponent.prototype.printService;
|
|
477
|
-
/** @type {?} */
|
|
478
|
-
PdfViewerComponent.prototype.toolbarEvents;
|
|
479
|
-
/**
|
|
480
|
-
* @type {?}
|
|
481
|
-
* @private
|
|
482
|
-
*/
|
|
483
|
-
PdfViewerComponent.prototype.viewerEvents;
|
|
484
|
-
/** @type {?} */
|
|
485
|
-
PdfViewerComponent.prototype.toolbarButtons;
|
|
486
|
-
}
|
|
487
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3ZpZXdlcnMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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QW1DOztJQUVuQyw2Q0FBeUI7O0lBQ3pCLDZDQUF3Qjs7SUFDeEIscURBQWdDOztJQUNoQywwQ0FBcUI7O0lBQ3JCLGtEQUE2Qjs7SUFFN0IsNkNBQTBGOztJQUMxRix1Q0FBK0U7Ozs7O0lBRS9FLHdDQUFpQzs7Ozs7SUFDakMsMkNBQW9DOzs7OztJQUNwQyw2Q0FBeUM7O0lBQ3pDLCtDQUEyQjs7SUFDM0IscURBQWlDOztJQUNqQyw2Q0FBd0I7Ozs7O0lBR3RCLG1DQUFrRDs7Ozs7SUFDbEQsc0NBQWlDOzs7OztJQUNqQyxpREFBeUQ7Ozs7O0lBQ3pELDBDQUEyQzs7SUFDM0MsMkNBQWtEOzs7OztJQUNsRCwwQ0FBaUQ7O0lBQ2pELDRDQUE4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERvY3VtZW50TG9hZFByb2dyZXNzLCBQYWdlRXZlbnQsIFBkZkpzV3JhcHBlciB9IGZyb20gJy4vcGRmLWpzL3BkZi1qcy13cmFwcGVyJztcbmltcG9ydCB7IFBkZkpzV3JhcHBlckZhY3RvcnkgfSBmcm9tICcuL3BkZi1qcy9wZGYtanMtd3JhcHBlci5wcm92aWRlcic7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlLCBWaWV3ZXJFeGNlcHRpb24gfSBmcm9tICcuLi92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1lbnRTZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50LXNldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBkZlBvc2l0aW9uVXBkYXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21UYWdBY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvdGFnLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2V0Q2FzZUlkIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9pY3AuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRzU2VsZWN0b3IgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBJY3BTdGF0ZSB9IGZyb20gJy4uLy4uL2ljcC9pY3AuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBWaWV3ZXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItZXZlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXBkZi12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHBkZlZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgZG9jdW1lbnRUaXRsZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZUlDUDogYm9vbGVhbjtcbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldCB8IG51bGw7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gIHBhZ2VIZWlnaHRzID0gW107XG4gIHJvdGF0aW9uID0gMDtcbiAgem9vbSA9IDE7XG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgaGlnaGxpZ2h0TW9kZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZHJhd01vZGU6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBkb2N1bWVudE91dGxpbmU6IE91dGxpbmU7XG4gIGxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICBsb2FkaW5nRG9jdW1lbnRQcm9ncmVzczogbnVtYmVyO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJDb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkgdmlld2VyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGRmVmlld2VyJywge3N0YXRpYzogZmFsc2V9KSBwZGZWaWV3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcGRmV3JhcHBlcjogUGRmSnNXcmFwcGVyO1xuICBwcml2YXRlICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgc2hvd0NvbW1lbnRzUGFuZWw6IGJvb2xlYW47XG4gIHNob3dJY3BQYXJ0aWNpcGFudHNMaXN0OiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIGljcFN0b3JlOiBTdG9yZTxJY3BTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZGZKc1dyYXBwZXJGYWN0b3J5OiBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckJ1dHRvbnM6IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5oaWdobGlnaHRNb2RlID0gdG9vbGJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5waXBlKHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tVGFnQWN0aW9ucy5DbGVhckZpbHRlclRhZ3MoKSk7XG4gICAgfSkpO1xuICAgIHRoaXMuZHJhd01vZGUgPSB0b29sYmFyRXZlbnRzLmRyYXdNb2RlU3ViamVjdDtcbiAgfVxuXG4gIGFzeW5jIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkUHJvZ3Jlc3Muc3Vic2NyaWJlKHYgPT4gdGhpcy5vbkRvY3VtZW50TG9hZFByb2dyZXNzKHYpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Eb2N1bWVudExvYWRlZCgpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkRmFpbGVkLnN1YnNjcmliZSgoZXJyb3IpID0+IHRoaXMub25Eb2N1bWVudExvYWRGYWlsZWQoZXJyb3IpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIub3V0bGluZUxvYWRlZC5zdWJzY3JpYmUob3V0bGluZSA9PiB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmUpO1xuICAgIHRoaXMucGRmV3JhcHBlci5wYWdlUmVuZGVyZWQuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy51cGRhdGVQYWdlcyhldmVudCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5wcmludFN1YmplY3RcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmludFNlcnZpY2UucHJpbnREb2N1bWVudE5hdGl2ZWx5KHRoaXMudXJsKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy5wZGZXcmFwcGVyLmRvd25sb2FkRmlsZSh0aGlzLmRvd25sb2FkVXJsIHx8IHRoaXMudXJsLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpXG4gICAgKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5zdWJzY3JpYmUocm90YXRlID0+IHRoaXMucm90YXRlRG9jdW1lbnQocm90YXRlKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc2V0Wm9vbSh6b29tKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnN0ZXBab29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnN0ZXBab29tKHpvb20pKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoU3ViamVjdC5zdWJzY3JpYmUoc2VhcmNoID0+IHRoaXMucGRmV3JhcHBlci5zZWFyY2goc2VhcmNoKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2V0Q3VycmVudFBhZ2VTdWJqZWN0LnN1YnNjcmliZShwYWdlTnVtYmVyID0+IHRoaXMucGRmV3JhcHBlci5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5jaGFuZ2VQYWdlQnlEZWx0YVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5wZGZXcmFwcGVyLmNoYW5nZVBhZ2VOdW1iZXIocGFnZU51bWJlcikpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5ncmFiTkRyYWcuc3Vic2NyaWJlKGdyYWJORHJhZyA9PiB0aGlzLmVuYWJsZUdyYWJORHJhZyA9IGdyYWJORHJhZykpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmNvbW1lbnRzUGFuZWxWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4ge1xuICAgICAgICB0aGlzLnNob3dDb21tZW50c1BhbmVsID0gdG9nZ2xlO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy52aWV3ZXJFdmVudHMubmF2aWdhdGlvbkV2ZW50LnN1YnNjcmliZShkZXN0ID0+IHRoaXMuZ29Ub0Rlc3RpbmF0aW9uKGRlc3QpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5pY3AucGFydGljaXBhbnRzTGlzdFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB0aGlzLnNob3dJY3BQYXJ0aWNpcGFudHNMaXN0ID0gdG9nZ2xlKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnBkZldyYXBwZXIucG9zaXRpb25VcGRhdGVkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZSh0aHJvdHRsZVRpbWUoNTAwLCBhc3luY1NjaGVkdWxlciwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUGRmUG9zaXRpb25VcGRhdGUoZXZlbnQubG9jYXRpb24pKSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy5wZGZXcmFwcGVyKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIgPSB0aGlzLnBkZkpzV3JhcHBlckZhY3RvcnkuY3JlYXRlKHRoaXMudmlld2VyQ29udGFpbmVyKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMudXJsICYmIHRoaXMucGRmV3JhcHBlcikge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRG9jdW1lbnQoKTtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMpIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUucGlwZShmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Um90YXRpb24oKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNhc2VJZCkge1xuICAgICAgdGhpcy5pY3BTdG9yZS5kaXNwYXRjaChuZXcgU2V0Q2FzZUlkKHRoaXMuY2FzZUlkKSk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRSb3RhdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnJlc2V0Um90YXRpb24oMCk7XG4gICAgICB0aGlzLnJvdGF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERvY3VtZW50KCkge1xuICAgIHRoaXMuaW5pdERvY3VtZW50UHJvZ3Jlc3MoKTtcbiAgICBhd2FpdCB0aGlzLnBkZldyYXBwZXIubG9hZERvY3VtZW50KHRoaXMudXJsKTtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUuZW1pdCh0aGlzLnBkZldyYXBwZXIuZ2V0Q3VycmVudFBERlRpdGxlKCkpO1xuICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50c1NlbGVjdG9yLmdldFBhZ2VEaWZmZXJlbmNlKSlcbiAgICAgIC5zdWJzY3JpYmUoaGFzRGlmZmVyZW50UGFnZVNpZSA9PiB0aGlzLmhhc0RpZmZlcmVudFBhZ2VTaXplID0gaGFzRGlmZmVyZW50UGFnZVNpZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZFByb2dyZXNzKHByb2dyZXNzOiBEb2N1bWVudExvYWRQcm9ncmVzcykge1xuICAgIGlmIChwcm9ncmVzcy50b3RhbCkge1xuICAgICAgdGhpcy5sb2FkaW5nRG9jdW1lbnRQcm9ncmVzcyA9IE1hdGgubWluKDEwMCwgTWF0aC5jZWlsKHByb2dyZXNzLmxvYWRlZCAvIHByb2dyZXNzLnRvdGFsICogMTAwKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZGVkKCkge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gZmFsc2U7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuU1VDQ0VTUyk7XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkRmFpbGVkKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gZmFsc2U7XG4gICAgdGhpcy52aWV3ZXJFeGNlcHRpb24gPSBuZXcgVmlld2VyRXhjZXB0aW9uKGVycm9yLm5hbWUsIHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGBDb3VsZCBub3QgbG9hZCB0aGUgZG9jdW1lbnQgXCIke3RoaXMudXJsfVwiYDtcblxuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLkZBSUxVUkUpO1xuICAgIHRoaXMucGRmVmlld2VyRXhjZXB0aW9uLmVtaXQodGhpcy52aWV3ZXJFeGNlcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYWdlcyhldmVudDogUGFnZUV2ZW50W10pIHtcbiAgICBpZiAodGhpcy5lbmFibGVBbm5vdGF0aW9ucykge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5BZGRQYWdlcyhldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWFyY2hCYXJIaWRkZW4oaGlkZGVuOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMucGRmV3JhcHBlciAmJiBoaWRkZW4pIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5jbGVhclNlYXJjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNvbW1lbnRzU3VtbWFyeSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCF0aGlzLnRvb2xiYXJFdmVudHMuc2hvd0NvbW1lbnRTdW1tYXJ5LmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByb3RhdGVEb2N1bWVudChyb3RhdGlvbjogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFnZU51bWJlciA9IHRoaXMucGRmV3JhcHBlci5nZXRQYWdlTnVtYmVyKCk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnJvdGF0ZShyb3RhdGlvbik7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG4gICAgdGhpcy5yb3RhdGlvbiA9ICh0aGlzLnJvdGF0aW9uICsgcm90YXRpb24pICUgMzYwO1xuXG4gICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RG9jdW1lbnRQcm9ncmVzcygpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnRQcm9ncmVzcyA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5zZXRab29tKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy56b29tID0gdGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuc3RlcFpvb20oem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnpvb20gPSB0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2VIZWlnaHRzKCkge1xuICAgIHRoaXMucGFnZUhlaWdodHMgPSBbXTtcbiAgICBjb25zdCBwZGZWaWV3ZXJDaGlsZHJlbiA9IHRoaXMucGRmVmlld2VyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZGZWaWV3ZXJDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5wYWdlSGVpZ2h0cy5wdXNoKHBkZlZpZXdlckNoaWxkcmVuW2ldLmNsaWVudEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlWm9vbVZhbHVlKHpvb21WYWx1ZSwgaW5jcmVtZW50ID0gMCkge1xuICAgIGNvbnN0IG5ld1pvb21WYWx1ZSA9IHpvb21WYWx1ZSArIGluY3JlbWVudDtcbiAgICBpZiAobmV3Wm9vbVZhbHVlID4gNSkge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICAgIGlmIChuZXdab29tVmFsdWUgPCAwLjEpIHtcbiAgICAgIHJldHVybiAwLjE7XG4gICAgfVxuICAgIHJldHVybiArbmV3Wm9vbVZhbHVlLnRvRml4ZWQoMik7XG4gIH1cblxuICBwcml2YXRlIGdvVG9EZXN0aW5hdGlvbihkZXN0aW5hdGlvbjogYW55W10pIHtcbiAgICB0aGlzLnBkZldyYXBwZXIubmF2aWdhdGVUbyhkZXN0aW5hdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPbkQsTUFBTSxPQUFPLGtCQUFrQjtJQXlDN0IsWUFDVSxLQUEwQyxFQUMxQyxRQUF5QixFQUNoQixtQkFBd0MsRUFDeEMsWUFBMEIsRUFDM0IsYUFBa0MsRUFDakMsWUFBZ0MsRUFDekMsVUFBc0IsRUFDZCxjQUE4QztRQVB0RCxVQUFLLEdBQUwsS0FBSyxDQUFxQztRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUNoQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQS9DdEQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUNuRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUN6RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFZckQsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFNBQUksR0FBRyxDQUFDLENBQUM7UUFRVCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUd4Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFVN0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFZdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDO0lBQ2hELENBQUM7SUFFSyxrQkFBa0I7O1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVk7aUJBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNsRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDNUcsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDbEgsQ0FBQztZ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QUM7U0FDVjtRQUNELElBQUksWUFBWSxHQUFHLEdBQUcsRUFBRTtZQUN0QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUFrQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7WUFuT0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qiw2aUZBQTBDO2dCQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQXpCZ0IsS0FBSztZQUFMLEtBQUs7WUFHYixtQkFBbUI7WUFHbkIsWUFBWTtZQURaLG1CQUFtQjtZQWFuQixrQkFBa0I7WUFDbEIsVUFBVTtZQVhWLDhCQUE4Qjs7OzhCQW9CcEMsTUFBTTtpQ0FDTixNQUFNOzRCQUNOLE1BQU07MEJBRU4sS0FBSztrQkFDTCxLQUFLOytCQUNMLEtBQUs7Z0NBRUwsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSztxQkFFTCxLQUFLO3FCQUtMLEtBQUs7OEJBV0wsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzt3QkFDM0MsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7OEJBMkh0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgRG9jdW1lbnRMb2FkUHJvZ3Jlc3MsIFBhZ2VFdmVudCwgUGRmSnNXcmFwcGVyIH0gZnJvbSAnLi9wZGYtanMvcGRmLWpzLXdyYXBwZXInO1xuaW1wb3J0IHsgUGRmSnNXcmFwcGVyRmFjdG9yeSB9IGZyb20gJy4vcGRmLWpzL3BkZi1qcy13cmFwcGVyLnByb3ZpZGVyJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbWVudFNldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50QWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb25VcGRhdGUgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVRhZ0FjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy90YWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXRDYXNlSWQgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2ljcC5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEljcFN0YXRlIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY3AvaWNwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1wZGYtdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBwZGZWaWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcbiAgQE91dHB1dCgpIGRvY3VtZW50VGl0bGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASW5wdXQoKSBkb3dubG9hZFVybDogc3RyaW5nO1xuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVSZWRhY3Rpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVJQ1A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFubm90YXRpb25TZXQ6IEFubm90YXRpb25TZXQgfCBudWxsO1xuXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xuICBwYWdlSGVpZ2h0cyA9IFtdO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIGhpZ2hsaWdodE1vZGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRyYXdNb2RlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgZG9jdW1lbnRPdXRsaW5lOiBPdXRsaW5lO1xuICBsb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgbG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3M6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyQ29udGFpbmVyJywge3N0YXRpYzogdHJ1ZX0pIHZpZXdlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BkZlZpZXdlcicsIHtzdGF0aWM6IGZhbHNlfSkgcGRmVmlld2VyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHBkZldyYXBwZXI6IFBkZkpzV3JhcHBlcjtcbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdmlld2VyRXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb247XG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBzaG93SWNwUGFydGljaXBhbnRzTGlzdDogYm9vbGVhbjtcbiAgZW5hYmxlR3JhYk5EcmFnID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHJpdmF0ZSBpY3BTdG9yZTogU3RvcmU8SWNwU3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmSnNXcmFwcGVyRmFjdG9yeTogUGRmSnNXcmFwcGVyRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpY3BTZXJ2aWNlOiBJY3BTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmhpZ2hsaWdodE1vZGUgPSB0b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0LnBpcGUodGFwKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21UYWdBY3Rpb25zLkNsZWFyRmlsdGVyVGFncygpKTtcbiAgICB9KSk7XG4gICAgdGhpcy5kcmF3TW9kZSA9IHRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0O1xuICB9XG5cbiAgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRQcm9ncmVzcy5zdWJzY3JpYmUodiA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3ModikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkRvY3VtZW50TG9hZGVkKCkpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRGYWlsZWQuc3Vic2NyaWJlKChlcnJvcikgPT4gdGhpcy5vbkRvY3VtZW50TG9hZEZhaWxlZChlcnJvcikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5vdXRsaW5lTG9hZGVkLnN1YnNjcmliZShvdXRsaW5lID0+IHRoaXMuZG9jdW1lbnRPdXRsaW5lID0gb3V0bGluZSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnBhZ2VSZW5kZXJlZC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLnVwZGF0ZVBhZ2VzKGV2ZW50KSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByaW50U2VydmljZS5wcmludERvY3VtZW50TmF0aXZlbHkodGhpcy51cmwpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLnBkZldyYXBwZXIuZG93bmxvYWRGaWxlKHRoaXMuZG93bmxvYWRVcmwgfHwgdGhpcy51cmwsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSlcbiAgICApKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGVTdWJqZWN0LnN1YnNjcmliZShyb3RhdGUgPT4gdGhpcy5yb3RhdGVEb2N1bWVudChyb3RhdGUpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuem9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zZXRab29tKHpvb20pKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hTdWJqZWN0LnN1YnNjcmliZShzZWFyY2ggPT4gdGhpcy5wZGZXcmFwcGVyLnNlYXJjaChzZWFyY2gpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRDdXJyZW50UGFnZVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5wZGZXcmFwcGVyLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcikpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmNoYW5nZVBhZ2VCeURlbHRhU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBkZldyYXBwZXIuY2hhbmdlUGFnZU51bWJlcihwYWdlTnVtYmVyKSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuY29tbWVudHNQYW5lbFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGU7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnZpZXdlckV2ZW50cy5uYXZpZ2F0aW9uRXZlbnQuc3Vic2NyaWJlKGRlc3QgPT4gdGhpcy5nb1RvRGVzdGluYXRpb24oZGVzdCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmljcC5wYXJ0aWNpcGFudHNMaXN0VmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0ljcFBhcnRpY2lwYW50c0xpc3QgPSB0b2dnbGUpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMucGRmV3JhcHBlci5wb3NpdGlvblVwZGF0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKHRocm90dGxlVGltZSg1MDAsIGFzeW5jU2NoZWR1bGVyLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQZGZQb3NpdGlvblVwZGF0ZShldmVudC5sb2NhdGlvbikpKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCF0aGlzLnBkZldyYXBwZXIpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlciA9IHRoaXMucGRmSnNXcmFwcGVyRmFjdG9yeS5jcmVhdGUodGhpcy52aWV3ZXJDb250YWluZXIpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy51cmwgJiYgdGhpcy5wZGZXcmFwcGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWREb2N1bWVudCgpO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUmVkYWN0aW9ucykge1xuICAgICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZS5waXBlKGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRSb3RhdGlvbigpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY2FzZUlkKSB7XG4gICAgICB0aGlzLmljcFN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDYXNlSWQodGhpcy5jYXNlSWQpKTtcbiAgICB9XG4gIH1cblxuICByZXNldFJvdGF0aW9uKCkge1xuICAgIGlmICh0aGlzLmhhc0RpZmZlcmVudFBhZ2VTaXplKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIucmVzZXRSb3RhdGlvbigwKTtcbiAgICAgIHRoaXMucm90YXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRG9jdW1lbnQoKSB7XG4gICAgdGhpcy5pbml0RG9jdW1lbnRQcm9ncmVzcygpO1xuICAgIGF3YWl0IHRoaXMucGRmV3JhcHBlci5sb2FkRG9jdW1lbnQodGhpcy51cmwpO1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZS5lbWl0KHRoaXMucGRmV3JhcHBlci5nZXRDdXJyZW50UERGVGl0bGUoKSk7XG4gICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzU2VsZWN0b3IuZ2V0UGFnZURpZmZlcmVuY2UpKVxuICAgICAgLnN1YnNjcmliZShoYXNEaWZmZXJlbnRQYWdlU2llID0+IHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUgPSBoYXNEaWZmZXJlbnRQYWdlU2llKSk7XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3MocHJvZ3Jlc3M6IERvY3VtZW50TG9hZFByb2dyZXNzKSB7XG4gICAgaWYgKHByb2dyZXNzLnRvdGFsKSB7XG4gICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gTWF0aC5taW4oMTAwLCBNYXRoLmNlaWwocHJvZ3Jlc3MubG9hZGVkIC8gcHJvZ3Jlc3MudG90YWwgKiAxMDApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkZWQoKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5TVUNDRVNTKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRGYWlsZWQoZXJyb3I6IEVycm9yKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbiA9IG5ldyBWaWV3ZXJFeGNlcHRpb24oZXJyb3IubmFtZSwgeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gYENvdWxkIG5vdCBsb2FkIHRoZSBkb2N1bWVudCBcIiR7dGhpcy51cmx9XCJgO1xuXG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5wZGZWaWV3ZXJFeGNlcHRpb24uZW1pdCh0aGlzLnZpZXdlckV4Y2VwdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVBhZ2VzKGV2ZW50OiBQYWdlRXZlbnRbXSkge1xuICAgIGlmICh0aGlzLmVuYWJsZUFubm90YXRpb25zKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLkFkZFBhZ2VzKGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaEJhckhpZGRlbihoaWRkZW46IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5wZGZXcmFwcGVyICYmIGhpZGRlbikge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLmNsZWFyU2VhcmNoKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVDb21tZW50c1N1bW1hcnkoIXRoaXMudG9vbGJhckV2ZW50cy5zaG93Q29tbWVudFN1bW1hcnkuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZURvY3VtZW50KHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5wZGZXcmFwcGVyLmdldFBhZ2VOdW1iZXIoKTtcbiAgICB0aGlzLnBkZldyYXBwZXIucm90YXRlKHJvdGF0aW9uKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG5cbiAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXREb2N1bWVudFByb2dyZXNzKCkge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnNldFpvb20oem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnpvb20gPSB0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0ZXBab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5zdGVwWm9vbSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHRoaXMuem9vbSwgem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZUhlaWdodHMoKSB7XG4gICAgdGhpcy5wYWdlSGVpZ2h0cyA9IFtdO1xuICAgIGNvbnN0IHBkZlZpZXdlckNoaWxkcmVuID0gdGhpcy5wZGZWaWV3ZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBkZlZpZXdlckNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnBhZ2VIZWlnaHRzLnB1c2gocGRmVmlld2VyQ2hpbGRyZW5baV0uY2xpZW50SGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVab29tVmFsdWUoem9vbVZhbHVlLCBpbmNyZW1lbnQgPSAwKSB7XG4gICAgY29uc3QgbmV3Wm9vbVZhbHVlID0gem9vbVZhbHVlICsgaW5jcmVtZW50O1xuICAgIGlmIChuZXdab29tVmFsdWUgPiA1KSB7XG4gICAgICByZXR1cm4gNTtcbiAgICB9XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA8IDAuMSkge1xuICAgICAgcmV0dXJuIDAuMTtcbiAgICB9XG4gICAgcmV0dXJuICtuZXdab29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMucGRmV3JhcHBlci5uYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRQYWdlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmV3JhcHBlci5nZXRQYWdlTnVtYmVyKCk7XG4gIH1cbn1cbiJdfQ==
|