@hmcts/media-viewer 4.0.3 → 4.0.4
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/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +4 -4
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +4 -4
- package/esm2022/lib/annotations/annotations.module.mjs +5 -5
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +4 -4
- package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +4 -4
- package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +4 -4
- package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +4 -4
- package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +4 -4
- package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
- package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +4 -4
- package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +4 -4
- package/esm2022/lib/annotations/services/tags/tags.services.mjs +4 -4
- package/esm2022/lib/annotations/tags/tags.component.mjs +4 -4
- package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +4 -4
- package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +4 -4
- package/esm2022/lib/icp/icp-follower.service.mjs +4 -4
- package/esm2022/lib/icp/icp-presenter.service.mjs +4 -4
- package/esm2022/lib/icp/icp-session-api.service.mjs +4 -4
- package/esm2022/lib/icp/icp-update.service.mjs +4 -4
- package/esm2022/lib/icp/icp.service.mjs +4 -4
- package/esm2022/lib/icp/participants-list/participants-list.component.mjs +4 -4
- package/esm2022/lib/icp/socket.service.mjs +4 -4
- package/esm2022/lib/media-viewer.component.mjs +4 -4
- package/esm2022/lib/media-viewer.module.mjs +5 -5
- package/esm2022/lib/print.service.mjs +4 -4
- package/esm2022/lib/redaction/components/redaction.component.mjs +4 -4
- package/esm2022/lib/redaction/services/redaction-api.service.mjs +4 -4
- package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
- package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +4 -4
- package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +4 -4
- package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +4 -4
- package/esm2022/lib/shared/shared.module.mjs +5 -5
- package/esm2022/lib/shared/util/services/number.helper.service.mjs +4 -4
- package/esm2022/lib/store/effects/annotation.effects.mjs +4 -4
- package/esm2022/lib/store/effects/bookmarks.effects.mjs +4 -4
- package/esm2022/lib/store/effects/document.effects.mjs +4 -4
- package/esm2022/lib/store/effects/icp.effects.mjs +4 -4
- package/esm2022/lib/store/effects/redaction.effects.mjs +4 -4
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +4 -4
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar-event.service.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +4 -4
- package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +4 -4
- package/esm2022/lib/viewers/grab-n-drag.directive.mjs +4 -4
- package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +4 -4
- package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +4 -4
- package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +4 -4
- package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +4 -4
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +4 -4
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +4 -4
- package/esm2022/lib/viewers/viewer-event.service.mjs +4 -4
- package/esm2022/lib/viewers/viewer-util.service.mjs +4 -4
- package/fesm2022/hmcts-media-viewer.mjs +232 -232
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -334,10 +334,10 @@ export class BookmarksComponent {
|
|
|
334
334
|
const result = this.getNode(fromNodeChildren, toNode.id);
|
|
335
335
|
return result ? true : false;
|
|
336
336
|
}
|
|
337
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
338
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
337
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BookmarksComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
338
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BookmarksComponent, selector: "mv-bookmarks", inputs: { bookmarkNodes: "bookmarkNodes", zoom: "zoom", rotate: "rotate" }, outputs: { goToDestination: "goToDestination" }, ngImport: i0, template: "<a *ngIf=\"bookmarkNodes?.length === 0\" class=\"highlightedOutlineItem\"\n >No bookmarks created yet</a\n>\n<cdk-tree\n cdkDropList\n [cdkDropListDisabled]=\"!isDraggingOn\"\n class=\"bookmarks-tree\"\n *ngIf=\"datasource\"\n [dataSource]=\"datasource\"\n [treeControl]=\"treeControl\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <cdk-nested-tree-node class=\"node-wrapper\" *cdkTreeNodeDef=\"let node\">\n <div *ngIf=\"node.id !== editableBookmark; else inputBookmark\">\n <div\n class=\"node-content-wrapper nested-tree-node\"\n cdkDrag\n [cdkDragData]=\"node\"\n (mouseenter)=\"dragHover($event, node)\"\n (mouseleave)=\"dragHoverEnd($event, node)\"\n (cdkDragStarted)=\"dragStart()\"\n (cdkDragReleased)=\"dragEnd()\"\n >\n <div class=\"outlineItem\">\n <a (click)=\"goToBookmark(node)\">\n {{ node.name }}\n </a>\n </div>\n <button\n class=\"bookmark__rename\"\n (click)=\"editBookmark(node.id)\"\n ></button>\n <button\n class=\"bookmark__delete\"\n (click)=\"deleteBookmark2(node)\"\n ></button>\n </div>\n <div class=\"node-drop-slot\"></div>\n </div>\n <ng-template #inputBookmark>\n <input\n #bookmarkName\n class=\"bookmark__input\"\n [value]=\"node.name\"\n [maxLength]=\"BOOKMARK_CHAR_LIMIT\"\n />\n <button\n class=\"bookmark__save\"\n (click)=\"updateBookmark(node, bookmarkName.value)\"\n ></button>\n </ng-template>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n class=\"node-wrapper\"\n *cdkTreeNodeDef=\"let node; when: hasChild\"\n >\n <div *ngIf=\"node.id !== editableBookmark; else inputBookmark2\">\n <div\n class=\"node-content-wrapper nested-tree-node\"\n cdkDrag\n [cdkDragData]=\"node\"\n (mouseenter)=\"dragHover($event, node)\"\n (mouseleave)=\"dragHoverEnd($event, node)\"\n (cdkDragStarted)=\"dragStart()\"\n (cdkDragReleased)=\"dragEnd()\"\n >\n <div class=\"outlineItem\">\n <span\n cdkTreeNodeToggle\n class=\"toggle-children-wrapper\"\n [ngClass]=\"onNodeExpand(node)\"\n ><span class=\"toggle-children\"></span\n ></span>\n <a (click)=\"goToBookmark(node)\">\n {{ node.name }}\n </a>\n </div>\n <button\n class=\"bookmark__rename\"\n (click)=\"editBookmark(node.id)\"\n ></button>\n <button\n class=\"bookmark__delete\"\n (click)=\"deleteBookmark2(node)\"\n ></button>\n </div>\n <div class=\"node-drop-slot\"></div>\n </div>\n <ng-template #inputBookmark2>\n <input\n #bookmarkName\n class=\"bookmark__input\"\n [value]=\"node.name\"\n [maxLength]=\"BOOKMARK_CHAR_LIMIT\"\n />\n <button\n class=\"bookmark__save\"\n (click)=\"updateBookmark(node, bookmarkName.value)\"\n ></button>\n </ng-template>\n <div class=\"nested-tree-node-children\" *ngIf=\"treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkNestedTreeNode, selector: "cdk-nested-tree-node", exportAs: ["cdkNestedTreeNode"] }, { kind: "directive", type: i3.CdkTreeNodeDef, selector: "[cdkTreeNodeDef]", inputs: ["cdkTreeNodeDefWhen"] }, { kind: "directive", type: i3.CdkTreeNodeToggle, selector: "[cdkTreeNodeToggle]", inputs: ["cdkTreeNodeToggleRecursive"] }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }, { kind: "directive", type: i4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }] }); }
|
|
339
339
|
}
|
|
340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BookmarksComponent, decorators: [{
|
|
341
341
|
type: Component,
|
|
342
342
|
args: [{ selector: 'mv-bookmarks', template: "<a *ngIf=\"bookmarkNodes?.length === 0\" class=\"highlightedOutlineItem\"\n >No bookmarks created yet</a\n>\n<cdk-tree\n cdkDropList\n [cdkDropListDisabled]=\"!isDraggingOn\"\n class=\"bookmarks-tree\"\n *ngIf=\"datasource\"\n [dataSource]=\"datasource\"\n [treeControl]=\"treeControl\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <!-- This is the tree node template for leaf nodes -->\n <cdk-nested-tree-node class=\"node-wrapper\" *cdkTreeNodeDef=\"let node\">\n <div *ngIf=\"node.id !== editableBookmark; else inputBookmark\">\n <div\n class=\"node-content-wrapper nested-tree-node\"\n cdkDrag\n [cdkDragData]=\"node\"\n (mouseenter)=\"dragHover($event, node)\"\n (mouseleave)=\"dragHoverEnd($event, node)\"\n (cdkDragStarted)=\"dragStart()\"\n (cdkDragReleased)=\"dragEnd()\"\n >\n <div class=\"outlineItem\">\n <a (click)=\"goToBookmark(node)\">\n {{ node.name }}\n </a>\n </div>\n <button\n class=\"bookmark__rename\"\n (click)=\"editBookmark(node.id)\"\n ></button>\n <button\n class=\"bookmark__delete\"\n (click)=\"deleteBookmark2(node)\"\n ></button>\n </div>\n <div class=\"node-drop-slot\"></div>\n </div>\n <ng-template #inputBookmark>\n <input\n #bookmarkName\n class=\"bookmark__input\"\n [value]=\"node.name\"\n [maxLength]=\"BOOKMARK_CHAR_LIMIT\"\n />\n <button\n class=\"bookmark__save\"\n (click)=\"updateBookmark(node, bookmarkName.value)\"\n ></button>\n </ng-template>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n class=\"node-wrapper\"\n *cdkTreeNodeDef=\"let node; when: hasChild\"\n >\n <div *ngIf=\"node.id !== editableBookmark; else inputBookmark2\">\n <div\n class=\"node-content-wrapper nested-tree-node\"\n cdkDrag\n [cdkDragData]=\"node\"\n (mouseenter)=\"dragHover($event, node)\"\n (mouseleave)=\"dragHoverEnd($event, node)\"\n (cdkDragStarted)=\"dragStart()\"\n (cdkDragReleased)=\"dragEnd()\"\n >\n <div class=\"outlineItem\">\n <span\n cdkTreeNodeToggle\n class=\"toggle-children-wrapper\"\n [ngClass]=\"onNodeExpand(node)\"\n ><span class=\"toggle-children\"></span\n ></span>\n <a (click)=\"goToBookmark(node)\">\n {{ node.name }}\n </a>\n </div>\n <button\n class=\"bookmark__rename\"\n (click)=\"editBookmark(node.id)\"\n ></button>\n <button\n class=\"bookmark__delete\"\n (click)=\"deleteBookmark2(node)\"\n ></button>\n </div>\n <div class=\"node-drop-slot\"></div>\n </div>\n <ng-template #inputBookmark2>\n <input\n #bookmarkName\n class=\"bookmark__input\"\n [value]=\"node.name\"\n [maxLength]=\"BOOKMARK_CHAR_LIMIT\"\n />\n <button\n class=\"bookmark__save\"\n (click)=\"updateBookmark(node, bookmarkName.value)\"\n ></button>\n </ng-template>\n <div class=\"nested-tree-node-children\" *ngIf=\"treeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n</cdk-tree>\n" }]
|
|
343
343
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { bookmarkNodes: [{
|
|
@@ -349,4 +349,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
349
349
|
}], goToDestination: [{
|
|
350
350
|
type: Output
|
|
351
351
|
}] } });
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFILE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxnREFBZ0QsQ0FBQztBQUdyRixPQUFPLEtBQUssWUFBWSxNQUFNLGdEQUFnRCxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQVF2RSxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLElBQ0ksYUFBYSxDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFL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QUNFLGNBQWM7MEVBT3BCLGFBQWE7c0JBRGhCLEtBQUs7Z0JBWUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9va21hcmsgfSBmcm9tICcuLy4uLy4uLy4uLy4uL3N0b3JlL21vZGVscy9ib29rbWFya3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENyZWF0ZUJvb2ttYXJrLCBEZWxldGVCb29rbWFyaywgTW92ZUJvb2ttYXJrLCBVcGRhdGVCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYm9va21hcmsuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBib29rbWFya3NTZWxlY3RvcnMgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9hbm5vdGF0aW9ucy5yZWR1Y2VyJztcbmltcG9ydCB7IERvY3VtZW50UGFnZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9kb2N1bWVudC5yZWR1Y2VyJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgZ2V0Qm9va21hcmtDaGlsZHJlbiB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2Jvb2ttYXJrcy1zdG9yZS11dGlscyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBcnJheURhdGFTb3VyY2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCwgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1ib29rbWFya3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmtzLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEJvb2ttYXJrc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBzZXQgYm9va21hcmtOb2Rlcyh2YWx1ZTogQm9va21hcmtbXSkge1xuICAgIHRoaXMucmVidWlsZFRyZWVGb3JEYXRhKHZhbHVlKTtcbiAgICBpZiAodGhpcy5fYm9va21hcmtOb2RlcyAmJiB0aGlzLnNvcnRNb2RlICE9PSB0aGlzLmN1c3RvbVNvcnQpIHtcbiAgICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICAgIH1cbiAgfTtcblxuICBnZXQgYm9va21hcmtOb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fYm9va21hcmtOb2RlcztcbiAgfTtcblxuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuICBAT3V0cHV0KCkgZ29Ub0Rlc3RpbmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICBwcml2YXRlIF9ib29rbWFya05vZGVzOiBCb29rbWFya1tdID0gW107XG4gIGRhdGFzb3VyY2U6IEFycmF5RGF0YVNvdXJjZTxCb29rbWFyaz47XG4gIHRyZWVDb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8Qm9va21hcms+O1xuICBob3ZlcmVkTm9kZTogQm9va21hcms7XG4gIC8vIGV4cGFuc2lvbiBtb2RlbCB0cmFja3MgZXhwYW5zaW9uIHN0YXRlXG4gIGV4cGFuc2lvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPEJvb2ttYXJrPih0cnVlKTtcbiAgaXNEcmFnZ2luZ09uID0gZmFsc2U7XG4gIGlzVXNlcmRyYWdnaW5nID0gZmFsc2U7XG4gIGV4cGFuZFRpbWVvdXQ6IGFueTtcbiAgZXhwYW5kRGVsYXkgPSAxMDAwO1xuICBkcmFnTm9kZUluc2VydFRvUGFyZW50OiBib29sZWFuO1xuXG4gIHBhZ2VMb29rdXA6IHsgW3BhZ2VJZDogbnVtYmVyXTogRG9jdW1lbnRQYWdlcyB9ID0ge307XG4gIGVkaXRhYmxlQm9va21hcms6IHN0cmluZztcbiAgQk9PS01BUktfQ0hBUl9MSU1JVCA9IDMwO1xuXG4gIGRyYWdOb2RlOiBhbnk7XG4gIGRyYWdOb2RlRXhwYW5kT3ZlcldhaXRUaW1lTXMgPSAzMDA7XG4gIGRyYWdOb2RlRXhwYW5kT3Zlck5vZGU6IGFueTtcbiAgZHJhZ05vZGVFeHBhbmRPdmVyVGltZTogbnVtYmVyO1xuICBkcmFnTm9kZUV4cGFuZE92ZXJBcmVhOiBudW1iZXI7XG5cbiAgb3B0aW9ucyA9IHtcbiAgICBhbGxvd0RyYWc6IHRydWUsXG4gICAgYWxsb3dEcm9wOiB0cnVlXG4gIH07XG5cbiAgJHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgc29ydE1vZGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jdXN0b21Tb3J0ID0gJ0NVU1RPTSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Bvc2l0aW9uU29ydCA9ICdQT1NJVElPTic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbUJvb2ttYXJrcy5Cb29rbWFya3NTdGF0ZSB8IEFubm90YXRpb25TZXRTdGF0ZT4pIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc29ydE1vZGUgPSB0aGlzLmN1c3RvbVNvcnQ7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0RWRpdGFibGVCb29rbWFyaykpXG4gICAgICAuc3Vic2NyaWJlKGVkaXRhYmxlSWQgPT4gdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gZWRpdGFibGVJZCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0UGFnZXMpXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VzID0+IHtcblxuICAgICAgICBPYmplY3Qua2V5cyhwYWdlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlTG9va3VwW2tleV0gPSBwYWdlc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlZGl0Qm9va21hcmsoaWQpIHtcbiAgICB0aGlzLmVkaXRhYmxlQm9va21hcmsgPSBpZDtcbiAgfVxuXG4gIG9uQWRkQm9va21hcmtDbGljaygpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGJvb2ttYXJrc1NlbGVjdG9ycy5nZXRCb29rbWFya0luZm8pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoYm9va21hcmtJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENyZWF0ZUJvb2ttYXJrKHtcbiAgICAgICAgICAuLi5ib29rbWFya0luZm8sIG5hbWU6ICcnLCBpZDogdXVpZCgpXG4gICAgICAgIH0gYXMgYW55KSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUJvb2ttYXJrMihub2RlOiBCb29rbWFyaykge1xuICAgIHRoaXMuY3VzdG9tU29ydEJvb2ttYXJrcygpO1xuICAgIGxldCBuZXh0OiBCb29rbWFyaztcblxuICAgIGNvbnN0IGNoYW5nZWREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJvb2ttYXJrTm9kZXMpKTtcbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZS5pZCk7XG4gICAgaWYgKHNpYmxpbmdzICYmIHNpYmxpbmdzLmxlbmd0aCA+IG5vZGUuaW5kZXggKyAxKSB7XG4gICAgICBuZXh0ID0gc2libGluZ3Nbbm9kZS5pbmRleCArIDFdO1xuICAgICAgbmV4dC5wcmV2aW91cyA9IG5vZGUucHJldmlvdXM7XG4gICAgfVxuICAgIGNvbnN0IHRvRGVsZXRlID0gW25vZGUuaWQsIC4uLmdldEJvb2ttYXJrQ2hpbGRyZW4obm9kZS5jaGlsZHJlbildO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZUJvb2ttYXJrKHtcbiAgICAgIGRlbGV0ZWQ6IHRvRGVsZXRlLCB1cGRhdGVkOiBuZXh0XG4gICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlQm9va21hcmsoYm9va21hcms6IEJvb2ttYXJrLCBuYW1lKSB7XG4gICAgY29uc3QgZWRpdGVkQm9va21hcmsgPSB7XG4gICAgICAuLi5ib29rbWFyayxcbiAgICAgIG5hbWVcbiAgICB9O1xuICAgIGlmIChuYW1lKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVCb29rbWFyayhlZGl0ZWRCb29rbWFyaykpO1xuICAgICAgdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdvVG9Cb29rbWFyayhib29rbWFyazogQm9va21hcmspIHtcbiAgICBjb25zdCB0aGlzUGFnZSA9IHRoaXMucGFnZUxvb2t1cFtib29rbWFyay5wYWdlTnVtYmVyICsgMV07XG4gICAgY29uc3QgZGVmYXVsdEhlaWdodCA9IHRoaXNQYWdlLnN0eWxlcy5oZWlnaHQ7XG4gICAgY29uc3QgZGVmYXVsdFNjYWxlWSA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgZGVmYXVsdEhlaWdodCwgdGhpc1BhZ2UpO1xuXG4gICAgbGV0IHRvcCA9IDAsIGxlZnQgPSAwO1xuICAgIHN3aXRjaCAodGhpcy5yb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIGxlZnQgPSAtIGRlZmF1bHRTY2FsZVk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHRvcCA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgKGRlZmF1bHRIZWlnaHQgLSAoMjQgKiB0aGlzLnpvb20pKSwgdGhpc1BhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICBsZWZ0ID0gZGVmYXVsdFNjYWxlWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0b3AgPSBkZWZhdWx0U2NhbGVZO1xuICAgIH1cblxuICAgIHRoaXMuZ29Ub0Rlc3RpbmF0aW9uLmVtaXQoW1xuICAgICAgYm9va21hcmsucGFnZU51bWJlcixcbiAgICAgIHsgJ25hbWUnOiAnWFlaJyB9LFxuICAgICAgbGVmdCxcbiAgICAgIHRvcFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0IGN1c3RvbVNvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbVNvcnQ7XG4gIH1cblxuICBnZXQgcG9zaXRpb25Tb3J0KCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvblNvcnQ7XG4gIH1cblxuICBzb3J0KG1vZGU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE1vZGUgPSBtb2RlO1xuICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0Qm9va21hcmtzKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0TW9kZSkge1xuICAgICAgY2FzZSB0aGlzLmN1c3RvbVNvcnQ6IHtcbiAgICAgICAgdGhpcy5jdXN0b21Tb3J0Qm9va21hcmtzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSB0aGlzLnBvc2l0aW9uU29ydDoge1xuICAgICAgICB0aGlzLnBvc2l0aW9uU29ydEJvb2ttYXJrcygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5jdXN0b21Tb3J0Qm9va21hcmtzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Tb3J0Qm9va21hcmtzKCkge1xuICAgIHRoaXMuYm9va21hcmtOb2Rlcy5zb3J0KChhLCBiKSA9PiBhLnBhZ2VOdW1iZXIgPT09IGIucGFnZU51bWJlciA/IGEueUNvb3JkaW5hdGUgLSBiLnlDb29yZGluYXRlIDogYS5wYWdlTnVtYmVyIC0gYi5wYWdlTnVtYmVyKTtcbiAgICB0aGlzLmlzRHJhZ2dpbmdPbiA9IGZhbHNlO1xuICAgIHRoaXMucmVidWlsZFRyZWVGb3JEYXRhKHRoaXMuYm9va21hcmtOb2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIGN1c3RvbVNvcnRCb29rbWFya3MoKSB7XG4gICAgaWYgKHRoaXMuYm9va21hcmtOb2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLmJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLmlzRHJhZ2dpbmdPbiA9IHRydWU7XG4gICAgdGhpcy5yZWJ1aWxkVHJlZUZvckRhdGEodGhpcy5ib29rbWFya05vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2NhbGVkWSh5Q29vcmRpbmF0ZTogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgcGFnZTogRG9jdW1lbnRQYWdlcyk6IG51bWJlciB7XG4gICAgY29uc3Qgdmlld3BvcnRTY2FsZSA9IHBhZ2Uudmlld3BvcnRTY2FsZSAvIHRoaXMuem9vbTtcbiAgICByZXR1cm4gKChoZWlnaHQgLyB0aGlzLnpvb20pIC0geUNvb3JkaW5hdGUpIC8gdmlld3BvcnRTY2FsZTtcbiAgfVxuXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogQm9va21hcmspID0+IHtcbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXROb2RlKGJvb2ttYXJrcywgcGFyZW50SWQpIHtcbiAgICBpZiAodHlwZW9mIGJvb2ttYXJrcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYm9va21hcmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChib29rbWFya3NbaV0uaWQgPT09IHBhcmVudElkKSB7XG4gICAgICAgICAgcmV0dXJuIFtib29rbWFya3NbaV1dO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGEgPSB0aGlzLmdldE5vZGUoYm9va21hcmtzW2ldLmNoaWxkcmVuLCBwYXJlbnRJZCk7XG4gICAgICAgIGlmIChhICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxCb29rbWFyaz4pIHtcblxuICAgIGlmICghZXZlbnQuaXNQb2ludGVyT3ZlckNvbnRhaW5lciB8fCAoZXZlbnQucHJldmlvdXNJbmRleCA9PT0gZXZlbnQuY3VycmVudEluZGV4KSkgcmV0dXJuO1xuXG4gICAgY29uc3QgaGFzTW92ZWRVcFRoZVRyZWUgPSBldmVudC5wcmV2aW91c0luZGV4ID4gZXZlbnQuY3VycmVudEluZGV4O1xuICAgIGNvbnN0IGJvb2ttYXJrTm9kZXNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLl9ib29rbWFya05vZGVzKTtcbiAgICBjb25zdCBjaGFuZ2VkRGF0YSA9IEpTT04ucGFyc2UoYm9va21hcmtOb2Rlc1N0cmluZyk7XG4gICAgY29uc3QgdmlzaWJsZU5vZGVzID0gdGhpcy52aXNpYmxlTm9kZXModGhpcy5fYm9va21hcmtOb2Rlcyk7XG4gICAgY29uc3QgdG9Ob2RlID0gdmlzaWJsZU5vZGVzW2V2ZW50LmN1cnJlbnRJbmRleF0gYXMgQm9va21hcms7XG4gICAgY29uc3QgdG9Ob2RlU2libGluZ3MgPSB0aGlzLmZpbmROb2RlU2libGluZ3MoY2hhbmdlZERhdGEsIHRvTm9kZS5pZCk7XG5cbiAgICBjb25zdCB0b05vZGVQYXJlbnQgPSB0b05vZGVTaWJsaW5nc1swXS5wYXJlbnQ7XG4gICAgY29uc3QgdG9JbmRleCA9IHRvTm9kZVNpYmxpbmdzLmZpbmRJbmRleChzID0+IHMuaWQgPT09IHRvTm9kZS5pZCk7XG5cbiAgICBjb25zdCBmcm9tTm9kZSA9IGV2ZW50Lml0ZW0uZGF0YSBhcyBCb29rbWFyaztcbiAgICBjb25zdCBmcm9tTm9kZVNpYmxpbmdzID0gdGhpcy5maW5kTm9kZVNpYmxpbmdzKGNoYW5nZWREYXRhLCBmcm9tTm9kZS5pZCk7XG4gICAgY29uc3QgZnJvbUluZGV4ID0gZnJvbU5vZGVTaWJsaW5ncy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBmcm9tTm9kZS5pZCk7XG5cbiAgICBpZiAodGhpcy5pc1RvTm9kZUNoaWxkT2ZGcm9tTm9kZShmcm9tTm9kZT8uY2hpbGRyZW4sIHRvTm9kZSkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmRyYWdOb2RlSW5zZXJ0VG9QYXJlbnQpIHtcblxuICAgICAgY29uc3QgaW5kZXhPZlBhcmVudCA9IHRvTm9kZVNpYmxpbmdzLmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQuaWQgPT09IHRvTm9kZS5pZCk7XG4gICAgICBjb25zdCBwYXJlbnROb2RlID0gdG9Ob2RlU2libGluZ3NbaW5kZXhPZlBhcmVudF07XG4gICAgICBjb25zdCBmaXJzdENoaWxkID0gcGFyZW50Tm9kZT8uY2hpbGRyZW4gJiYgcGFyZW50Tm9kZT8uY2hpbGRyZW4ubGVuZ3RoID4gMCA/IHBhcmVudE5vZGUuY2hpbGRyZW5bMF0gOiBudWxsO1xuICAgICAgbGV0IG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFt7IC4uLmZyb21Ob2RlLCBwYXJlbnQ6IHBhcmVudE5vZGUuaWQsIHByZXZpb3VzOiBudWxsIH1dO1xuXG4gICAgICBpZiAoZmlyc3RDaGlsZCkge1xuICAgICAgICBtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQgPSBbLi4ubW92ZWRCb29rbWFya3NXaXRoUGFyZW50LCB7IC4uLmZpcnN0Q2hpbGQsIHByZXZpb3VzOiBmcm9tTm9kZS5pZCB9XTtcbiAgICAgIH1cblxuICAgICAgbGV0IGZyb21Ob2RlU2libGluZyA9IHRoaXMuZ2V0U2libGluZ0Zyb21BbGxTaWJsaWluZ3MoZnJvbU5vZGVTaWJsaW5ncywgZnJvbUluZGV4ICsgMSk7XG4gICAgICBjb25zdCBuZXh0RnJvbWluZGV4Zm9yUGFyZW50ID0gZnJvbUluZGV4ICsgMTtcbiAgICAgIGZyb21Ob2RlU2libGluZyA9IGZyb21Ob2RlU2libGluZyAmJiBmcm9tTm9kZVNpYmxpbmcuaWQgPT09IGZyb21Ob2RlLnByZXZpb3VzID8gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyhmcm9tTm9kZVNpYmxpbmdzLCBuZXh0RnJvbWluZGV4Zm9yUGFyZW50ICsgMSkgOiBmcm9tTm9kZVNpYmxpbmc7XG5cbiAgICAgIGlmIChmcm9tTm9kZVNpYmxpbmcgJiYgZnJvbU5vZGVTaWJsaW5nLmlkICE9PSBwYXJlbnROb2RlLmlkKSB7XG4gICAgICAgIG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFsuLi5tb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQsIHsgLi4uZnJvbU5vZGVTaWJsaW5nLCBwcmV2aW91czogZnJvbU5vZGUucHJldmlvdXMgfV07XG4gICAgICB9XG5cbiAgICAgIGxldCBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCA9IHRvSW5kZXggLSAxO1xuICAgICAgbGV0IHBhcmVudE5vZGVTaWJsaW5nID0gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyh0b05vZGVTaWJsaW5ncywgcHJldmlvdXNTaWJsaW5nRm9yUGFyZW50SW5kZXgpO1xuXG4gICAgICBpZiAocGFyZW50Tm9kZVNpYmxpbmcgJiYgcGFyZW50Tm9kZVNpYmxpbmcuaWQgPT0gZnJvbU5vZGUuaWQpIHtcbiAgICAgICAgcHJldmlvdXNTaWJsaW5nRm9yUGFyZW50SW5kZXggPSBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCAtIDE7XG4gICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgcGFyZW50Tm9kZVNpYmxpbmcgPSB0aGlzLmdldFNpYmxpbmdGcm9tQWxsU2libGlpbmdzKHRvTm9kZVNpYmxpbmdzLCBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcGFyZW50Tm9kZVNpYmxpbmcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFsuLi5tb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQsIHsgLi4ucGFyZW50Tm9kZSwgcHJldmlvdXM6IHBhcmVudE5vZGVTaWJsaW5nPy5pZCB9XTtcblxuICAgICAgY29uc3QgaGFzUGFyZW50RHVwcyA9IChtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQgYXMgQm9va21hcmtbXSkubWFwKHggPT4geC5pZCkuc29tZShmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBhcnJheSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuc29tZSB3aWxsIGJyZWFrIGFzIHNvb24gYXMgZHVwbGljYXRlIGZvdW5kIChubyBuZWVkIHRvIGl0dGVyYXRlIG92ZXIgYWxsIGFycmF5KVxuICAgICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSkgIT09IGFycmF5Lmxhc3RJbmRleE9mKHZhbHVlKTsgICAvLyBjb21wYXJpbmcgZmlyc3QgYW5kIGxhc3QgaW5kZXhlcyBvZiB0aGUgc2FtZSB2YWx1ZVxuICAgICAgfSlcbiAgICAgIGlmIChoYXNQYXJlbnREdXBzIHx8IG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCAmJiBtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQubGVuZ3RoIDw9IDEpIHJldHVybjtcblxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTW92ZUJvb2ttYXJrKG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdG9Ob2RlU2libGluZ3MpIHJldHVybjtcblxuICAgIGNvbnN0IGZyb21Ob2RlUHJldmlvdXMgPSBoYXNNb3ZlZFVwVGhlVHJlZSA/IHRvTm9kZS5wcmV2aW91cyA6IHRvTm9kZS5pZDtcbiAgICBsZXQgbW92ZWRCb29rbWFya3MgPSBbe1xuICAgICAgLi4uZnJvbU5vZGUsXG4gICAgICBwcmV2aW91czogdG9Ob2RlLmluZGV4ID4gMCA/IGZyb21Ob2RlUHJldmlvdXMgOiB1bmRlZmluZWQsXG4gICAgICBwYXJlbnQ6IHRvTm9kZVBhcmVudFxuICAgIH1dO1xuXG4gICAgbGV0IGZyb21Ob2RlU2libGluZyA9IHRoaXMuZ2V0U2libGluZ0Zyb21BbGxTaWJsaWluZ3MoZnJvbU5vZGVTaWJsaW5ncywgZnJvbUluZGV4ICsgMSk7XG4gICAgY29uc3QgbmV4dEZyb21pbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgZnJvbU5vZGVTaWJsaW5nID0gZnJvbU5vZGVTaWJsaW5nICYmIGZyb21Ob2RlU2libGluZy5pZCA9PT0gZnJvbU5vZGUucHJldmlvdXMgPyB0aGlzLmdldFNpYmxpbmdGcm9tQWxsU2libGlpbmdzKGZyb21Ob2RlU2libGluZ3MsIG5leHRGcm9taW5kZXggKyAxKSA6IGZyb21Ob2RlU2libGluZztcblxuICAgIGlmIChmcm9tTm9kZVNpYmxpbmcpIHtcbiAgICAgIG1vdmVkQm9va21hcmtzID0gWy4uLm1vdmVkQm9va21hcmtzLCB7IC4uLmZyb21Ob2RlU2libGluZywgcHJldmlvdXM6IGZyb21Ob2RlLnByZXZpb3VzIH1dO1xuICAgIH1cblxuXG4gICAgbGV0IHRvTm9kZVNpYmxpbmdJbmRleCA9IGhhc01vdmVkVXBUaGVUcmVlID8gdG9JbmRleCA6IHRvSW5kZXggKyAxO1xuICAgIGxldCB0b05vZGVTaWJsaW5nID0gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyh0b05vZGVTaWJsaW5ncywgdG9Ob2RlU2libGluZ0luZGV4KTtcblxuICAgIGlmICh0b05vZGVTaWJsaW5nKSB7XG4gICAgICBtb3ZlZEJvb2ttYXJrcyA9IFsuLi5tb3ZlZEJvb2ttYXJrcywgeyAuLi50b05vZGVTaWJsaW5nLCBwcmV2aW91czogZnJvbU5vZGUuaWQgfV07XG4gICAgfVxuXG4gICAgY29uc3QgaGFzRHVwcyA9IChtb3ZlZEJvb2ttYXJrcyBhcyBCb29rbWFya1tdKS5tYXAoeCA9PiB4LmlkKS5zb21lKGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgsIGFycmF5KSB7XG4gICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSkgIT09IGFycmF5Lmxhc3RJbmRleE9mKHZhbHVlKTsgICAvLyBjb21wYXJpbmcgZmlyc3QgYW5kIGxhc3QgaW5kZXhlcyBvZiB0aGUgc2FtZSB2YWx1ZVxuICAgIH0pXG4gICAgaWYgKGhhc0R1cHMgfHwgbW92ZWRCb29rbWFya3MgJiYgbW92ZWRCb29rbWFya3MubGVuZ3RoIDw9IDEpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE1vdmVCb29rbWFyayhtb3ZlZEJvb2ttYXJrcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyhzaWJsaW5nOiBCb29rbWFya1tdLCBpbmRleCkge1xuICAgIHJldHVybiBzaWJsaW5nLmxlbmd0aCA+IGluZGV4ID8gc2libGluZ1tpbmRleF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBkcmFnU3RhcnQoKSB7XG4gICAgdGhpcy5kcmFnTm9kZUluc2VydFRvUGFyZW50ID0gZmFsc2U7XG4gICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG51bGw7XG4gICAgdGhpcy5pc1VzZXJkcmFnZ2luZyA9IHRydWU7XG4gIH1cblxuICBkcmFnRW5kKCkge1xuICAgIHRoaXMuaXNVc2VyZHJhZ2dpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGRyYWdIb3ZlcihldmVudDogYW55LCBub2RlOiBCb29rbWFyaykge1xuICAgIGlmICh0aGlzLmlzVXNlcmRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBuZXdFdmVudDogYW55ID0gZXZlbnQ7XG4gICAgICBjb25zdCBwZXJjZW50YWdlWCA9IG5ld0V2ZW50Lm9mZnNldFggLyBuZXdFdmVudC50YXJnZXQuY2xpZW50V2lkdGg7XG4gICAgICBpZiAocGVyY2VudGFnZVggPiAuNTUpIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG5vZGU7XG4gICAgICAgIHRoaXMuZHJhZ05vZGVJbnNlcnRUb1BhcmVudCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhvdmVyZWROb2RlID0gbnVsbDtcbiAgICAgICAgdGhpcy5kcmFnTm9kZUluc2VydFRvUGFyZW50ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZHJhZ0hvdmVyRW5kKGV2ZW50OiBhbnksIG5vZGU6IEJvb2ttYXJrKSB7XG4gICAgaWYgKHRoaXMuaXNVc2VyZHJhZ2dpbmcpIHtcbiAgICAgIGlmICghbm9kZSB8fCB0aGlzLmhvdmVyZWROb2RlPy5pZCAhPT0gbm9kZS5pZCkge1xuICAgICAgICB0aGlzLmRyYWdOb2RlSW5zZXJ0VG9QYXJlbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Ob2RlRXhwYW5kKG5vZGU6IEJvb2ttYXJrKSB7XG4gICAgY29uc3QgaXNFeHBhbmRlZCA9IHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcbiAgICByZXR1cm4gaXNFeHBhbmRlZCA/IFwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXItZXhwYW5kZWRcIiA6IFwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXItY29sbGFwc2VkXCI7XG4gIH1cblxuICB2aXNpYmxlTm9kZXMoYm9va21hcmtzOiBCb29rbWFya1tdKTogQm9va21hcmtbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICBmdW5jdGlvbiBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGU6IEJvb2ttYXJrLCBleHBhbmRlZDogQm9va21hcmtbXSkge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICBpZiAoZXhwYW5kZWQuc29tZShib29rbWFyayA9PiBib29rbWFyayAmJiBib29rbWFyay5pZCA9PT0gbm9kZS5pZCkgJiYgbm9kZS5jaGlsZHJlbikge1xuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGFkZEV4cGFuZGVkQ2hpbGRyZW4oY2hpbGQsIGV4cGFuZGVkKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGJvb2ttYXJrcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGUsIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuc2VsZWN0ZWQpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBmaW5kTm9kZVNpYmxpbmdzKGFycjogQXJyYXk8YW55PiwgaWQ6IHN0cmluZyk6IEFycmF5PGFueT4ge1xuICAgIGxldCByZXN1bHQsIHN1YlJlc3VsdDtcbiAgICBhcnIuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaWQgPT09IGlkKSB7XG4gICAgICAgIHJlc3VsdCA9IGFycjtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbT8uY2hpbGRyZW4pIHtcbiAgICAgICAgc3ViUmVzdWx0ID0gdGhpcy5maW5kTm9kZVNpYmxpbmdzKGl0ZW0uY2hpbGRyZW4sIGlkKTtcbiAgICAgICAgaWYgKHN1YlJlc3VsdCkgcmVzdWx0ID0gc3ViUmVzdWx0O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZWJ1aWxkVHJlZUZvckRhdGEoZGF0YTogYW55KSB7XG4gICAgdGhpcy5fYm9va21hcmtOb2RlcyA9IGRhdGEgPz8gW107XG4gICAgdGhpcy5kYXRhc291cmNlID0gbmV3IEFycmF5RGF0YVNvdXJjZSh0aGlzLl9ib29rbWFya05vZGVzKTtcbiAgICB0aGlzLnRyZWVDb250cm9sID0gbmV3IE5lc3RlZFRyZWVDb250cm9sPEJvb2ttYXJrPihub2RlID0+IG5vZGUuY2hpbGRyZW4pO1xuICAgIHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5fYm9va21hcmtOb2RlcztcbiAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkLmZvckVhY2goKGJvb2ttYXJrKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZCgobikgPT4gbi5pZCA9PT0gYm9va21hcmsuaWQpO1xuICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICBpc1RvTm9kZUNoaWxkT2ZGcm9tTm9kZShmcm9tTm9kZUNoaWxkcmVuOiBCb29rbWFya1tdLCB0b05vZGU6IEJvb2ttYXJrKSB7XG5cbiAgICBpZiAoIWZyb21Ob2RlQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldE5vZGUoZnJvbU5vZGVDaGlsZHJlbiwgdG9Ob2RlLmlkKTtcbiAgICByZXR1cm4gcmVzdWx0ID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG59XG4iLCI8YSAqbmdJZj1cImJvb2ttYXJrTm9kZXM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiaGlnaGxpZ2h0ZWRPdXRsaW5lSXRlbVwiXG4gID5ObyBib29rbWFya3MgY3JlYXRlZCB5ZXQ8L2Fcbj5cbjxjZGstdHJlZVxuICBjZGtEcm9wTGlzdFxuICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhaXNEcmFnZ2luZ09uXCJcbiAgY2xhc3M9XCJib29rbWFya3MtdHJlZVwiXG4gICpuZ0lmPVwiZGF0YXNvdXJjZVwiXG4gIFtkYXRhU291cmNlXT1cImRhdGFzb3VyY2VcIlxuICBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIlxuICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4+XG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBsZWFmIG5vZGVzIC0tPlxuICA8Y2RrLW5lc3RlZC10cmVlLW5vZGUgY2xhc3M9XCJub2RlLXdyYXBwZXJcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiPlxuICAgIDxkaXYgKm5nSWY9XCJub2RlLmlkICE9PSBlZGl0YWJsZUJvb2ttYXJrOyBlbHNlIGlucHV0Qm9va21hcmtcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJub2RlLWNvbnRlbnQtd3JhcHBlciBuZXN0ZWQtdHJlZS1ub2RlXCJcbiAgICAgICAgY2RrRHJhZ1xuICAgICAgICBbY2RrRHJhZ0RhdGFdPVwibm9kZVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cImRyYWdIb3ZlcigkZXZlbnQsIG5vZGUpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiZHJhZ0hvdmVyRW5kKCRldmVudCwgbm9kZSlcIlxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwiZHJhZ1N0YXJ0KClcIlxuICAgICAgICAoY2RrRHJhZ1JlbGVhc2VkKT1cImRyYWdFbmQoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdXRsaW5lSXRlbVwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJnb1RvQm9va21hcmsobm9kZSlcIj5cbiAgICAgICAgICAgIHt7IG5vZGUubmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19yZW5hbWVcIlxuICAgICAgICAgIChjbGljayk9XCJlZGl0Qm9va21hcmsobm9kZS5pZClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19kZWxldGVcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVCb29rbWFyazIobm9kZSlcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWRyb3Atc2xvdFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRCb29rbWFyaz5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjYm9va21hcmtOYW1lXG4gICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2lucHV0XCJcbiAgICAgICAgW3ZhbHVlXT1cIm5vZGUubmFtZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiQk9PS01BUktfQ0hBUl9MSU1JVFwiXG4gICAgICAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19zYXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUJvb2ttYXJrKG5vZGUsIGJvb2ttYXJrTmFtZS52YWx1ZSlcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBleHBhbmRhYmxlIG5vZGVzIC0tPlxuICA8Y2RrLW5lc3RlZC10cmVlLW5vZGVcbiAgICBjbGFzcz1cIm5vZGUtd3JhcHBlclwiXG4gICAgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJub2RlLmlkICE9PSBlZGl0YWJsZUJvb2ttYXJrOyBlbHNlIGlucHV0Qm9va21hcmsyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibm9kZS1jb250ZW50LXdyYXBwZXIgbmVzdGVkLXRyZWUtbm9kZVwiXG4gICAgICAgIGNka0RyYWdcbiAgICAgICAgW2Nka0RyYWdEYXRhXT1cIm5vZGVcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJkcmFnSG92ZXIoJGV2ZW50LCBub2RlKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImRyYWdIb3ZlckVuZCgkZXZlbnQsIG5vZGUpXCJcbiAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cImRyYWdTdGFydCgpXCJcbiAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJkcmFnRW5kKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib3V0bGluZUl0ZW1cIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2RrVHJlZU5vZGVUb2dnbGVcbiAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwib25Ob2RlRXhwYW5kKG5vZGUpXCJcbiAgICAgICAgICAgID48c3BhbiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlblwiPjwvc3BhblxuICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cImdvVG9Cb29rbWFyayhub2RlKVwiPlxuICAgICAgICAgICAge3sgbm9kZS5uYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYm9va21hcmtfX3JlbmFtZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImVkaXRCb29rbWFyayhub2RlLmlkKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2RlbGV0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUJvb2ttYXJrMihub2RlKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtZHJvcC1zbG90XCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNpbnB1dEJvb2ttYXJrMj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjYm9va21hcmtOYW1lXG4gICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2lucHV0XCJcbiAgICAgICAgW3ZhbHVlXT1cIm5vZGUubmFtZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiQk9PS01BUktfQ0hBUl9MSU1JVFwiXG4gICAgICAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19zYXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUJvb2ttYXJrKG5vZGUsIGJvb2ttYXJrTmFtZS52YWx1ZSlcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm5lc3RlZC10cmVlLW5vZGUtY2hpbGRyZW5cIiAqbmdJZj1cInRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG48L2Nkay10cmVlPlxuIl19
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFILE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxnREFBZ0QsQ0FBQztBQUdyRixPQUFPLEtBQUssWUFBWSxNQUFNLGdEQUFnRCxDQUFDO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7OztBQVF2RSxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLElBQ0ksYUFBYSxDQUFDLEtBQWlCO1FBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFL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QUNFLGNBQWM7MEVBT3BCLGFBQWE7c0JBRGhCLEtBQUs7Z0JBWUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9va21hcmsgfSBmcm9tICcuLy4uLy4uLy4uLy4uL3N0b3JlL21vZGVscy9ib29rbWFya3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENyZWF0ZUJvb2ttYXJrLCBEZWxldGVCb29rbWFyaywgTW92ZUJvb2ttYXJrLCBVcGRhdGVCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYm9va21hcmsuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBib29rbWFya3NTZWxlY3RvcnMgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9hbm5vdGF0aW9ucy5yZWR1Y2VyJztcbmltcG9ydCB7IERvY3VtZW50UGFnZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9kb2N1bWVudC5yZWR1Y2VyJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgZ2V0Qm9va21hcmtDaGlsZHJlbiB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2Jvb2ttYXJrcy1zdG9yZS11dGlscyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBcnJheURhdGFTb3VyY2UsIFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCwgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1ib29rbWFya3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmtzLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIEJvb2ttYXJrc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBzZXQgYm9va21hcmtOb2Rlcyh2YWx1ZTogQm9va21hcmtbXSkge1xuICAgIHRoaXMucmVidWlsZFRyZWVGb3JEYXRhKHZhbHVlKTtcbiAgICBpZiAodGhpcy5fYm9va21hcmtOb2RlcyAmJiB0aGlzLnNvcnRNb2RlICE9PSB0aGlzLmN1c3RvbVNvcnQpIHtcbiAgICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICAgIH1cbiAgfTtcblxuICBnZXQgYm9va21hcmtOb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fYm9va21hcmtOb2RlcztcbiAgfTtcblxuICBASW5wdXQoKSB6b29tOiBudW1iZXI7XG4gIEBJbnB1dCgpIHJvdGF0ZTogbnVtYmVyO1xuICBAT3V0cHV0KCkgZ29Ub0Rlc3RpbmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICBwcml2YXRlIF9ib29rbWFya05vZGVzOiBCb29rbWFya1tdID0gW107XG4gIGRhdGFzb3VyY2U6IEFycmF5RGF0YVNvdXJjZTxCb29rbWFyaz47XG4gIHRyZWVDb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8Qm9va21hcms+O1xuICBob3ZlcmVkTm9kZTogQm9va21hcms7XG4gIC8vIGV4cGFuc2lvbiBtb2RlbCB0cmFja3MgZXhwYW5zaW9uIHN0YXRlXG4gIGV4cGFuc2lvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPEJvb2ttYXJrPih0cnVlKTtcbiAgaXNEcmFnZ2luZ09uID0gZmFsc2U7XG4gIGlzVXNlcmRyYWdnaW5nID0gZmFsc2U7XG4gIGV4cGFuZFRpbWVvdXQ6IGFueTtcbiAgZXhwYW5kRGVsYXkgPSAxMDAwO1xuICBkcmFnTm9kZUluc2VydFRvUGFyZW50OiBib29sZWFuO1xuXG4gIHBhZ2VMb29rdXA6IHsgW3BhZ2VJZDogbnVtYmVyXTogRG9jdW1lbnRQYWdlcyB9ID0ge307XG4gIGVkaXRhYmxlQm9va21hcms6IHN0cmluZztcbiAgQk9PS01BUktfQ0hBUl9MSU1JVCA9IDMwO1xuXG4gIGRyYWdOb2RlOiBhbnk7XG4gIGRyYWdOb2RlRXhwYW5kT3ZlcldhaXRUaW1lTXMgPSAzMDA7XG4gIGRyYWdOb2RlRXhwYW5kT3Zlck5vZGU6IGFueTtcbiAgZHJhZ05vZGVFeHBhbmRPdmVyVGltZTogbnVtYmVyO1xuICBkcmFnTm9kZUV4cGFuZE92ZXJBcmVhOiBudW1iZXI7XG5cbiAgb3B0aW9ucyA9IHtcbiAgICBhbGxvd0RyYWc6IHRydWUsXG4gICAgYWxsb3dEcm9wOiB0cnVlXG4gIH07XG5cbiAgJHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgc29ydE1vZGU6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jdXN0b21Tb3J0ID0gJ0NVU1RPTSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Bvc2l0aW9uU29ydCA9ICdQT1NJVElPTic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbUJvb2ttYXJrcy5Cb29rbWFya3NTdGF0ZSB8IEFubm90YXRpb25TZXRTdGF0ZT4pIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc29ydE1vZGUgPSB0aGlzLmN1c3RvbVNvcnQ7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0RWRpdGFibGVCb29rbWFyaykpXG4gICAgICAuc3Vic2NyaWJlKGVkaXRhYmxlSWQgPT4gdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gZWRpdGFibGVJZCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0UGFnZXMpXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VzID0+IHtcblxuICAgICAgICBPYmplY3Qua2V5cyhwYWdlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlTG9va3VwW2tleV0gPSBwYWdlc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlZGl0Qm9va21hcmsoaWQpIHtcbiAgICB0aGlzLmVkaXRhYmxlQm9va21hcmsgPSBpZDtcbiAgfVxuXG4gIG9uQWRkQm9va21hcmtDbGljaygpIHtcbiAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGJvb2ttYXJrc1NlbGVjdG9ycy5nZXRCb29rbWFya0luZm8pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoYm9va21hcmtJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENyZWF0ZUJvb2ttYXJrKHtcbiAgICAgICAgICAuLi5ib29rbWFya0luZm8sIG5hbWU6ICcnLCBpZDogdXVpZCgpXG4gICAgICAgIH0gYXMgYW55KSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUJvb2ttYXJrMihub2RlOiBCb29rbWFyaykge1xuICAgIHRoaXMuY3VzdG9tU29ydEJvb2ttYXJrcygpO1xuICAgIGxldCBuZXh0OiBCb29rbWFyaztcblxuICAgIGNvbnN0IGNoYW5nZWREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJvb2ttYXJrTm9kZXMpKTtcbiAgICBjb25zdCBzaWJsaW5ncyA9IHRoaXMuZmluZE5vZGVTaWJsaW5ncyhjaGFuZ2VkRGF0YSwgbm9kZS5pZCk7XG4gICAgaWYgKHNpYmxpbmdzICYmIHNpYmxpbmdzLmxlbmd0aCA+IG5vZGUuaW5kZXggKyAxKSB7XG4gICAgICBuZXh0ID0gc2libGluZ3Nbbm9kZS5pbmRleCArIDFdO1xuICAgICAgbmV4dC5wcmV2aW91cyA9IG5vZGUucHJldmlvdXM7XG4gICAgfVxuICAgIGNvbnN0IHRvRGVsZXRlID0gW25vZGUuaWQsIC4uLmdldEJvb2ttYXJrQ2hpbGRyZW4obm9kZS5jaGlsZHJlbildO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IERlbGV0ZUJvb2ttYXJrKHtcbiAgICAgIGRlbGV0ZWQ6IHRvRGVsZXRlLCB1cGRhdGVkOiBuZXh0XG4gICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlQm9va21hcmsoYm9va21hcms6IEJvb2ttYXJrLCBuYW1lKSB7XG4gICAgY29uc3QgZWRpdGVkQm9va21hcmsgPSB7XG4gICAgICAuLi5ib29rbWFyayxcbiAgICAgIG5hbWVcbiAgICB9O1xuICAgIGlmIChuYW1lKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVCb29rbWFyayhlZGl0ZWRCb29rbWFyaykpO1xuICAgICAgdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdvVG9Cb29rbWFyayhib29rbWFyazogQm9va21hcmspIHtcbiAgICBjb25zdCB0aGlzUGFnZSA9IHRoaXMucGFnZUxvb2t1cFtib29rbWFyay5wYWdlTnVtYmVyICsgMV07XG4gICAgY29uc3QgZGVmYXVsdEhlaWdodCA9IHRoaXNQYWdlLnN0eWxlcy5oZWlnaHQ7XG4gICAgY29uc3QgZGVmYXVsdFNjYWxlWSA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgZGVmYXVsdEhlaWdodCwgdGhpc1BhZ2UpO1xuXG4gICAgbGV0IHRvcCA9IDAsIGxlZnQgPSAwO1xuICAgIHN3aXRjaCAodGhpcy5yb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIGxlZnQgPSAtIGRlZmF1bHRTY2FsZVk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHRvcCA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgKGRlZmF1bHRIZWlnaHQgLSAoMjQgKiB0aGlzLnpvb20pKSwgdGhpc1BhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICBsZWZ0ID0gZGVmYXVsdFNjYWxlWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0b3AgPSBkZWZhdWx0U2NhbGVZO1xuICAgIH1cblxuICAgIHRoaXMuZ29Ub0Rlc3RpbmF0aW9uLmVtaXQoW1xuICAgICAgYm9va21hcmsucGFnZU51bWJlcixcbiAgICAgIHsgJ25hbWUnOiAnWFlaJyB9LFxuICAgICAgbGVmdCxcbiAgICAgIHRvcFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0IGN1c3RvbVNvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbVNvcnQ7XG4gIH1cblxuICBnZXQgcG9zaXRpb25Tb3J0KCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvblNvcnQ7XG4gIH1cblxuICBzb3J0KG1vZGU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE1vZGUgPSBtb2RlO1xuICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0Qm9va21hcmtzKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0TW9kZSkge1xuICAgICAgY2FzZSB0aGlzLmN1c3RvbVNvcnQ6IHtcbiAgICAgICAgdGhpcy5jdXN0b21Tb3J0Qm9va21hcmtzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSB0aGlzLnBvc2l0aW9uU29ydDoge1xuICAgICAgICB0aGlzLnBvc2l0aW9uU29ydEJvb2ttYXJrcygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5jdXN0b21Tb3J0Qm9va21hcmtzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Tb3J0Qm9va21hcmtzKCkge1xuICAgIHRoaXMuYm9va21hcmtOb2Rlcy5zb3J0KChhLCBiKSA9PiBhLnBhZ2VOdW1iZXIgPT09IGIucGFnZU51bWJlciA/IGEueUNvb3JkaW5hdGUgLSBiLnlDb29yZGluYXRlIDogYS5wYWdlTnVtYmVyIC0gYi5wYWdlTnVtYmVyKTtcbiAgICB0aGlzLmlzRHJhZ2dpbmdPbiA9IGZhbHNlO1xuICAgIHRoaXMucmVidWlsZFRyZWVGb3JEYXRhKHRoaXMuYm9va21hcmtOb2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIGN1c3RvbVNvcnRCb29rbWFya3MoKSB7XG4gICAgaWYgKHRoaXMuYm9va21hcmtOb2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLmJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLmlzRHJhZ2dpbmdPbiA9IHRydWU7XG4gICAgdGhpcy5yZWJ1aWxkVHJlZUZvckRhdGEodGhpcy5ib29rbWFya05vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2NhbGVkWSh5Q29vcmRpbmF0ZTogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgcGFnZTogRG9jdW1lbnRQYWdlcyk6IG51bWJlciB7XG4gICAgY29uc3Qgdmlld3BvcnRTY2FsZSA9IHBhZ2Uudmlld3BvcnRTY2FsZSAvIHRoaXMuem9vbTtcbiAgICByZXR1cm4gKChoZWlnaHQgLyB0aGlzLnpvb20pIC0geUNvb3JkaW5hdGUpIC8gdmlld3BvcnRTY2FsZTtcbiAgfVxuXG4gIGhhc0NoaWxkID0gKF86IG51bWJlciwgbm9kZTogQm9va21hcmspID0+IHtcbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXROb2RlKGJvb2ttYXJrcywgcGFyZW50SWQpIHtcbiAgICBpZiAodHlwZW9mIGJvb2ttYXJrcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYm9va21hcmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChib29rbWFya3NbaV0uaWQgPT09IHBhcmVudElkKSB7XG4gICAgICAgICAgcmV0dXJuIFtib29rbWFya3NbaV1dO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGEgPSB0aGlzLmdldE5vZGUoYm9va21hcmtzW2ldLmNoaWxkcmVuLCBwYXJlbnRJZCk7XG4gICAgICAgIGlmIChhICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxCb29rbWFyaz4pIHtcblxuICAgIGlmICghZXZlbnQuaXNQb2ludGVyT3ZlckNvbnRhaW5lciB8fCAoZXZlbnQucHJldmlvdXNJbmRleCA9PT0gZXZlbnQuY3VycmVudEluZGV4KSkgcmV0dXJuO1xuXG4gICAgY29uc3QgaGFzTW92ZWRVcFRoZVRyZWUgPSBldmVudC5wcmV2aW91c0luZGV4ID4gZXZlbnQuY3VycmVudEluZGV4O1xuICAgIGNvbnN0IGJvb2ttYXJrTm9kZXNTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLl9ib29rbWFya05vZGVzKTtcbiAgICBjb25zdCBjaGFuZ2VkRGF0YSA9IEpTT04ucGFyc2UoYm9va21hcmtOb2Rlc1N0cmluZyk7XG4gICAgY29uc3QgdmlzaWJsZU5vZGVzID0gdGhpcy52aXNpYmxlTm9kZXModGhpcy5fYm9va21hcmtOb2Rlcyk7XG4gICAgY29uc3QgdG9Ob2RlID0gdmlzaWJsZU5vZGVzW2V2ZW50LmN1cnJlbnRJbmRleF0gYXMgQm9va21hcms7XG4gICAgY29uc3QgdG9Ob2RlU2libGluZ3MgPSB0aGlzLmZpbmROb2RlU2libGluZ3MoY2hhbmdlZERhdGEsIHRvTm9kZS5pZCk7XG5cbiAgICBjb25zdCB0b05vZGVQYXJlbnQgPSB0b05vZGVTaWJsaW5nc1swXS5wYXJlbnQ7XG4gICAgY29uc3QgdG9JbmRleCA9IHRvTm9kZVNpYmxpbmdzLmZpbmRJbmRleChzID0+IHMuaWQgPT09IHRvTm9kZS5pZCk7XG5cbiAgICBjb25zdCBmcm9tTm9kZSA9IGV2ZW50Lml0ZW0uZGF0YSBhcyBCb29rbWFyaztcbiAgICBjb25zdCBmcm9tTm9kZVNpYmxpbmdzID0gdGhpcy5maW5kTm9kZVNpYmxpbmdzKGNoYW5nZWREYXRhLCBmcm9tTm9kZS5pZCk7XG4gICAgY29uc3QgZnJvbUluZGV4ID0gZnJvbU5vZGVTaWJsaW5ncy5maW5kSW5kZXgobiA9PiBuLmlkID09PSBmcm9tTm9kZS5pZCk7XG5cbiAgICBpZiAodGhpcy5pc1RvTm9kZUNoaWxkT2ZGcm9tTm9kZShmcm9tTm9kZT8uY2hpbGRyZW4sIHRvTm9kZSkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmRyYWdOb2RlSW5zZXJ0VG9QYXJlbnQpIHtcblxuICAgICAgY29uc3QgaW5kZXhPZlBhcmVudCA9IHRvTm9kZVNpYmxpbmdzLmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQuaWQgPT09IHRvTm9kZS5pZCk7XG4gICAgICBjb25zdCBwYXJlbnROb2RlID0gdG9Ob2RlU2libGluZ3NbaW5kZXhPZlBhcmVudF07XG4gICAgICBjb25zdCBmaXJzdENoaWxkID0gcGFyZW50Tm9kZT8uY2hpbGRyZW4gJiYgcGFyZW50Tm9kZT8uY2hpbGRyZW4ubGVuZ3RoID4gMCA/IHBhcmVudE5vZGUuY2hpbGRyZW5bMF0gOiBudWxsO1xuICAgICAgbGV0IG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFt7IC4uLmZyb21Ob2RlLCBwYXJlbnQ6IHBhcmVudE5vZGUuaWQsIHByZXZpb3VzOiBudWxsIH1dO1xuXG4gICAgICBpZiAoZmlyc3RDaGlsZCkge1xuICAgICAgICBtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQgPSBbLi4ubW92ZWRCb29rbWFya3NXaXRoUGFyZW50LCB7IC4uLmZpcnN0Q2hpbGQsIHByZXZpb3VzOiBmcm9tTm9kZS5pZCB9XTtcbiAgICAgIH1cblxuICAgICAgbGV0IGZyb21Ob2RlU2libGluZyA9IHRoaXMuZ2V0U2libGluZ0Zyb21BbGxTaWJsaWluZ3MoZnJvbU5vZGVTaWJsaW5ncywgZnJvbUluZGV4ICsgMSk7XG4gICAgICBjb25zdCBuZXh0RnJvbWluZGV4Zm9yUGFyZW50ID0gZnJvbUluZGV4ICsgMTtcbiAgICAgIGZyb21Ob2RlU2libGluZyA9IGZyb21Ob2RlU2libGluZyAmJiBmcm9tTm9kZVNpYmxpbmcuaWQgPT09IGZyb21Ob2RlLnByZXZpb3VzID8gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyhmcm9tTm9kZVNpYmxpbmdzLCBuZXh0RnJvbWluZGV4Zm9yUGFyZW50ICsgMSkgOiBmcm9tTm9kZVNpYmxpbmc7XG5cbiAgICAgIGlmIChmcm9tTm9kZVNpYmxpbmcgJiYgZnJvbU5vZGVTaWJsaW5nLmlkICE9PSBwYXJlbnROb2RlLmlkKSB7XG4gICAgICAgIG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFsuLi5tb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQsIHsgLi4uZnJvbU5vZGVTaWJsaW5nLCBwcmV2aW91czogZnJvbU5vZGUucHJldmlvdXMgfV07XG4gICAgICB9XG5cbiAgICAgIGxldCBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCA9IHRvSW5kZXggLSAxO1xuICAgICAgbGV0IHBhcmVudE5vZGVTaWJsaW5nID0gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyh0b05vZGVTaWJsaW5ncywgcHJldmlvdXNTaWJsaW5nRm9yUGFyZW50SW5kZXgpO1xuXG4gICAgICBpZiAocGFyZW50Tm9kZVNpYmxpbmcgJiYgcGFyZW50Tm9kZVNpYmxpbmcuaWQgPT0gZnJvbU5vZGUuaWQpIHtcbiAgICAgICAgcHJldmlvdXNTaWJsaW5nRm9yUGFyZW50SW5kZXggPSBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCAtIDE7XG4gICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgcGFyZW50Tm9kZVNpYmxpbmcgPSB0aGlzLmdldFNpYmxpbmdGcm9tQWxsU2libGlpbmdzKHRvTm9kZVNpYmxpbmdzLCBwcmV2aW91c1NpYmxpbmdGb3JQYXJlbnRJbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcGFyZW50Tm9kZVNpYmxpbmcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCA9IFsuLi5tb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQsIHsgLi4ucGFyZW50Tm9kZSwgcHJldmlvdXM6IHBhcmVudE5vZGVTaWJsaW5nPy5pZCB9XTtcblxuICAgICAgY29uc3QgaGFzUGFyZW50RHVwcyA9IChtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQgYXMgQm9va21hcmtbXSkubWFwKHggPT4geC5pZCkuc29tZShmdW5jdGlvbiAodmFsdWUsIGluZGV4LCBhcnJheSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuc29tZSB3aWxsIGJyZWFrIGFzIHNvb24gYXMgZHVwbGljYXRlIGZvdW5kIChubyBuZWVkIHRvIGl0dGVyYXRlIG92ZXIgYWxsIGFycmF5KVxuICAgICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSkgIT09IGFycmF5Lmxhc3RJbmRleE9mKHZhbHVlKTsgICAvLyBjb21wYXJpbmcgZmlyc3QgYW5kIGxhc3QgaW5kZXhlcyBvZiB0aGUgc2FtZSB2YWx1ZVxuICAgICAgfSlcbiAgICAgIGlmIChoYXNQYXJlbnREdXBzIHx8IG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCAmJiBtb3ZlZEJvb2ttYXJrc1dpdGhQYXJlbnQubGVuZ3RoIDw9IDEpIHJldHVybjtcblxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTW92ZUJvb2ttYXJrKG1vdmVkQm9va21hcmtzV2l0aFBhcmVudCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdG9Ob2RlU2libGluZ3MpIHJldHVybjtcblxuICAgIGNvbnN0IGZyb21Ob2RlUHJldmlvdXMgPSBoYXNNb3ZlZFVwVGhlVHJlZSA/IHRvTm9kZS5wcmV2aW91cyA6IHRvTm9kZS5pZDtcbiAgICBsZXQgbW92ZWRCb29rbWFya3MgPSBbe1xuICAgICAgLi4uZnJvbU5vZGUsXG4gICAgICBwcmV2aW91czogdG9Ob2RlLmluZGV4ID4gMCA/IGZyb21Ob2RlUHJldmlvdXMgOiB1bmRlZmluZWQsXG4gICAgICBwYXJlbnQ6IHRvTm9kZVBhcmVudFxuICAgIH1dO1xuXG4gICAgbGV0IGZyb21Ob2RlU2libGluZyA9IHRoaXMuZ2V0U2libGluZ0Zyb21BbGxTaWJsaWluZ3MoZnJvbU5vZGVTaWJsaW5ncywgZnJvbUluZGV4ICsgMSk7XG4gICAgY29uc3QgbmV4dEZyb21pbmRleCA9IGZyb21JbmRleCArIDE7XG4gICAgZnJvbU5vZGVTaWJsaW5nID0gZnJvbU5vZGVTaWJsaW5nICYmIGZyb21Ob2RlU2libGluZy5pZCA9PT0gZnJvbU5vZGUucHJldmlvdXMgPyB0aGlzLmdldFNpYmxpbmdGcm9tQWxsU2libGlpbmdzKGZyb21Ob2RlU2libGluZ3MsIG5leHRGcm9taW5kZXggKyAxKSA6IGZyb21Ob2RlU2libGluZztcblxuICAgIGlmIChmcm9tTm9kZVNpYmxpbmcpIHtcbiAgICAgIG1vdmVkQm9va21hcmtzID0gWy4uLm1vdmVkQm9va21hcmtzLCB7IC4uLmZyb21Ob2RlU2libGluZywgcHJldmlvdXM6IGZyb21Ob2RlLnByZXZpb3VzIH1dO1xuICAgIH1cblxuXG4gICAgbGV0IHRvTm9kZVNpYmxpbmdJbmRleCA9IGhhc01vdmVkVXBUaGVUcmVlID8gdG9JbmRleCA6IHRvSW5kZXggKyAxO1xuICAgIGxldCB0b05vZGVTaWJsaW5nID0gdGhpcy5nZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyh0b05vZGVTaWJsaW5ncywgdG9Ob2RlU2libGluZ0luZGV4KTtcblxuICAgIGlmICh0b05vZGVTaWJsaW5nKSB7XG4gICAgICBtb3ZlZEJvb2ttYXJrcyA9IFsuLi5tb3ZlZEJvb2ttYXJrcywgeyAuLi50b05vZGVTaWJsaW5nLCBwcmV2aW91czogZnJvbU5vZGUuaWQgfV07XG4gICAgfVxuXG4gICAgY29uc3QgaGFzRHVwcyA9IChtb3ZlZEJvb2ttYXJrcyBhcyBCb29rbWFya1tdKS5tYXAoeCA9PiB4LmlkKS5zb21lKGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgsIGFycmF5KSB7XG4gICAgICByZXR1cm4gYXJyYXkuaW5kZXhPZih2YWx1ZSkgIT09IGFycmF5Lmxhc3RJbmRleE9mKHZhbHVlKTsgICAvLyBjb21wYXJpbmcgZmlyc3QgYW5kIGxhc3QgaW5kZXhlcyBvZiB0aGUgc2FtZSB2YWx1ZVxuICAgIH0pXG4gICAgaWYgKGhhc0R1cHMgfHwgbW92ZWRCb29rbWFya3MgJiYgbW92ZWRCb29rbWFya3MubGVuZ3RoIDw9IDEpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE1vdmVCb29rbWFyayhtb3ZlZEJvb2ttYXJrcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaWJsaW5nRnJvbUFsbFNpYmxpaW5ncyhzaWJsaW5nOiBCb29rbWFya1tdLCBpbmRleCkge1xuICAgIHJldHVybiBzaWJsaW5nLmxlbmd0aCA+IGluZGV4ID8gc2libGluZ1tpbmRleF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBkcmFnU3RhcnQoKSB7XG4gICAgdGhpcy5kcmFnTm9kZUluc2VydFRvUGFyZW50ID0gZmFsc2U7XG4gICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG51bGw7XG4gICAgdGhpcy5pc1VzZXJkcmFnZ2luZyA9IHRydWU7XG4gIH1cblxuICBkcmFnRW5kKCkge1xuICAgIHRoaXMuaXNVc2VyZHJhZ2dpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGRyYWdIb3ZlcihldmVudDogYW55LCBub2RlOiBCb29rbWFyaykge1xuICAgIGlmICh0aGlzLmlzVXNlcmRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBuZXdFdmVudDogYW55ID0gZXZlbnQ7XG4gICAgICBjb25zdCBwZXJjZW50YWdlWCA9IG5ld0V2ZW50Lm9mZnNldFggLyBuZXdFdmVudC50YXJnZXQuY2xpZW50V2lkdGg7XG4gICAgICBpZiAocGVyY2VudGFnZVggPiAuNTUpIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG5vZGU7XG4gICAgICAgIHRoaXMuZHJhZ05vZGVJbnNlcnRUb1BhcmVudCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhvdmVyZWROb2RlID0gbnVsbDtcbiAgICAgICAgdGhpcy5kcmFnTm9kZUluc2VydFRvUGFyZW50ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZHJhZ0hvdmVyRW5kKGV2ZW50OiBhbnksIG5vZGU6IEJvb2ttYXJrKSB7XG4gICAgaWYgKHRoaXMuaXNVc2VyZHJhZ2dpbmcpIHtcbiAgICAgIGlmICghbm9kZSB8fCB0aGlzLmhvdmVyZWROb2RlPy5pZCAhPT0gbm9kZS5pZCkge1xuICAgICAgICB0aGlzLmRyYWdOb2RlSW5zZXJ0VG9QYXJlbnQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ob3ZlcmVkTm9kZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25Ob2RlRXhwYW5kKG5vZGU6IEJvb2ttYXJrKSB7XG4gICAgY29uc3QgaXNFeHBhbmRlZCA9IHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcbiAgICByZXR1cm4gaXNFeHBhbmRlZCA/IFwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXItZXhwYW5kZWRcIiA6IFwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXItY29sbGFwc2VkXCI7XG4gIH1cblxuICB2aXNpYmxlTm9kZXMoYm9va21hcmtzOiBCb29rbWFya1tdKTogQm9va21hcmtbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICBmdW5jdGlvbiBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGU6IEJvb2ttYXJrLCBleHBhbmRlZDogQm9va21hcmtbXSkge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgICBpZiAoZXhwYW5kZWQuc29tZShib29rbWFyayA9PiBib29rbWFyayAmJiBib29rbWFyay5pZCA9PT0gbm9kZS5pZCkgJiYgbm9kZS5jaGlsZHJlbikge1xuICAgICAgICBub2RlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGFkZEV4cGFuZGVkQ2hpbGRyZW4oY2hpbGQsIGV4cGFuZGVkKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGJvb2ttYXJrcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBhZGRFeHBhbmRlZENoaWxkcmVuKG5vZGUsIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuc2VsZWN0ZWQpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBmaW5kTm9kZVNpYmxpbmdzKGFycjogQXJyYXk8YW55PiwgaWQ6IHN0cmluZyk6IEFycmF5PGFueT4ge1xuICAgIGxldCByZXN1bHQsIHN1YlJlc3VsdDtcbiAgICBhcnIuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaWQgPT09IGlkKSB7XG4gICAgICAgIHJlc3VsdCA9IGFycjtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbT8uY2hpbGRyZW4pIHtcbiAgICAgICAgc3ViUmVzdWx0ID0gdGhpcy5maW5kTm9kZVNpYmxpbmdzKGl0ZW0uY2hpbGRyZW4sIGlkKTtcbiAgICAgICAgaWYgKHN1YlJlc3VsdCkgcmVzdWx0ID0gc3ViUmVzdWx0O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZWJ1aWxkVHJlZUZvckRhdGEoZGF0YTogYW55KSB7XG4gICAgdGhpcy5fYm9va21hcmtOb2RlcyA9IGRhdGEgPz8gW107XG4gICAgdGhpcy5kYXRhc291cmNlID0gbmV3IEFycmF5RGF0YVNvdXJjZSh0aGlzLl9ib29rbWFya05vZGVzKTtcbiAgICB0aGlzLnRyZWVDb250cm9sID0gbmV3IE5lc3RlZFRyZWVDb250cm9sPEJvb2ttYXJrPihub2RlID0+IG5vZGUuY2hpbGRyZW4pO1xuICAgIHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzID0gdGhpcy5fYm9va21hcmtOb2RlcztcbiAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLnNlbGVjdGVkLmZvckVhY2goKGJvb2ttYXJrKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZCgobikgPT4gbi5pZCA9PT0gYm9va21hcmsuaWQpO1xuICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICBpc1RvTm9kZUNoaWxkT2ZGcm9tTm9kZShmcm9tTm9kZUNoaWxkcmVuOiBCb29rbWFya1tdLCB0b05vZGU6IEJvb2ttYXJrKSB7XG5cbiAgICBpZiAoIWZyb21Ob2RlQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldE5vZGUoZnJvbU5vZGVDaGlsZHJlbiwgdG9Ob2RlLmlkKTtcbiAgICByZXR1cm4gcmVzdWx0ID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG59XG4iLCI8YSAqbmdJZj1cImJvb2ttYXJrTm9kZXM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiaGlnaGxpZ2h0ZWRPdXRsaW5lSXRlbVwiXG4gID5ObyBib29rbWFya3MgY3JlYXRlZCB5ZXQ8L2Fcbj5cbjxjZGstdHJlZVxuICBjZGtEcm9wTGlzdFxuICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhaXNEcmFnZ2luZ09uXCJcbiAgY2xhc3M9XCJib29rbWFya3MtdHJlZVwiXG4gICpuZ0lmPVwiZGF0YXNvdXJjZVwiXG4gIFtkYXRhU291cmNlXT1cImRhdGFzb3VyY2VcIlxuICBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIlxuICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4+XG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBsZWFmIG5vZGVzIC0tPlxuICA8Y2RrLW5lc3RlZC10cmVlLW5vZGUgY2xhc3M9XCJub2RlLXdyYXBwZXJcIiAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiPlxuICAgIDxkaXYgKm5nSWY9XCJub2RlLmlkICE9PSBlZGl0YWJsZUJvb2ttYXJrOyBlbHNlIGlucHV0Qm9va21hcmtcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJub2RlLWNvbnRlbnQtd3JhcHBlciBuZXN0ZWQtdHJlZS1ub2RlXCJcbiAgICAgICAgY2RrRHJhZ1xuICAgICAgICBbY2RrRHJhZ0RhdGFdPVwibm9kZVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cImRyYWdIb3ZlcigkZXZlbnQsIG5vZGUpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwiZHJhZ0hvdmVyRW5kKCRldmVudCwgbm9kZSlcIlxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwiZHJhZ1N0YXJ0KClcIlxuICAgICAgICAoY2RrRHJhZ1JlbGVhc2VkKT1cImRyYWdFbmQoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdXRsaW5lSXRlbVwiPlxuICAgICAgICAgIDxhIChjbGljayk9XCJnb1RvQm9va21hcmsobm9kZSlcIj5cbiAgICAgICAgICAgIHt7IG5vZGUubmFtZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19yZW5hbWVcIlxuICAgICAgICAgIChjbGljayk9XCJlZGl0Qm9va21hcmsobm9kZS5pZClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19kZWxldGVcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxldGVCb29rbWFyazIobm9kZSlcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWRyb3Atc2xvdFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRCb29rbWFyaz5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjYm9va21hcmtOYW1lXG4gICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2lucHV0XCJcbiAgICAgICAgW3ZhbHVlXT1cIm5vZGUubmFtZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiQk9PS01BUktfQ0hBUl9MSU1JVFwiXG4gICAgICAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19zYXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUJvb2ttYXJrKG5vZGUsIGJvb2ttYXJrTmFtZS52YWx1ZSlcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gIDwhLS0gVGhpcyBpcyB0aGUgdHJlZSBub2RlIHRlbXBsYXRlIGZvciBleHBhbmRhYmxlIG5vZGVzIC0tPlxuICA8Y2RrLW5lc3RlZC10cmVlLW5vZGVcbiAgICBjbGFzcz1cIm5vZGUtd3JhcHBlclwiXG4gICAgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCJcbiAgPlxuICAgIDxkaXYgKm5nSWY9XCJub2RlLmlkICE9PSBlZGl0YWJsZUJvb2ttYXJrOyBlbHNlIGlucHV0Qm9va21hcmsyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibm9kZS1jb250ZW50LXdyYXBwZXIgbmVzdGVkLXRyZWUtbm9kZVwiXG4gICAgICAgIGNka0RyYWdcbiAgICAgICAgW2Nka0RyYWdEYXRhXT1cIm5vZGVcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJkcmFnSG92ZXIoJGV2ZW50LCBub2RlKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImRyYWdIb3ZlckVuZCgkZXZlbnQsIG5vZGUpXCJcbiAgICAgICAgKGNka0RyYWdTdGFydGVkKT1cImRyYWdTdGFydCgpXCJcbiAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJkcmFnRW5kKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib3V0bGluZUl0ZW1cIj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2RrVHJlZU5vZGVUb2dnbGVcbiAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWNoaWxkcmVuLXdyYXBwZXJcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwib25Ob2RlRXhwYW5kKG5vZGUpXCJcbiAgICAgICAgICAgID48c3BhbiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlblwiPjwvc3BhblxuICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cImdvVG9Cb29rbWFyayhub2RlKVwiPlxuICAgICAgICAgICAge3sgbm9kZS5uYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYm9va21hcmtfX3JlbmFtZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImVkaXRCb29rbWFyayhub2RlLmlkKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2RlbGV0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUJvb2ttYXJrMihub2RlKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vZGUtZHJvcC1zbG90XCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNpbnB1dEJvb2ttYXJrMj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjYm9va21hcmtOYW1lXG4gICAgICAgIGNsYXNzPVwiYm9va21hcmtfX2lucHV0XCJcbiAgICAgICAgW3ZhbHVlXT1cIm5vZGUubmFtZVwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiQk9PS01BUktfQ0hBUl9MSU1JVFwiXG4gICAgICAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJvb2ttYXJrX19zYXZlXCJcbiAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUJvb2ttYXJrKG5vZGUsIGJvb2ttYXJrTmFtZS52YWx1ZSlcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cIm5lc3RlZC10cmVlLW5vZGUtY2hpbGRyZW5cIiAqbmdJZj1cInRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIj5cbiAgICAgIDxuZy1jb250YWluZXIgY2RrVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG48L2Nkay10cmVlPlxuIl19
|
|
@@ -29,10 +29,10 @@ export class OutlineItemComponent {
|
|
|
29
29
|
showHighlightOutlineCss() {
|
|
30
30
|
return this.isCurrentSection ? 'highlightedOutlineItem' : 'outlineItem';
|
|
31
31
|
}
|
|
32
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
33
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
32
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OutlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: OutlineItemComponent, selector: "mv-outline-item", inputs: { outline: "outline", currentPageNumber: "currentPageNumber", isCurrentSection: "isCurrentSection", endPage: "endPage" }, outputs: { navigationEvent: "navigationEvent" }, ngImport: i0, template: "<div class=\"outlineItem\">\n <div *ngIf=\"outline.items.length > 0\"\n [ngClass]=\"{ 'outlineItemToggler': true, 'outlineItemsHidden': !showOutlineItems }\"\n (click)=\"toggleOutline()\"\n (keyup.enter)=\"toggleOutline()\" tabindex=\"0\"></div>\n <a (click)=\"goToDestination(outline?.dest)\"\n (keyup.enter)=\"goToDestination(outline?.dest)\"\n [style.font-weight]=\"outline.bold ? 'bold' : ''\"\n [style.font-style]=\"outline.italic ? 'italic' : ''\"\n [ngClass]=\"showHighlightOutlineCss()\"\n tabindex=\"0\">\n <div style=\"text-align:left;\" [ngClass]=\"showHighlightOutlineCss()\">\n {{ outline.title }}\n <span style=\"float:right;\">\n {{ outline.pageNumber }}\n </span>\n </div>\n </a>\n \n <div *ngIf=\"outline.items.length > 0\" class=\"outlineItems\">\n <div *ngFor=\"let outlineItem of outline.items; index as i\">\n <mv-outline-item\n [outline]=\"outlineItem\" \n [currentPageNumber]= \"currentPageNumber\" \n [isCurrentSection]= \"isViewedItem(outlineItem, outline.items[i+1])\"\n [endPage]=\"findEndPage(outline.items[i+1])\"\n (navigationEvent)=\"goToDestination($event)\">\n </mv-outline-item>\n </div>\n </div>\n</div>\n\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OutlineItemComponent, selector: "mv-outline-item", inputs: ["outline", "currentPageNumber", "isCurrentSection", "endPage"], outputs: ["navigationEvent"] }] }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: OutlineItemComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ selector: 'mv-outline-item', template: "<div class=\"outlineItem\">\n <div *ngIf=\"outline.items.length > 0\"\n [ngClass]=\"{ 'outlineItemToggler': true, 'outlineItemsHidden': !showOutlineItems }\"\n (click)=\"toggleOutline()\"\n (keyup.enter)=\"toggleOutline()\" tabindex=\"0\"></div>\n <a (click)=\"goToDestination(outline?.dest)\"\n (keyup.enter)=\"goToDestination(outline?.dest)\"\n [style.font-weight]=\"outline.bold ? 'bold' : ''\"\n [style.font-style]=\"outline.italic ? 'italic' : ''\"\n [ngClass]=\"showHighlightOutlineCss()\"\n tabindex=\"0\">\n <div style=\"text-align:left;\" [ngClass]=\"showHighlightOutlineCss()\">\n {{ outline.title }}\n <span style=\"float:right;\">\n {{ outline.pageNumber }}\n </span>\n </div>\n </a>\n \n <div *ngIf=\"outline.items.length > 0\" class=\"outlineItems\">\n <div *ngFor=\"let outlineItem of outline.items; index as i\">\n <mv-outline-item\n [outline]=\"outlineItem\" \n [currentPageNumber]= \"currentPageNumber\" \n [isCurrentSection]= \"isViewedItem(outlineItem, outline.items[i+1])\"\n [endPage]=\"findEndPage(outline.items[i+1])\"\n (navigationEvent)=\"goToDestination($event)\">\n </mv-outline-item>\n </div>\n </div>\n</div>\n\n" }]
|
|
38
38
|
}], propDecorators: { outline: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
46
46
|
}], navigationEvent: [{
|
|
47
47
|
type: Output
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8vRSxNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBVVksb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBaUNoRDtJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQWdCO1FBQzlCLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZ0IsRUFBRSxJQUFhO1FBQzFDLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDakgsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBYTtRQUN2QixPQUFPLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDN0QsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUMxRSxDQUFDO2tJQXRDVSxvQkFBb0I7c0hBQXBCLG9CQUFvQiwwT0NQakMsbXZDQWdDQSwyV0R6QmEsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFLbEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi9vdXRsaW5lLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtb3V0bGluZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL291dGxpbmUtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT3V0bGluZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG91dGxpbmU6IE91dGxpbmU7XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlTnVtYmVyOiBudW1iZXI7XG4gIEBJbnB1dCgpIGlzQ3VycmVudFNlY3Rpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuZFBhZ2U6IG51bWJlcjtcbiAgQE91dHB1dCgpIG5hdmlnYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzaG93T3V0bGluZUl0ZW1zOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvd091dGxpbmVJdGVtcyA9IHRydWU7XG4gIH1cblxuICBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueSkge1xuICAgIGlmIChkZXN0aW5hdGlvbikge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uRXZlbnQuZW1pdChkZXN0aW5hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlT3V0bGluZSgpIHtcbiAgICB0aGlzLnNob3dPdXRsaW5lSXRlbXMgPSAhdGhpcy5zaG93T3V0bGluZUl0ZW1zO1xuICB9XG5cbiAgaXNWaWV3ZWRJdGVtKGN1cnJlbnQ6IE91dGxpbmUsIG5leHQ6IE91dGxpbmUpOiBib29sZWFuIHtcbiAgICBpZiAoY3VycmVudC5wYWdlTnVtYmVyID09PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyICYmIHRoaXMuZW5kUGFnZSA+IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgOlxuICAgICAgY3VycmVudC5wYWdlTnVtYmVyIDw9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgJiYgKG5leHQucGFnZU51bWJlciA+IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgZmluZEVuZFBhZ2UobmV4dDogT3V0bGluZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IHRoaXMuZW5kUGFnZSA6IG5leHQucGFnZU51bWJlcjtcbiAgfVxuXG4gIHNob3dIaWdobGlnaHRPdXRsaW5lQ3NzKCkge1xuICAgIHJldHVybiB0aGlzLmlzQ3VycmVudFNlY3Rpb24gPyAnaGlnaGxpZ2h0ZWRPdXRsaW5lSXRlbScgOiAnb3V0bGluZUl0ZW0nO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib3V0bGluZUl0ZW1cIj5cbiAgPGRpdiAqbmdJZj1cIm91dGxpbmUuaXRlbXMubGVuZ3RoID4gMFwiXG4gICAgICAgW25nQ2xhc3NdPVwieyAnb3V0bGluZUl0ZW1Ub2dnbGVyJzogdHJ1ZSwgJ291dGxpbmVJdGVtc0hpZGRlbic6ICFzaG93T3V0bGluZUl0ZW1zIH1cIlxuICAgICAgIChjbGljayk9XCJ0b2dnbGVPdXRsaW5lKClcIlxuICAgICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVPdXRsaW5lKClcIiB0YWJpbmRleD1cIjBcIj48L2Rpdj5cbiAgPGEgKGNsaWNrKT1cImdvVG9EZXN0aW5hdGlvbihvdXRsaW5lPy5kZXN0KVwiXG4gICAgIChrZXl1cC5lbnRlcik9XCJnb1RvRGVzdGluYXRpb24ob3V0bGluZT8uZGVzdClcIlxuICAgICBbc3R5bGUuZm9udC13ZWlnaHRdPVwib3V0bGluZS5ib2xkID8gJ2JvbGQnIDogJydcIlxuICAgICBbc3R5bGUuZm9udC1zdHlsZV09XCJvdXRsaW5lLml0YWxpYyA/ICdpdGFsaWMnIDogJydcIlxuICAgICBbbmdDbGFzc109XCJzaG93SGlnaGxpZ2h0T3V0bGluZUNzcygpXCJcbiAgICAgdGFiaW5kZXg9XCIwXCI+XG4gICAgPGRpdiBzdHlsZT1cInRleHQtYWxpZ246bGVmdDtcIiBbbmdDbGFzc109XCJzaG93SGlnaGxpZ2h0T3V0bGluZUNzcygpXCI+XG4gICAgICB7eyBvdXRsaW5lLnRpdGxlIH19XG4gICAgICA8c3BhbiBzdHlsZT1cImZsb2F0OnJpZ2h0O1wiPlxuICAgICAgICB7eyBvdXRsaW5lLnBhZ2VOdW1iZXIgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9hPlxuICBcbiAgPGRpdiAqbmdJZj1cIm91dGxpbmUuaXRlbXMubGVuZ3RoID4gMFwiIGNsYXNzPVwib3V0bGluZUl0ZW1zXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgb3V0bGluZUl0ZW0gb2Ygb3V0bGluZS5pdGVtczsgaW5kZXggYXMgaVwiPlxuICAgICAgPG12LW91dGxpbmUtaXRlbVxuICAgICAgICBbb3V0bGluZV09XCJvdXRsaW5lSXRlbVwiIFxuICAgICAgICBbY3VycmVudFBhZ2VOdW1iZXJdPSBcImN1cnJlbnRQYWdlTnVtYmVyXCIgXG4gICAgICAgIFtpc0N1cnJlbnRTZWN0aW9uXT0gXCJpc1ZpZXdlZEl0ZW0ob3V0bGluZUl0ZW0sIG91dGxpbmUuaXRlbXNbaSsxXSlcIlxuICAgICAgICBbZW5kUGFnZV09XCJmaW5kRW5kUGFnZShvdXRsaW5lLml0ZW1zW2krMV0pXCJcbiAgICAgICAgKG5hdmlnYXRpb25FdmVudCk9XCJnb1RvRGVzdGluYXRpb24oJGV2ZW50KVwiPlxuICAgICAgPC9tdi1vdXRsaW5lLWl0ZW0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -53,10 +53,10 @@ export class SideBarComponent {
|
|
|
53
53
|
findEndPage(next) {
|
|
54
54
|
return next === undefined ? Number.MAX_SAFE_INTEGER : next.pageNumber;
|
|
55
55
|
}
|
|
56
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
57
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
56
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideBarComponent, deps: [{ token: i1.ViewerEventService }, { token: i2.Store }, { token: i3.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SideBarComponent, selector: "mv-side-bar", inputs: { annotationsEnabled: "annotationsEnabled", outline: "outline", url: "url", zoom: "zoom", rotate: "rotate", currentPageNumber: "currentPageNumber" }, viewQueries: [{ propertyName: "bookmarks", first: true, predicate: BookmarksComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div id=\"toolbarSidebar\">\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton toggled\"\n >\n <button\n id=\"sortBookmarkPosition\"\n class=\"splitToolbarButton left bookmark__sort__position\"\n (click)=\"bookmarks.sort(bookmarks.positionSort)\"\n title=\"Order by place in document\"\n ></button>\n <button\n id=\"sortBookmarkCustom\"\n class=\"splitToolbarButton left bookmark__sort__custom\"\n (click)=\"bookmarks.sort(bookmarks.customSort)\"\n title=\"Order manually\"\n ></button>\n </div>\n <div class=\"splitToolbarButtonSeparator\"></div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton right\"\n >\n <button\n id=\"addBookmark\"\n class=\"toolbarButton addBookmark\"\n (click)=\"bookmarks.onAddBookmarkClick()\"\n title=\"Add bookmark\"\n tabindex=\"3\"\n data-l10n-id=\"addBookmark\"\n >\n <span data-l10n-id=\"addBookmark_label\">{{\n \"Add bookmark\" | rpxTranslate\n }}</span>\n </button>\n </div>\n</div>\n<div id=\"sidebarContent\">\n <div id=\"outlineView\" class=\"outlineWithDeepNesting\">\n <div class=\"outlineItem\" *ngIf=\"selectedView === 'outline'\">\n <mv-outline-item\n *ngFor=\"let outlineItem of outline; index as i\"\n [outline]=\"outlineItem\"\n [currentPageNumber]=\"currentPageNumber\"\n [isCurrentSection]=\"isViewedItem(outlineItem, outline[i + 1])\"\n [endPage]=\"findEndPage(outline[i + 1])\"\n (navigationEvent)=\"goToDestination($event)\"\n ></mv-outline-item>\n </div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n id=\"bookmarkContainer\"\n >\n <mv-bookmarks\n [bookmarkNodes]=\"bookmarkNodes$ | async\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n (goToDestination)=\"goToDestination($event)\"\n ></mv-bookmarks>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.BookmarksComponent, selector: "mv-bookmarks", inputs: ["bookmarkNodes", "zoom", "rotate"], outputs: ["goToDestination"] }, { kind: "component", type: i6.OutlineItemComponent, selector: "mv-outline-item", inputs: ["outline", "currentPageNumber", "isCurrentSection", "endPage"], outputs: ["navigationEvent"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.RpxTranslatePipe, name: "rpxTranslate" }] }); }
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SideBarComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
61
|
args: [{ selector: 'mv-side-bar', template: "<div id=\"toolbarSidebar\">\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton toggled\"\n >\n <button\n id=\"sortBookmarkPosition\"\n class=\"splitToolbarButton left bookmark__sort__position\"\n (click)=\"bookmarks.sort(bookmarks.positionSort)\"\n title=\"Order by place in document\"\n ></button>\n <button\n id=\"sortBookmarkCustom\"\n class=\"splitToolbarButton left bookmark__sort__custom\"\n (click)=\"bookmarks.sort(bookmarks.customSort)\"\n title=\"Order manually\"\n ></button>\n </div>\n <div class=\"splitToolbarButtonSeparator\"></div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n class=\"splitToolbarButton right\"\n >\n <button\n id=\"addBookmark\"\n class=\"toolbarButton addBookmark\"\n (click)=\"bookmarks.onAddBookmarkClick()\"\n title=\"Add bookmark\"\n tabindex=\"3\"\n data-l10n-id=\"addBookmark\"\n >\n <span data-l10n-id=\"addBookmark_label\">{{\n \"Add bookmark\" | rpxTranslate\n }}</span>\n </button>\n </div>\n</div>\n<div id=\"sidebarContent\">\n <div id=\"outlineView\" class=\"outlineWithDeepNesting\">\n <div class=\"outlineItem\" *ngIf=\"selectedView === 'outline'\">\n <mv-outline-item\n *ngFor=\"let outlineItem of outline; index as i\"\n [outline]=\"outlineItem\"\n [currentPageNumber]=\"currentPageNumber\"\n [isCurrentSection]=\"isViewedItem(outlineItem, outline[i + 1])\"\n [endPage]=\"findEndPage(outline[i + 1])\"\n (navigationEvent)=\"goToDestination($event)\"\n ></mv-outline-item>\n </div>\n <div\n *ngIf=\"annotationsEnabled && selectedView === 'bookmarks'\"\n id=\"bookmarkContainer\"\n >\n <mv-bookmarks\n [bookmarkNodes]=\"bookmarkNodes$ | async\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n (goToDestination)=\"goToDestination($event)\"\n ></mv-bookmarks>\n </div>\n </div>\n</div>\n" }]
|
|
62
62
|
}], ctorParameters: () => [{ type: i1.ViewerEventService }, { type: i2.Store }, { type: i3.ToolbarEventService }], propDecorators: { annotationsEnabled: [{
|
|
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
75
75
|
type: ViewChild,
|
|
76
76
|
args: [BookmarksComponent]
|
|
77
77
|
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pHLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDZDQUE2QyxDQUFDO0FBRWxGLE9BQU8sRUFBa0IsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFNeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixZQUFvQixZQUFnQyxFQUMxQyxLQUE0QixFQUNuQixhQUFrQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDMUMsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBUHJELGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBR2pCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUt2QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUNwRixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7SUFBRSxDQUFDO0lBRVAsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFrQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDMUMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3ZCLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hFLENBQUM7aUlBOURVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLDRQQVNoQixrQkFBa0IscUVDM0IvQixrZ0VBOERBOzsyRkQ1Q2EsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGFBQWE7NklBS2Qsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR04sU0FBUztzQkFEUixTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYm9va21hcmtzU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQm9va21hcmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmssIExvYWRCb29rbWFya3MgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc1N0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmtzL2Jvb2ttYXJrcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1zaWRlLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLWJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lkZUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGFubm90YXRpb25zRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgb3V0bGluZTogT3V0bGluZTtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlTnVtYmVyOiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZChCb29rbWFya3NDb21wb25lbnQpXG4gIGJvb2ttYXJrczogQm9va21hcmtzQ29tcG9uZW50O1xuXG4gIHNlbGVjdGVkVmlldyA9ICdvdXRsaW5lJztcbiAgYm9va21hcmtOb2RlcyQ6IE9ic2VydmFibGU8Qm9va21hcmtOb2RlW10+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdlckV2ZW50czogVmlld2VyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEJvb2ttYXJrc1N0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvb2ttYXJrTm9kZXMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0Qm9va21hcmtOb2RlcykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUucGlwZShzZWxlY3QoYm9va21hcmtzU2VsZWN0b3JzLmdldEVkaXRhYmxlQm9va21hcmspKVxuICAgICAgLnN1YnNjcmliZShlZGl0YWJsZSA9PiB0aGlzLnNlbGVjdGVkVmlldyA9IGVkaXRhYmxlID8gJ2Jvb2ttYXJrcycgOiB0aGlzLnNlbGVjdGVkVmlldykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPdXRsaW5lVmlldy5zdWJzY3JpYmUodG9nZ2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXcgPSB0b2dnbGUgPyAnb3V0bGluZScgOiAnYm9va21hcmtzJztcbiAgICAgIH0pXG4gICAgKTsgIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudXJsICYmIHRoaXMudXJsKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBMb2FkQm9va21hcmtzKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gIH1cblxuICBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy52aWV3ZXJFdmVudHMuZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHRvZ2dsZVNpZGViYXJWaWV3KHNpZGViYXJWaWV3OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkVmlldyA9IHNpZGViYXJWaWV3O1xuICB9XG5cbiAgaXNWaWV3ZWRJdGVtKGN1cnJlbnQ6IE91dGxpbmUsIG5leHQ6IE91dGxpbmUpOiBib29sZWFuIHtcbiAgICBpZiAoY3VycmVudC5wYWdlTnVtYmVyID09PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyIDpcbiAgICAgIGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyICYmIChuZXh0LnBhZ2VOdW1iZXIgPiB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKTtcbiAgfVxuXG4gIGZpbmRFbmRQYWdlKG5leHQ6IE91dGxpbmUpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXh0ID09PSB1bmRlZmluZWQgPyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiA6IG5leHQucGFnZU51bWJlcjtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInRvb2xiYXJTaWRlYmFyXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiB0b2dnbGVkXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwic29ydEJvb2ttYXJrUG9zaXRpb25cIlxuICAgICAgY2xhc3M9XCJzcGxpdFRvb2xiYXJCdXR0b24gbGVmdCBib29rbWFya19fc29ydF9fcG9zaXRpb25cIlxuICAgICAgKGNsaWNrKT1cImJvb2ttYXJrcy5zb3J0KGJvb2ttYXJrcy5wb3NpdGlvblNvcnQpXCJcbiAgICAgIHRpdGxlPVwiT3JkZXIgYnkgcGxhY2UgaW4gZG9jdW1lbnRcIlxuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cInNvcnRCb29rbWFya0N1c3RvbVwiXG4gICAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiBsZWZ0IGJvb2ttYXJrX19zb3J0X19jdXN0b21cIlxuICAgICAgKGNsaWNrKT1cImJvb2ttYXJrcy5zb3J0KGJvb2ttYXJrcy5jdXN0b21Tb3J0KVwiXG4gICAgICB0aXRsZT1cIk9yZGVyIG1hbnVhbGx5XCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3BsaXRUb29sYmFyQnV0dG9uU2VwYXJhdG9yXCI+PC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiByaWdodFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cImFkZEJvb2ttYXJrXCJcbiAgICAgIGNsYXNzPVwidG9vbGJhckJ1dHRvbiBhZGRCb29rbWFya1wiXG4gICAgICAoY2xpY2spPVwiYm9va21hcmtzLm9uQWRkQm9va21hcmtDbGljaygpXCJcbiAgICAgIHRpdGxlPVwiQWRkIGJvb2ttYXJrXCJcbiAgICAgIHRhYmluZGV4PVwiM1wiXG4gICAgICBkYXRhLWwxMG4taWQ9XCJhZGRCb29rbWFya1wiXG4gICAgPlxuICAgICAgPHNwYW4gZGF0YS1sMTBuLWlkPVwiYWRkQm9va21hcmtfbGFiZWxcIj57e1xuICAgICAgICBcIkFkZCBib29rbWFya1wiIHwgcnB4VHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgaWQ9XCJzaWRlYmFyQ29udGVudFwiPlxuICA8ZGl2IGlkPVwib3V0bGluZVZpZXdcIiBjbGFzcz1cIm91dGxpbmVXaXRoRGVlcE5lc3RpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwib3V0bGluZUl0ZW1cIiAqbmdJZj1cInNlbGVjdGVkVmlldyA9PT0gJ291dGxpbmUnXCI+XG4gICAgICA8bXYtb3V0bGluZS1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBvdXRsaW5lSXRlbSBvZiBvdXRsaW5lOyBpbmRleCBhcyBpXCJcbiAgICAgICAgW291dGxpbmVdPVwib3V0bGluZUl0ZW1cIlxuICAgICAgICBbY3VycmVudFBhZ2VOdW1iZXJdPVwiY3VycmVudFBhZ2VOdW1iZXJcIlxuICAgICAgICBbaXNDdXJyZW50U2VjdGlvbl09XCJpc1ZpZXdlZEl0ZW0ob3V0bGluZUl0ZW0sIG91dGxpbmVbaSArIDFdKVwiXG4gICAgICAgIFtlbmRQYWdlXT1cImZpbmRFbmRQYWdlKG91dGxpbmVbaSArIDFdKVwiXG4gICAgICAgIChuYXZpZ2F0aW9uRXZlbnQpPVwiZ29Ub0Rlc3RpbmF0aW9uKCRldmVudClcIlxuICAgICAgPjwvbXYtb3V0bGluZS1pdGVtPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiYW5ub3RhdGlvbnNFbmFibGVkICYmIHNlbGVjdGVkVmlldyA9PT0gJ2Jvb2ttYXJrcydcIlxuICAgICAgaWQ9XCJib29rbWFya0NvbnRhaW5lclwiXG4gICAgPlxuICAgICAgPG12LWJvb2ttYXJrc1xuICAgICAgICBbYm9va21hcmtOb2Rlc109XCJib29rbWFya05vZGVzJCB8IGFzeW5jXCJcbiAgICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAgIFtyb3RhdGVdPVwicm90YXRlXCJcbiAgICAgICAgKGdvVG9EZXN0aW5hdGlvbik9XCJnb1RvRGVzdGluYXRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9tdi1ib29rbWFya3M+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9zaWRlLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pHLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDZDQUE2QyxDQUFDO0FBRWxGLE9BQU8sRUFBa0IsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFNeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztBQU1yRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUIzQixZQUFvQixZQUFnQyxFQUMxQyxLQUE0QixFQUNuQixhQUFrQztRQUZqQyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDMUMsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDbkIsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBUHJELGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBR2pCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUt2QyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUNwRixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7SUFBRSxDQUFDO0lBRVAsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFrQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDMUMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4RSxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3ZCLE9BQU8sSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3hFLENBQUM7a0lBOURVLGdCQUFnQjtzSEFBaEIsZ0JBQWdCLDRQQVNoQixrQkFBa0IscUVDM0IvQixrZ0VBOERBOzs0RkQ1Q2EsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGFBQWE7NklBS2Qsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR04sU0FBUztzQkFEUixTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgYm9va21hcmtzU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQm9va21hcmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3JlYXRlQm9va21hcmssIExvYWRCb29rbWFya3MgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc1N0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYm9va21hcmtzLnJlZHVjZXInO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJvb2ttYXJrc0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmtzL2Jvb2ttYXJrcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1zaWRlLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLWJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2lkZUJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGFubm90YXRpb25zRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgb3V0bGluZTogT3V0bGluZTtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlTnVtYmVyOiBudW1iZXI7XG5cbiAgQFZpZXdDaGlsZChCb29rbWFya3NDb21wb25lbnQpXG4gIGJvb2ttYXJrczogQm9va21hcmtzQ29tcG9uZW50O1xuXG4gIHNlbGVjdGVkVmlldyA9ICdvdXRsaW5lJztcbiAgYm9va21hcmtOb2RlcyQ6IE9ic2VydmFibGU8Qm9va21hcmtOb2RlW10+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdlckV2ZW50czogVmlld2VyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEJvb2ttYXJrc1N0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvb2ttYXJrTm9kZXMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0Qm9va21hcmtOb2RlcykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUucGlwZShzZWxlY3QoYm9va21hcmtzU2VsZWN0b3JzLmdldEVkaXRhYmxlQm9va21hcmspKVxuICAgICAgLnN1YnNjcmliZShlZGl0YWJsZSA9PiB0aGlzLnNlbGVjdGVkVmlldyA9IGVkaXRhYmxlID8gJ2Jvb2ttYXJrcycgOiB0aGlzLnNlbGVjdGVkVmlldykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPdXRsaW5lVmlldy5zdWJzY3JpYmUodG9nZ2xlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXcgPSB0b2dnbGUgPyAnb3V0bGluZScgOiAnYm9va21hcmtzJztcbiAgICAgIH0pXG4gICAgKTsgIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudXJsICYmIHRoaXMudXJsKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBMb2FkQm9va21hcmtzKCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gIH1cblxuICBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy52aWV3ZXJFdmVudHMuZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHRvZ2dsZVNpZGViYXJWaWV3KHNpZGViYXJWaWV3OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdGVkVmlldyA9IHNpZGViYXJWaWV3O1xuICB9XG5cbiAgaXNWaWV3ZWRJdGVtKGN1cnJlbnQ6IE91dGxpbmUsIG5leHQ6IE91dGxpbmUpOiBib29sZWFuIHtcbiAgICBpZiAoY3VycmVudC5wYWdlTnVtYmVyID09PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyIDpcbiAgICAgIGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyICYmIChuZXh0LnBhZ2VOdW1iZXIgPiB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKTtcbiAgfVxuXG4gIGZpbmRFbmRQYWdlKG5leHQ6IE91dGxpbmUpOiBudW1iZXIge1xuICAgIHJldHVybiBuZXh0ID09PSB1bmRlZmluZWQgPyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiA6IG5leHQucGFnZU51bWJlcjtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInRvb2xiYXJTaWRlYmFyXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiB0b2dnbGVkXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwic29ydEJvb2ttYXJrUG9zaXRpb25cIlxuICAgICAgY2xhc3M9XCJzcGxpdFRvb2xiYXJCdXR0b24gbGVmdCBib29rbWFya19fc29ydF9fcG9zaXRpb25cIlxuICAgICAgKGNsaWNrKT1cImJvb2ttYXJrcy5zb3J0KGJvb2ttYXJrcy5wb3NpdGlvblNvcnQpXCJcbiAgICAgIHRpdGxlPVwiT3JkZXIgYnkgcGxhY2UgaW4gZG9jdW1lbnRcIlxuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cInNvcnRCb29rbWFya0N1c3RvbVwiXG4gICAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiBsZWZ0IGJvb2ttYXJrX19zb3J0X19jdXN0b21cIlxuICAgICAgKGNsaWNrKT1cImJvb2ttYXJrcy5zb3J0KGJvb2ttYXJrcy5jdXN0b21Tb3J0KVwiXG4gICAgICB0aXRsZT1cIk9yZGVyIG1hbnVhbGx5XCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3BsaXRUb29sYmFyQnV0dG9uU2VwYXJhdG9yXCI+PC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cImFubm90YXRpb25zRW5hYmxlZCAmJiBzZWxlY3RlZFZpZXcgPT09ICdib29rbWFya3MnXCJcbiAgICBjbGFzcz1cInNwbGl0VG9vbGJhckJ1dHRvbiByaWdodFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBpZD1cImFkZEJvb2ttYXJrXCJcbiAgICAgIGNsYXNzPVwidG9vbGJhckJ1dHRvbiBhZGRCb29rbWFya1wiXG4gICAgICAoY2xpY2spPVwiYm9va21hcmtzLm9uQWRkQm9va21hcmtDbGljaygpXCJcbiAgICAgIHRpdGxlPVwiQWRkIGJvb2ttYXJrXCJcbiAgICAgIHRhYmluZGV4PVwiM1wiXG4gICAgICBkYXRhLWwxMG4taWQ9XCJhZGRCb29rbWFya1wiXG4gICAgPlxuICAgICAgPHNwYW4gZGF0YS1sMTBuLWlkPVwiYWRkQm9va21hcmtfbGFiZWxcIj57e1xuICAgICAgICBcIkFkZCBib29rbWFya1wiIHwgcnB4VHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgaWQ9XCJzaWRlYmFyQ29udGVudFwiPlxuICA8ZGl2IGlkPVwib3V0bGluZVZpZXdcIiBjbGFzcz1cIm91dGxpbmVXaXRoRGVlcE5lc3RpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwib3V0bGluZUl0ZW1cIiAqbmdJZj1cInNlbGVjdGVkVmlldyA9PT0gJ291dGxpbmUnXCI+XG4gICAgICA8bXYtb3V0bGluZS1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBvdXRsaW5lSXRlbSBvZiBvdXRsaW5lOyBpbmRleCBhcyBpXCJcbiAgICAgICAgW291dGxpbmVdPVwib3V0bGluZUl0ZW1cIlxuICAgICAgICBbY3VycmVudFBhZ2VOdW1iZXJdPVwiY3VycmVudFBhZ2VOdW1iZXJcIlxuICAgICAgICBbaXNDdXJyZW50U2VjdGlvbl09XCJpc1ZpZXdlZEl0ZW0ob3V0bGluZUl0ZW0sIG91dGxpbmVbaSArIDFdKVwiXG4gICAgICAgIFtlbmRQYWdlXT1cImZpbmRFbmRQYWdlKG91dGxpbmVbaSArIDFdKVwiXG4gICAgICAgIChuYXZpZ2F0aW9uRXZlbnQpPVwiZ29Ub0Rlc3RpbmF0aW9uKCRldmVudClcIlxuICAgICAgPjwvbXYtb3V0bGluZS1pdGVtPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiYW5ub3RhdGlvbnNFbmFibGVkICYmIHNlbGVjdGVkVmlldyA9PT0gJ2Jvb2ttYXJrcydcIlxuICAgICAgaWQ9XCJib29rbWFya0NvbnRhaW5lclwiXG4gICAgPlxuICAgICAgPG12LWJvb2ttYXJrc1xuICAgICAgICBbYm9va21hcmtOb2Rlc109XCJib29rbWFya05vZGVzJCB8IGFzeW5jXCJcbiAgICAgICAgW3pvb21dPVwiem9vbVwiXG4gICAgICAgIFtyb3RhdGVdPVwicm90YXRlXCJcbiAgICAgICAgKGdvVG9EZXN0aW5hdGlvbik9XCJnb1RvRGVzdGluYXRpb24oJGV2ZW50KVwiXG4gICAgICA+PC9tdi1ib29rbWFya3M+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -18,10 +18,10 @@ export class RotationApiService {
|
|
|
18
18
|
.post(fixedUrl, payload, { observe: 'response', withCredentials: true })
|
|
19
19
|
.pipe(map(response => response), catchError(() => []));
|
|
20
20
|
}
|
|
21
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
21
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RotationApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RotationApiService }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RotationApiService, decorators: [{
|
|
25
25
|
type: Injectable
|
|
26
26
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUNtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGxDLG1CQUFjLEdBQUcsbUJBQW1CLENBQUM7SUFJekMsQ0FBQztJQUVHLFdBQVcsQ0FBQyxVQUFrQjtRQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksVUFBVSxFQUFFLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQVcsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWlCO1FBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFNLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFHLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM3RSxJQUFJLENBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUM7a0lBdEJVLGtCQUFrQjtzSUFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm90YXRpb24gfSBmcm9tICcuL3JvdGF0aW9uLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdGF0aW9uQXBpU2VydmljZSB7XG5cbiAgcHVibGljIHJvdGF0aW9uQXBpVXJsID0gJy9lbS1hbm5vL21ldGFkYXRhJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRSb3RhdGlvbihkb2N1bWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxSb3RhdGlvbj4+IHtcbiAgICBjb25zdCBmaXhlZFVybCA9IGAke3RoaXMucm90YXRpb25BcGlVcmx9LyR7ZG9jdW1lbnRJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8Um90YXRpb24+KGZpeGVkVXJsLCB7IG9ic2VydmU6ICdyZXNwb25zZScgLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVJvdGF0aW9uKHBheWxvYWQ6IFJvdGF0aW9uKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Um90YXRpb24+PiB7XG4gICAgY29uc3QgZml4ZWRVcmwgPSBgJHt0aGlzLnJvdGF0aW9uQXBpVXJsfS9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PGFueT4oZml4ZWRVcmwsIHBheWxvYWQsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyAsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gW10pXG4gICAgICApO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -46,10 +46,10 @@ export class RotationPersistDirective {
|
|
|
46
46
|
};
|
|
47
47
|
this.store.dispatch(new fromDocumentActions.SaveRotation(payload));
|
|
48
48
|
}
|
|
49
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
50
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
49
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RotationPersistDirective, deps: [{ token: i0.ElementRef }, { token: i1.Store }, { token: i2.ToolbarButtonVisibilityService }, { token: i3.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: RotationPersistDirective, selector: "[mvRotationPersist]", host: { listeners: { "mediaLoadStatus": "onMediaLoad($event)" } }, ngImport: i0 }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: RotationPersistDirective, decorators: [{
|
|
53
53
|
type: Directive,
|
|
54
54
|
args: [{
|
|
55
55
|
selector: '[mvRotationPersist]'
|
|
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
58
58
|
type: HostListener,
|
|
59
59
|
args: ['mediaLoadStatus', ['$event']]
|
|
60
60
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZOUMsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUFvQixFQUFjLEVBQ3hCLEtBQXFDLEVBQzdCLGNBQThDLEVBQ3RELGFBQWtDO1FBSHhCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQWdDO1FBQ3RELGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVI1QyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2Isa0JBQWEsR0FBRyxDQUFDLENBQUM7SUFRbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUV0RyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakksSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN0SSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUdELFdBQVcsQ0FBQyxNQUFvQjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQ3hCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNQLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLFFBQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNwRixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLE9BQU8sR0FBYTtZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7a0lBbkRVLHdCQUF3QjtzSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDO2tMQTRCQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUm90YXRpb24gfSBmcm9tICcuL3JvdGF0aW9uLm1vZGVsJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbXZSb3RhdGlvblBlcnNpc3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBSb3RhdGlvblBlcnNpc3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuICByb3RhdGlvbiA9IDA7XG4gIHNhdmVkUm90YXRpb24gPSAwO1xuXG4gICRzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuRG9jdW1lbnRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zID0gdGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHJvdGF0aW9uID0+IHRoaXMub25Sb3RhdGUocm90YXRpb24pKTtcblxuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zYXZlUm90YXRpb25TdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB0aGlzLnNhdmVSb3RhdGlvbigpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzLmdldFJvdGF0aW9uKSkuc3Vic2NyaWJlKHJvdGF0aW9uID0+IHRoaXMuc2F2ZWRSb3RhdGlvbiA9IHJvdGF0aW9uKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzLmdldERvY3VtZW50SWQpKS5zdWJzY3JpYmUoZG9jdW1lbnRJZCA9PiB0aGlzLmRvY3VtZW50SWQgPSBkb2N1bWVudElkKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtZWRpYUxvYWRTdGF0dXMnLCBbJyRldmVudCddKVxuICBvbk1lZGlhTG9hZChzdGF0dXM6IFJlc3BvbnNlVHlwZSkge1xuICAgIHRoaXMucm90YXRpb24gPSAwO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudEFjdGlvbnMuTG9hZFJvdGF0aW9uKHRoaXMuZG9jdW1lbnRJZCkpO1xuICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50cy5yb3RhdGlvbkxvYWRlZCksXG4gICAgICBmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSksXG4gICAgICB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNhdmVkUm90YXRpb24pIHtcbiAgICAgICAgICB0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5uZXh0KHRoaXMuc2F2ZWRSb3RhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvblJvdGF0ZShyb3RhdGlvbjogbnVtYmVyKSB7XG4gICAgdGhpcy5yb3RhdGlvbiA9ICh0aGlzLnJvdGF0aW9uICsgcm90YXRpb24pICUgMzYwO1xuICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2hvd1NhdmVSb3RhdGlvbkJ1dHRvbiA9IHRoaXMuc2F2ZWRSb3RhdGlvbiAhPT0gdGhpcy5yb3RhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZVJvdGF0aW9uKCkge1xuICAgIGNvbnN0IHBheWxvYWQ6IFJvdGF0aW9uID0ge1xuICAgICAgZG9jdW1lbnRJZDogdGhpcy5kb2N1bWVudElkLFxuICAgICAgcm90YXRpb25BbmdsZTogdGhpcy5yb3RhdGlvblxuICAgIH07XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5TYXZlUm90YXRpb24ocGF5bG9hZCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -26,10 +26,10 @@ export class UnsupportedViewerComponent {
|
|
|
26
26
|
subscription.unsubscribe();
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
30
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
29
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UnsupportedViewerComponent, deps: [{ token: i1.ToolbarEventService }, { token: i2.ViewerUtilService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: UnsupportedViewerComponent, selector: "mv-unsupported-viewer", inputs: { url: "url", downloadFileName: "downloadFileName", typeException: "typeException" }, outputs: { loadStatus: "loadStatus", unsupportedViewerException: "unsupportedViewerException" }, viewQueries: [{ propertyName: "downloadLink", first: true, predicate: ["downloadLink"], descendants: true }], ngImport: i0, template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"typeException, else unsupported\">The document could not be displayed, or the file type is unsupported.</span>\n Please <a #downloadLink [href]=\"url\" [download]=\"downloadFileName\">click here to download</a>.\n </p>\n <ng-template #unsupported>\n <span>This file type is not supported by this viewer.</span>\n </ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: UnsupportedViewerComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'mv-unsupported-viewer', template: "<div class=\"govuk-width-container\">\n <div class=\"govuk-notification-banner__content\">\n <p>\n <span *ngIf=\"typeException, else unsupported\">The document could not be displayed, or the file type is unsupported.</span>\n Please <a #downloadLink [href]=\"url\" [download]=\"downloadFileName\">click here to download</a>.\n </p>\n <ng-template #unsupported>\n <span>This file type is not supported by this viewer.</span>\n </ng-template>\n </div>\n</div>\n" }]
|
|
35
35
|
}], ctorParameters: () => [{ type: i1.ToolbarEventService }, { type: i2.ViewerUtilService }], propDecorators: { url: [{
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
46
46
|
type: ViewChild,
|
|
47
47
|
args: ['downloadLink', { static: false }]
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zdXBwb3J0ZWQtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvdW5zdXBwb3J0ZWQtdmlld2VyL3Vuc3VwcG9ydGVkLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3Vuc3VwcG9ydGVkLXZpZXdlci91bnN1cHBvcnRlZC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFhLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakgsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFPMUUsTUFBTSxPQUFPLDBCQUEwQjtJQWNyQyxZQUNrQixhQUFrQyxFQUNqQyxpQkFBb0M7UUFEckMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFWN0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQzlDLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBSW5FLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztJQU14QyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsRUFDM0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUNyRCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFDWixLQUFLLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFDbkQsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO2tJQTFDVSwwQkFBMEI7c0hBQTFCLDBCQUEwQiwwV0NWdkMsMGVBV0E7OzRGRERhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx1QkFBdUI7d0hBS3hCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFFcUMsWUFBWTtzQkFBdkQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi4vdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBWaWV3ZXJVdGlsU2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci11dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi11bnN1cHBvcnRlZC12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5zdXBwb3J0ZWQtdmlld2VyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSB0eXBlRXhjZXB0aW9uOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBsb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSB1bnN1cHBvcnRlZFZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Rvd25sb2FkTGluaycsIHtzdGF0aWM6IGZhbHNlfSkgZG93bmxvYWRMaW5rOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckV2ZW50czogVG9vbGJhckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdlclV0aWxTZXJ2aWNlOiBWaWV3ZXJVdGlsU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+IHRoaXMuZG93bmxvYWRMaW5rLm5hdGl2ZUVsZW1lbnQuY2xpY2soKSksXG4gICAgICB0aGlzLnZpZXdlclV0aWxTZXJ2aWNlLnZhbGlkYXRlRmlsZSh0aGlzLnVybCkuc3Vic2NyaWJlKFxuICAgICAgICBuZXh0ID0+IG5leHQsXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbiA9IG5ldyBWaWV3ZXJFeGNlcHRpb24oZXJyb3IubmFtZSxcbiAgICAgICAgICAgIHsgaHR0cFJlc3BvbnNlQ29kZTogZXJyb3Iuc3RhdHVzLCBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMubG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5VTlNVUFBPUlRFRCk7XG5cbiAgICBpZiAoIXRoaXMudHlwZUV4Y2VwdGlvbikge1xuICAgICAgdGhpcy51bnN1cHBvcnRlZFZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19jb250ZW50XCI+XG4gICAgPHA+XG4gICAgICA8c3BhbiAqbmdJZj1cInR5cGVFeGNlcHRpb24sIGVsc2UgdW5zdXBwb3J0ZWRcIj5UaGUgZG9jdW1lbnQgY291bGQgbm90IGJlIGRpc3BsYXllZCwgb3IgdGhlIGZpbGUgdHlwZSBpcyB1bnN1cHBvcnRlZC48L3NwYW4+XG4gICAgICBQbGVhc2UgPGEgI2Rvd25sb2FkTGluayBbaHJlZl09XCJ1cmxcIiBbZG93bmxvYWRdPVwiZG93bmxvYWRGaWxlTmFtZVwiPmNsaWNrIGhlcmUgdG8gZG93bmxvYWQ8L2E+LlxuICAgIDwvcD5cbiAgICA8bmctdGVtcGxhdGUgI3Vuc3VwcG9ydGVkPlxuICAgICAgPHNwYW4+VGhpcyBmaWxlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIHZpZXdlci48L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -20,11 +20,11 @@ export class ViewerEventService {
|
|
|
20
20
|
goToDestination(destination) {
|
|
21
21
|
this.navigationEvent.next(destination);
|
|
22
22
|
}
|
|
23
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
23
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ViewerEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ViewerEventService, providedIn: 'root' }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ViewerEventService, decorators: [{
|
|
27
27
|
type: Injectable,
|
|
28
28
|
args: [{ providedIn: 'root' }]
|
|
29
29
|
}], ctorParameters: () => [] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWV2ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3ZpZXdlci1ldmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTL0IsTUFBTSxPQUFPLGtCQUFrQjtJQU83QjtRQUxnQixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFhLENBQUM7UUFDekMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO0lBRXhDLENBQUM7SUFFVCxZQUFZLENBQUMsYUFBd0I7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxhQUF3QjtRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUdNLGVBQWUsQ0FBQyxXQUFrQjtRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDO2tJQXhCVSxrQkFBa0I7c0lBQWxCLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhpZ2hsaWdodCB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcmVjdGFuZ2xlczogUmVjdGFuZ2xlW107XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVmlld2VyRXZlbnRTZXJ2aWNlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGV4dEhpZ2hsaWdodCA9IG5ldyBTdWJqZWN0PEhpZ2hsaWdodD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGJveEhpZ2hsaWdodCA9IG5ldyBTdWJqZWN0PEhpZ2hsaWdodD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGN0eFRvb2xiYXJDbGVhcmVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hdmlnYXRpb25FdmVudCA9IG5ldyBTdWJqZWN0PGFueVtdPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgdGV4dFNlbGVjdGVkKHNlbGVjdGlvbkRhdGE6IEhpZ2hsaWdodCk6IHZvaWQge1xuICAgIHRoaXMudGV4dEhpZ2hsaWdodC5uZXh0KHNlbGVjdGlvbkRhdGEpO1xuICB9XG5cbiAgcHVibGljIGJveFNlbGVjdGVkKHNlbGVjdGlvbkRhdGE6IEhpZ2hsaWdodCk6IHZvaWQge1xuICAgIHRoaXMuYm94SGlnaGxpZ2h0Lm5leHQoc2VsZWN0aW9uRGF0YSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJDdHhUb29sYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuY3R4VG9vbGJhckNsZWFyZWQubmV4dCgpO1xuICB9XG5cblxuICBwdWJsaWMgZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMubmF2aWdhdGlvbkV2ZW50Lm5leHQoZGVzdGluYXRpb24pO1xuICB9XG59XG4iXX0=
|