@hmcts/media-viewer 2.9.2 → 2.9.4-RC.7

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.
Files changed (105) hide show
  1. package/assets/images/icon-bookmarks-custom.png +0 -0
  2. package/assets/images/icon-bookmarks-position.png +0 -0
  3. package/assets/images/toolbarButton-bookmarkDark.png +0 -0
  4. package/assets/sass/comment-set-panel.scss +1 -0
  5. package/assets/sass/comment.scss +4 -6
  6. package/assets/sass/image-viewer.scss +2 -1
  7. package/assets/sass/pdf-viewer.scss +4 -0
  8. package/assets/sass/toolbar/buttons.scss +24 -0
  9. package/assets/sass/toolbar/main-toolbar.scss +20 -7
  10. package/assets/sass/toolbar/side-bar.scss +17 -17
  11. package/bundles/hmcts-media-viewer.umd.js +748 -325
  12. package/bundles/hmcts-media-viewer.umd.js.map +1 -1
  13. package/bundles/hmcts-media-viewer.umd.min.js +1 -1
  14. package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
  15. package/esm2015/hmcts-media-viewer.js +53 -52
  16. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +2 -2
  17. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +2 -2
  18. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +2 -2
  19. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +1 -1
  20. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +3 -2
  21. package/esm2015/lib/annotations/annotations.module.js +3 -1
  22. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +3 -2
  23. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +6 -2
  24. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +13 -2
  25. package/esm2015/lib/media-viewer.component.js +4 -2
  26. package/esm2015/lib/print.service.js +4 -2
  27. package/esm2015/lib/redaction/components/redaction.component.js +2 -2
  28. package/esm2015/lib/redaction/services/redaction-api.service.js +7 -1
  29. package/esm2015/lib/redaction/services/redaction.model.js +1 -1
  30. package/esm2015/lib/store/actions/redaction.actions.js +22 -1
  31. package/esm2015/lib/store/effects/redaction.effects.js +18 -4
  32. package/esm2015/lib/store/reducers/bookmarks.reducer.js +3 -2
  33. package/esm2015/lib/store/reducers/redaction.reducer.js +9 -1
  34. package/esm2015/lib/store/selectors/bookmark.selectors.js +2 -2
  35. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +19 -4
  36. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +201 -0
  37. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js +2 -0
  38. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +18 -6
  39. package/esm2015/lib/toolbar/toolbar-event.service.js +9 -1
  40. package/esm2015/lib/toolbar/toolbar.module.js +6 -3
  41. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +2 -2
  42. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +18 -5
  43. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +3 -2
  44. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +70 -5
  45. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +4 -1
  46. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +24 -19
  47. package/fesm2015/hmcts-media-viewer.js +605 -221
  48. package/fesm2015/hmcts-media-viewer.js.map +1 -1
  49. package/hmcts-media-viewer.d.ts +56 -55
  50. package/hmcts-media-viewer.d.ts.map +1 -1
  51. package/hmcts-media-viewer.metadata.json +1 -1
  52. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
  53. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
  54. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
  55. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
  56. package/lib/annotations/annotations.module.d.ts.map +1 -1
  57. package/lib/annotations/comment-set/comment/comment.component.d.ts +2 -0
  58. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
  59. package/lib/annotations/comment-set/comment/comment.service.d.ts +3 -1
  60. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
  61. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +4 -1
  62. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
  63. package/lib/media-viewer.component.d.ts +1 -0
  64. package/lib/media-viewer.component.d.ts.map +1 -1
  65. package/lib/media-viewer.module.ngfactory.d.ts.map +1 -1
  66. package/lib/print.service.d.ts.map +1 -1
  67. package/lib/redaction/components/redaction.component.d.ts.map +1 -1
  68. package/lib/redaction/services/redaction-api.service.d.ts +3 -1
  69. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
  70. package/lib/redaction/services/redaction.model.d.ts +3 -0
  71. package/lib/redaction/services/redaction.model.d.ts.map +1 -1
  72. package/lib/store/actions/redaction.actions.d.ts +20 -2
  73. package/lib/store/actions/redaction.actions.d.ts.map +1 -1
  74. package/lib/store/effects/redaction.effects.d.ts +4 -1
  75. package/lib/store/effects/redaction.effects.d.ts.map +1 -1
  76. package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -1
  77. package/lib/store/reducers/redaction.reducer.d.ts.map +1 -1
  78. package/lib/store/selectors/annotation.selectors.d.ts +5 -5
  79. package/lib/store/selectors/redaction.selectors.d.ts +1 -1
  80. package/lib/store/selectors/tag.selectors.d.ts +2 -2
  81. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +3 -1
  82. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
  83. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +51 -0
  84. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -0
  85. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +1 -0
  86. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +1 -0
  87. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +12 -0
  88. package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +1 -0
  89. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +4 -2
  90. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
  91. package/lib/toolbar/toolbar-event.service.d.ts +6 -0
  92. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  93. package/lib/toolbar/toolbar.module.d.ts.map +1 -1
  94. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +1 -1
  95. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +1 -0
  96. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
  97. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -0
  98. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
  99. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +17 -4
  100. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  101. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
  102. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +7 -4
  103. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
  104. package/package.json +5 -4
  105. package/hmcts-media-viewer-v2.9.2.tgz +0 -0
@@ -1,14 +1,16 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { Actions, Effect, ofType } from '@ngrx/effects';
4
- import { catchError, exhaustMap, map, switchMap } from 'rxjs/operators';
4
+ import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
5
5
  import { of } from 'rxjs';
6
6
  import { RedactionApiService } from '../../redaction/services/redaction-api.service';
7
7
  import * as redactionActions from '../actions/redaction.actions';
8
+ import { ToolbarEventService } from '../../toolbar/toolbar-event.service';
8
9
  export class RedactionEffects {
9
- constructor(actions$, redactionApiService) {
10
+ constructor(actions$, redactionApiService, toolbarEvents) {
10
11
  this.actions$ = actions$;
11
12
  this.redactionApiService = redactionApiService;
13
+ this.toolbarEvents = toolbarEvents;
12
14
  this.loadRedactions$ = this.actions$.pipe(ofType(redactionActions.LOAD_REDACTIONS), map((action) => action.payload), switchMap((documentId) => {
13
15
  return this.redactionApiService.getRedactions(documentId).pipe(map(resp => {
14
16
  return new redactionActions.LoadRedactionSuccess(resp.body);
@@ -23,6 +25,13 @@ export class RedactionEffects {
23
25
  return of(new redactionActions.SaveRedactionFailure(error));
24
26
  }));
25
27
  }));
28
+ this.saveBulkRedaction$ = this.actions$.pipe(ofType(redactionActions.SAVE_BULK_REDACTION), map((action) => action.payload), exhaustMap((redaction) => {
29
+ return this.redactionApiService.saveBulkRedaction(redaction).pipe(tap(() => this.toolbarEvents.redactAllInProgressSubject.next(false))).pipe(map(resp => {
30
+ return new redactionActions.SaveBulkRedactionSuccess(resp);
31
+ }), catchError(error => {
32
+ return of(new redactionActions.SaveBulkRedactionFailure(error));
33
+ }));
34
+ }));
26
35
  this.deleteRedaction$ = this.actions$.pipe(ofType(redactionActions.DELETE_REDACTION), map((action) => action.payload), exhaustMap((redactionPayload) => {
27
36
  return this.redactionApiService.deleteRedaction(redactionPayload).pipe(map(() => {
28
37
  return new redactionActions.DeleteRedactionSuccess(redactionPayload);
@@ -55,7 +64,8 @@ RedactionEffects.decorators = [
55
64
  /** @nocollapse */
56
65
  RedactionEffects.ctorParameters = () => [
57
66
  { type: Actions },
58
- { type: RedactionApiService }
67
+ { type: RedactionApiService },
68
+ { type: ToolbarEventService }
59
69
  ];
60
70
  __decorate([
61
71
  Effect(),
@@ -65,6 +75,10 @@ __decorate([
65
75
  Effect(),
66
76
  __metadata("design:type", Object)
67
77
  ], RedactionEffects.prototype, "saveRedaction$", void 0);
78
+ __decorate([
79
+ Effect(),
80
+ __metadata("design:type", Object)
81
+ ], RedactionEffects.prototype, "saveBulkRedaction$", void 0);
68
82
  __decorate([
69
83
  Effect(),
70
84
  __metadata("design:type", Object)
@@ -77,4 +91,4 @@ __decorate([
77
91
  Effect(),
78
92
  __metadata("design:type", Object)
79
93
  ], RedactionEffects.prototype, "unmarkAll$", void 0);
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3JlZGFjdGlvbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEtBQUssZ0JBQWdCLE1BQU0sOEJBQThCLENBQUM7QUFJakUsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFFBQWlCLEVBQ2pCLG1CQUF3QztRQUR4QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFJbEQsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUN4QyxHQUFHLENBQUMsQ0FBQyxNQUF1QyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2hFLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDVCxPQUFPLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBleGhhdXN0TWFwLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZWRhY3Rpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgKiBhcyByZWRhY3Rpb25BY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkYWN0aW9uRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSByZWRhY3Rpb25BcGlTZXJ2aWNlOiBSZWRhY3Rpb25BcGlTZXJ2aWNlLFxuICApIHsgfVxuXG4gIEBFZmZlY3QoKVxuICBsb2FkUmVkYWN0aW9ucyQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuTE9BRF9SRURBQ1RJT05TKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9ucykgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIHN3aXRjaE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5nZXRSZWRhY3Rpb25zKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXNwID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuTG9hZFJlZGFjdGlvblN1Y2Nlc3MocmVzcC5ib2R5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBzYXZlUmVkYWN0aW9uJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5TQVZFX1JFREFDVElPTiksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuU2F2ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5zYXZlUmVkYWN0aW9uKHJlZGFjdGlvbikucGlwZShcbiAgICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uU3VjY2VzcyhyZXNwKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICBkZWxldGVSZWRhY3Rpb24kID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLkRFTEVURV9SRURBQ1RJT04pLFxuICAgIG1hcCgoYWN0aW9uOiByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGV4aGF1c3RNYXAoKHJlZGFjdGlvblBheWxvYWQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnJlZGFjdGlvbkFwaVNlcnZpY2UuZGVsZXRlUmVkYWN0aW9uKHJlZGFjdGlvblBheWxvYWQpLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyByZWRhY3Rpb25BY3Rpb25zLkRlbGV0ZVJlZGFjdGlvblN1Y2Nlc3MocmVkYWN0aW9uUGF5bG9hZCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xuXG4gIEBFZmZlY3QoKVxuICByZWRhY3QkID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLlJFREFDVCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0KSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uUGF5bG9hZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5yZWRhY3QocmVkYWN0aW9uUGF5bG9hZCkucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQ6IEh0dHBSZXNwb25zZTxCbG9iPikgPT4ge1xuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IHJlc3VsdC5oZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpLnNwbGl0KCdmaWxlbmFtZT0nKTtcbiAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGhlYWRlci5sZW5ndGggPiAxID8gaGVhZGVyWzFdLnJlcGxhY2UoL1wiL2csICcnKVxuICAgICAgICAgICAgOiBgcmVkYWN0ZWQtZG9jdW1lbnQtJHtyZWRhY3Rpb25QYXlsb2FkLmRvY3VtZW50SWR9YDtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuUmVkYWN0U3VjY2Vzcyh7IGJsb2I6IHJlc3VsdC5ib2R5LCBmaWxlbmFtZSB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5SZWRhY3RGYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHVubWFya0FsbCQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuVU5NQVJLX0FMTCksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuVW5tYXJrQWxsKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgoZG9jdW1lbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5kZWxldGVBbGxNYXJrZXJzKGRvY3VtZW50SWQpLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5Vbm1hcmtBbGxTdWNjZXNzKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YobmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICB9KSk7XG4gICAgfSkpO1xufVxuXG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3JlZGFjdGlvbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDVSxRQUFpQixFQUNqQixtQkFBd0MsRUFDeEMsYUFBa0M7UUFGbEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUk1QyxvQkFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNsQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEVBQ3hDLEdBQUcsQ0FBQyxDQUFDLE1BQXVDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDaEUsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFB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RyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDN0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUNuQyxHQUFHLENBQUMsQ0FBQyxNQUFrQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzNELFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNYLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2pELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsT0FBTyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBdkZGLENBQUM7OztZQU5OLFVBQVU7Ozs7WUFSRixPQUFPO1lBR1AsbUJBQW1CO1lBR25CLG1CQUFtQjs7QUFXMUI7SUFEQyxNQUFNLEVBQUU7O3lEQVlIO0FBR047SUFEQyxNQUFNLEVBQUU7O3dEQVlIO0FBR047SUFEQyxNQUFNLEVBQUU7OzREQVlIO0FBR047SUFEQyxNQUFNLEVBQUU7OzBEQVlIO0FBR047SUFEQyxNQUFNLEVBQUU7O2lEQWVIO0FBR047SUFEQyxNQUFNLEVBQUU7O29EQVlIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVkYWN0aW9uQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3JlZGFjdGlvbi9zZXJ2aWNlcy9yZWRhY3Rpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgcmVkYWN0aW9uQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWRhY3Rpb25FZmZlY3RzIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHJlZGFjdGlvbkFwaVNlcnZpY2U6IFJlZGFjdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlXG4gICkgeyB9XG5cbiAgQEVmZmVjdCgpXG4gIGxvYWRSZWRhY3Rpb25zJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5MT0FEX1JFREFDVElPTlMpLFxuICAgIG1hcCgoYWN0aW9uOiByZWRhY3Rpb25BY3Rpb25zLkxvYWRSZWRhY3Rpb25zKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgc3dpdGNoTWFwKChkb2N1bWVudElkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZWRhY3Rpb25BcGlTZXJ2aWNlLmdldFJlZGFjdGlvbnMoZG9jdW1lbnRJZCkucGlwZShcbiAgICAgICAgbWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5Mb2FkUmVkYWN0aW9uU3VjY2VzcyhyZXNwLmJvZHkpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyByZWRhY3Rpb25BY3Rpb25zLkxvYWRSZWRhY3Rpb25GYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHNhdmVSZWRhY3Rpb24kID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShyZWRhY3Rpb25BY3Rpb25zLlNBVkVfUkVEQUNUSU9OKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZWRhY3Rpb25BcGlTZXJ2aWNlLnNhdmVSZWRhY3Rpb24ocmVkYWN0aW9uKS5waXBlKFxuICAgICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyByZWRhY3Rpb25BY3Rpb25zLlNhdmVSZWRhY3Rpb25TdWNjZXNzKHJlc3ApO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyByZWRhY3Rpb25BY3Rpb25zLlNhdmVSZWRhY3Rpb25GYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHNhdmVCdWxrUmVkYWN0aW9uJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5TQVZFX0JVTEtfUkVEQUNUSU9OKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5TYXZlUmVkYWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZWRhY3Rpb25BcGlTZXJ2aWNlLnNhdmVCdWxrUmVkYWN0aW9uKHJlZGFjdGlvbikucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5uZXh0KGZhbHNlKSkpLnBpcGUobWFwKHJlc3AgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5TYXZlQnVsa1JlZGFjdGlvblN1Y2Nlc3MocmVzcCk7XG4gICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyByZWRhY3Rpb25BY3Rpb25zLlNhdmVCdWxrUmVkYWN0aW9uRmFpbHVyZShlcnJvcikpO1xuICAgICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIGRlbGV0ZVJlZGFjdGlvbiQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuREVMRVRFX1JFREFDVElPTiksXG4gICAgbWFwKChhY3Rpb246IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXG4gICAgZXhoYXVzdE1hcCgocmVkYWN0aW9uUGF5bG9hZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVkYWN0aW9uQXBpU2VydmljZS5kZWxldGVSZWRhY3Rpb24ocmVkYWN0aW9uUGF5bG9hZCkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IHJlZGFjdGlvbkFjdGlvbnMuRGVsZXRlUmVkYWN0aW9uU3VjY2VzcyhyZWRhY3Rpb25QYXlsb2FkKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5EZWxldGVSZWRhY3Rpb25GYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG5cbiAgQEVmZmVjdCgpXG4gIHJlZGFjdCQgPSB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlZGFjdGlvbkFjdGlvbnMuUkVEQUNUKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5SZWRhY3QpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChyZWRhY3Rpb25QYXlsb2FkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZWRhY3Rpb25BcGlTZXJ2aWNlLnJlZGFjdChyZWRhY3Rpb25QYXlsb2FkKS5waXBlKFxuICAgICAgICBtYXAoKHJlc3VsdDogSHR0cFJlc3BvbnNlPEJsb2I+KSA9PiB7XG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzdWx0LmhlYWRlcnMuZ2V0KCdjb250ZW50LWRpc3Bvc2l0aW9uJykuc3BsaXQoJ2ZpbGVuYW1lPScpO1xuICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gaGVhZGVyLmxlbmd0aCA+IDEgPyBoZWFkZXJbMV0ucmVwbGFjZSgvXCIvZywgJycpXG4gICAgICAgICAgICA6IGByZWRhY3RlZC1kb2N1bWVudC0ke3JlZGFjdGlvblBheWxvYWQuZG9jdW1lbnRJZH1gO1xuICAgICAgICAgIHJldHVybiBuZXcgcmVkYWN0aW9uQWN0aW9ucy5SZWRhY3RTdWNjZXNzKHsgYmxvYjogcmVzdWx0LmJvZHksIGZpbGVuYW1lIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyByZWRhY3Rpb25BY3Rpb25zLlJlZGFjdEZhaWx1cmUoZXJyb3IpKTtcbiAgICAgICAgfSkpO1xuICAgIH0pKTtcblxuICBARWZmZWN0KClcbiAgdW5tYXJrQWxsJCA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVkYWN0aW9uQWN0aW9ucy5VTk1BUktfQUxMKSxcbiAgICBtYXAoKGFjdGlvbjogcmVkYWN0aW9uQWN0aW9ucy5Vbm1hcmtBbGwpID0+IGFjdGlvbi5wYXlsb2FkKSxcbiAgICBleGhhdXN0TWFwKChkb2N1bWVudElkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZWRhY3Rpb25BcGlTZXJ2aWNlLmRlbGV0ZUFsbE1hcmtlcnMoZG9jdW1lbnRJZCkucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyByZWRhY3Rpb25BY3Rpb25zLlVubWFya0FsbFN1Y2Nlc3MoKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihuZXcgcmVkYWN0aW9uQWN0aW9ucy5EZWxldGVSZWRhY3Rpb25GYWlsdXJlKGVycm9yKSk7XG4gICAgICAgIH0pKTtcbiAgICB9KSk7XG59XG5cbiJdfQ==
@@ -54,7 +54,8 @@ export function bookmarksReducer(state = initialBookmarksState, action) {
54
54
  delete bookmarkEntities[bookmarkId];
55
55
  });
56
56
  Object.entries(removeBookmarksByPage).forEach(([pageNumber, bmrkIds]) => {
57
- bookmarkPageEntities[pageNumber] = bookmarkPageEntities[pageNumber].filter(bookmarkId => bmrkIds.includes(bookmarkId));
57
+ bookmarkPageEntities[pageNumber]
58
+ = bookmarkPageEntities[pageNumber].filter(bookmark => !bmrkIds.includes(bookmark.id));
58
59
  });
59
60
  return Object.assign(Object.assign({}, state), { bookmarkEntities,
60
61
  bookmarkPageEntities, loading: false, loaded: true });
@@ -76,4 +77,4 @@ export const getBookmarks = (state) => state.bookmarks;
76
77
  export const getBookmarkEnts = (state) => state.bookmarkEntities;
77
78
  export const getBookmarkPageEnt = (state) => state.bookmarkPageEntities;
78
79
  export const getEditBookmark = (state) => state.editableBookmark;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVdwRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsU0FBUyxFQUFFLEVBQUU7SUFDYixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBRSxLQUFLLEdBQUcscUJBQXFCLEVBQzdCLE1BQXNDO0lBRXRFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyx1Q0FDSyxLQUFLLEtBQ1IsT0FBTyxFQUFFLElBQUksSUFDYjtTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsc0JBQXNCLENBQUM7UUFDMUMsS0FBSyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN0QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFcEYsdUNBQ0ssS0FBSyxLQUNSLFNBQVM7Z0JBQ1QsZ0JBQWdCO2dCQUNoQixvQkFBb0IsRUFDcEIsTUFBTSxFQUFFLElBQUksSUFDWjtTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzFDLE1BQU0sZ0JBQWdCLG1DQUNqQixLQUFLLENBQUMsZ0JBQWdCLEtBQ3pCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsR0FDeEIsQ0FBQztZQUNGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4RixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckMsdUNBQ0ssS0FBSyxLQUNSLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixvQkFBb0IsRUFDcEIsT0FBTyxFQUFFLEtBQUssRUFDZCxNQUFNLEVBQUUsSUFBSSxJQUNaO1NBQ0g7UUFFRCxLQUFLLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRSxNQUFNLGdCQUFnQixtQ0FDakIsS0FBSyxDQUFDLGdCQUFnQixHQUN0QixjQUFjLENBQ2xCLENBQUM7WUFDRix1Q0FDSyxLQUFLLEtBQ1IsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFBRSxLQUFLLEVBQ2QsTUFBTSxFQUFFLElBQUksSUFDWjtTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUMxQyxNQUFNLFdBQVcsR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzdDLE1BQU0sZ0JBQWdCLHFCQUFRLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDO1lBQ3ZELE1BQU0sb0JBQW9CLHFCQUFRLEtBQUssQ0FBQyxvQkFBb0IsQ0FBRSxDQUFDO1lBQy9ELE1BQU0scUJBQXFCLEdBQXFDLEVBQUUsQ0FBQztZQUNuRSxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLFNBQVM7b0JBQzlFLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzNFLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDakY7cUJBQU07b0JBQ0wscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDL0U7Z0JBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxPQUFPLENBQzNDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtnQkFDeEIsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3pILENBQUMsQ0FDRixDQUFDO1lBRUYsdUNBQ0ssS0FBSyxLQUNSLGdCQUFnQjtnQkFDaEIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFBRSxLQUFLLEVBQ2QsTUFBTSxFQUFFLElBQUksSUFDWjtTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBYSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzFDLE1BQU0sZ0JBQWdCLG1DQUNqQixLQUFLLENBQUMsZ0JBQWdCLEtBQ3pCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxvQkFBTyxRQUFRLElBQzdCLENBQUM7WUFDRixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN0RixNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDeEYsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7WUFDbkMsdUNBQ0ssS0FBSyxLQUNSLGdCQUFnQjtnQkFDaEIsZ0JBQWdCO2dCQUNoQixvQkFBb0IsRUFDcEIsT0FBTyxFQUFFLEtBQUssRUFDZCxNQUFNLEVBQUUsSUFBSSxJQUNaO1NBQ0g7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vYWN0aW9ucy9ib29rbWFyay5hY3Rpb25zJztcbmltcG9ydCB7IEJvb2ttYXJrIH0gZnJvbSAnLi4vLi4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL2Jvb2ttYXJrcy9ib29rbWFya3MuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzIH0gZnJvbSAnLi4vYm9va21hcmtzLXN0b3JlLXV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBCb29rbWFya3NTdGF0ZSB7XG4gIGJvb2ttYXJrczogQm9va21hcmtbXTtcbiAgYm9va21hcmtFbnRpdGllczogeyBbaWQ6IHN0cmluZ106IEJvb2ttYXJrIH07XG4gIGJvb2ttYXJrUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBhbnl9O1xuICBlZGl0YWJsZUJvb2ttYXJrOiBzdHJpbmc7XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxCb29rbWFya3NTdGF0ZTogQm9va21hcmtzU3RhdGUgPSB7XG4gIGJvb2ttYXJrczogW10sXG4gIGJvb2ttYXJrRW50aXRpZXM6IHt9LFxuICBib29rbWFya1BhZ2VFbnRpdGllczoge30sXG4gIGVkaXRhYmxlQm9va21hcms6IHVuZGVmaW5lZCxcbiAgbG9hZGVkOiBmYWxzZSxcbiAgbG9hZGluZzogZmFsc2Vcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBib29rbWFya3NSZWR1Y2VyIChzdGF0ZSA9IGluaXRpYWxCb29rbWFya3NTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21Cb29rbWFya3MuQm9va21hcmtzQWN0aW9ucyk6IEJvb2ttYXJrc1N0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuTE9BRF9CT09LTUFSS1M6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19TVUNDRVNTOlxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19GQUlMOiB7XG4gICAgICBjb25zdCBib29rbWFya3MgPSBhY3Rpb24ucGF5bG9hZC5zdGF0dXMgPT09IDIwMCA/IGFjdGlvbi5wYXlsb2FkLmJvZHkgOiBbXTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMoYm9va21hcmtzKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYm9va21hcmtzLCAncGFnZU51bWJlcicpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtzLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5DUkVBVEVfQk9PS01BUktfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYm9va21hcms6IEJvb2ttYXJrID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBib29rbWFya0VudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5ib29rbWFya0VudGl0aWVzLFxuICAgICAgICBbYm9va21hcmsuaWRdOiBib29rbWFyayxcbiAgICAgIH07XG4gICAgICBjb25zdCBib29rbWFya0FycmF5ID0gT2JqZWN0LmtleXMoYm9va21hcmtFbnRpdGllcykubWFwKGtleSA9PiBib29rbWFya0VudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhib29rbWFya0FycmF5LCAncGFnZU51bWJlcicpO1xuICAgICAgY29uc3QgZWRpdGFibGVCb29rbWFyayA9IGJvb2ttYXJrLmlkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGVkaXRhYmxlQm9va21hcmssXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5NT1ZFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1vdmVkQm9va21hcmtzID0gZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzKGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIC4uLm1vdmVkQm9va21hcmtzXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkRFTEVURV9CT09LTUFSS19TVUNDRVNTOiB7XG4gICAgICBjb25zdCBib29rbWFya0lkczogc3RyaW5nW10gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7IC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMgfTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0geyAuLi5zdGF0ZS5ib29rbWFya1BhZ2VFbnRpdGllcyB9O1xuICAgICAgY29uc3QgcmVtb3ZlQm9va21hcmtzQnlQYWdlOiB7W3BhZ2VOdW1iZXI6IG51bWJlcl06IHN0cmluZ1tdfSA9IHt9O1xuICAgICAgYm9va21hcmtJZHMuZm9yRWFjaChib29rbWFya0lkID0+IHtcbiAgICAgICAgaWYgKHJlbW92ZUJvb2ttYXJrc0J5UGFnZVtib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdLnBhZ2VOdW1iZXJdICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmVtb3ZlQm9va21hcmtzQnlQYWdlW2Jvb2ttYXJrRW50aXRpZXNbYm9va21hcmtJZF0ucGFnZU51bWJlcl0ucHVzaChib29rbWFya0lkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXSA9IFtib29rbWFya0lkXTtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXTtcbiAgICAgIH0pO1xuXG4gICAgICBPYmplY3QuZW50cmllcyhyZW1vdmVCb29rbWFya3NCeVBhZ2UpLmZvckVhY2goXG4gICAgICAgIChbcGFnZU51bWJlciwgYm1ya0lkc10pID0+IHtcbiAgICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllc1twYWdlTnVtYmVyXSA9IGJvb2ttYXJrUGFnZUVudGl0aWVzW3BhZ2VOdW1iZXJdLmZpbHRlcihib29rbWFya0lkID0+IGJtcmtJZHMuaW5jbHVkZXMoYm9va21hcmtJZCkpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgYm9va21hcmtQYWdlRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLlVQREFURV9CT09LTUFSS19TVUNDRVNTOiB7XG4gICAgICBjb25zdCBib29rbWFyazogQm9va21hcmsgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIFtib29rbWFyay5pZF06IHsgLi4uYm9va21hcmsgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrQXJyYXkgPSBPYmplY3Qua2V5cyhib29rbWFya0VudGl0aWVzKS5tYXAoa2V5ID0+IGJvb2ttYXJrRW50aXRpZXNba2V5XSk7XG4gICAgICBjb25zdCBib29rbWFya1BhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKGJvb2ttYXJrQXJyYXksICdwYWdlTnVtYmVyJyk7XG4gICAgICBjb25zdCBlZGl0YWJsZUJvb2ttYXJrID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGVkaXRhYmxlQm9va21hcmssXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya3MgPSAoc3RhdGU6IEJvb2ttYXJrc1N0YXRlKSA9PiBzdGF0ZS5ib29rbWFya3M7XG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtFbnRzID0gKHN0YXRlOiBCb29rbWFya3NTdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya1BhZ2VFbnQgPSAoc3RhdGU6IEJvb2ttYXJrc1N0YXRlKSA9PiBzdGF0ZS5ib29rbWFya1BhZ2VFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRFZGl0Qm9va21hcmsgPSAoc3RhdGU6IEJvb2ttYXJrc1N0YXRlKSA9PiBzdGF0ZS5lZGl0YWJsZUJvb2ttYXJrO1xuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVdwRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsU0FBUyxFQUFFLEVBQUU7SUFDYixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBRSxLQUFLLEdBQUcscUJBQXFCLEVBQzdCLE1BQXNDO0lBRXRFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyx1Q0FDSyxLQUFLLEtBQ1IsT0FBTyxFQUFFLElBQUksSUFDYjtTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsc0JBQXNCLENBQUM7UUFDMUMsS0FBSyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN0QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0UsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxNQUFN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ZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi9hY3Rpb25zL2Jvb2ttYXJrLmFjdGlvbnMnO1xuaW1wb3J0IHsgQm9va21hcmsgfSBmcm9tICcuLi8uLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvYm9va21hcmtzL2Jvb2ttYXJrcy5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN0b3JlVXRpbHMgfSBmcm9tICcuLi9zdG9yZS11dGlscyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMgfSBmcm9tICcuLi9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJvb2ttYXJrc1N0YXRlIHtcbiAgYm9va21hcmtzOiBCb29rbWFya1tdO1xuICBib29rbWFya0VudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogQm9va21hcmsgfTtcbiAgYm9va21hcmtQYWdlRW50aXRpZXM6IHtbaWQ6IHN0cmluZ106IGFueX07XG4gIGVkaXRhYmxlQm9va21hcms6IHN0cmluZztcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbEJvb2ttYXJrc1N0YXRlOiBCb29rbWFya3NTdGF0ZSA9IHtcbiAgYm9va21hcmtzOiBbXSxcbiAgYm9va21hcmtFbnRpdGllczoge30sXG4gIGJvb2ttYXJrUGFnZUVudGl0aWVzOiB7fSxcbiAgZWRpdGFibGVCb29rbWFyazogdW5kZWZpbmVkLFxuICBsb2FkZWQ6IGZhbHNlLFxuICBsb2FkaW5nOiBmYWxzZVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJvb2ttYXJrc1JlZHVjZXIgKHN0YXRlID0gaW5pdGlhbEJvb2ttYXJrc1N0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnJvbUJvb2ttYXJrcy5Cb29rbWFya3NBY3Rpb25zKTogQm9va21hcmtzU3RhdGUge1xuXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGxvYWRpbmc6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkxPQURfQk9PS01BUktTX1NVQ0NFU1M6XG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkxPQURfQk9PS01BUktTX0ZBSUw6IHtcbiAgICAgIGNvbnN0IGJvb2ttYXJrcyA9IGFjdGlvbi5wYXlsb2FkLnN0YXR1cyA9PT0gMjAwID8gYWN0aW9uLnBheWxvYWQuYm9keSA6IFtdO1xuICAgICAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IGdlbmVyYXRlQm9va21hcmtFbnRpdGllcyhib29rbWFya3MpO1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhib29rbWFya3MsICdwYWdlTnVtYmVyJyk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBib29rbWFya3MsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkNSRUFURV9CT09LTUFSS19TVUNDRVNTOiB7XG4gICAgICBjb25zdCBib29rbWFyazogQm9va21hcmsgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIFtib29rbWFyay5pZF06IGJvb2ttYXJrLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrQXJyYXkgPSBPYmplY3Qua2V5cyhib29rbWFya0VudGl0aWVzKS5tYXAoa2V5ID0+IGJvb2ttYXJrRW50aXRpZXNba2V5XSk7XG4gICAgICBjb25zdCBib29rbWFya1BhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKGJvb2ttYXJrQXJyYXksICdwYWdlTnVtYmVyJyk7XG4gICAgICBjb25zdCBlZGl0YWJsZUJvb2ttYXJrID0gYm9va21hcmsuaWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgZWRpdGFibGVCb29rbWFyayxcbiAgICAgICAgYm9va21hcmtQYWdlRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLk1PVkVfQk9PS01BUktfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgbW92ZWRCb29rbWFya3MgPSBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMoYWN0aW9uLnBheWxvYWQpO1xuICAgICAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgLi4ubW92ZWRCb29rbWFya3NcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuREVMRVRFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGJvb2ttYXJrSWRzOiBzdHJpbmdbXSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IHsgLi4uc3RhdGUuYm9va21hcmtFbnRpdGllcyB9O1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSB7IC4uLnN0YXRlLmJvb2ttYXJrUGFnZUVudGl0aWVzIH07XG4gICAgICBjb25zdCByZW1vdmVCb29rbWFya3NCeVBhZ2U6IHtbcGFnZU51bWJlcjogbnVtYmVyXTogc3RyaW5nW119ID0ge307XG4gICAgICBib29rbWFya0lkcy5mb3JFYWNoKGJvb2ttYXJrSWQgPT4ge1xuICAgICAgICBpZiAocmVtb3ZlQm9va21hcmtzQnlQYWdlW2Jvb2ttYXJrRW50aXRpZXNbYm9va21hcmtJZF0ucGFnZU51bWJlcl0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIHJlbW92ZUJvb2ttYXJrc0J5UGFnZVtib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdLnBhZ2VOdW1iZXJdLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXS5wdXNoKGJvb2ttYXJrSWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlbW92ZUJvb2ttYXJrc0J5UGFnZVtib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdLnBhZ2VOdW1iZXJdID0gW2Jvb2ttYXJrSWRdO1xuICAgICAgICB9XG4gICAgICAgIGRlbGV0ZSBib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdO1xuICAgICAgfSk7XG5cbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlbW92ZUJvb2ttYXJrc0J5UGFnZSkuZm9yRWFjaChcbiAgICAgICAgKFtwYWdlTnVtYmVyLCBibXJrSWRzXSkgPT4ge1xuICAgICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzW3BhZ2VOdW1iZXJdXG4gICAgICAgICAgPSBib29rbWFya1BhZ2VFbnRpdGllc1twYWdlTnVtYmVyXS5maWx0ZXIoYm9va21hcmsgPT4gIWJtcmtJZHMuaW5jbHVkZXMoYm9va21hcmsuaWQpKTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5VUERBVEVfQk9PS01BUktfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYm9va21hcms6IEJvb2ttYXJrID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBib29rbWFya0VudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5ib29rbWFya0VudGl0aWVzLFxuICAgICAgICBbYm9va21hcmsuaWRdOiB7IC4uLmJvb2ttYXJrIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBib29rbWFya0FycmF5ID0gT2JqZWN0LmtleXMoYm9va21hcmtFbnRpdGllcykubWFwKGtleSA9PiBib29rbWFya0VudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhib29rbWFya0FycmF5LCAncGFnZU51bWJlcicpO1xuICAgICAgY29uc3QgZWRpdGFibGVCb29rbWFyayA9IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBlZGl0YWJsZUJvb2ttYXJrLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtzID0gKHN0YXRlOiBCb29rbWFya3NTdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtzO1xuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50cyA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlRW50ID0gKHN0YXRlOiBCb29rbWFya3NTdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtQYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0RWRpdEJvb2ttYXJrID0gKHN0YXRlOiBCb29rbWFya3NTdGF0ZSkgPT4gc3RhdGUuZWRpdGFibGVCb29rbWFyaztcbiJdfQ==
@@ -31,6 +31,14 @@ export function redactionReducer(state = initialRedactionState, action) {
31
31
  return Object.assign(Object.assign({}, state), { redactionEntities,
32
32
  redactionPageEntities });
33
33
  }
34
+ case fromRedaction.SAVE_BULK_REDACTION_SUCCESS: {
35
+ const payloadResult = Object.assign({}, ...action.payload.searchRedactions.map((x) => ({ [x.redactionId]: x })));
36
+ const redactionEntities = Object.assign(Object.assign({}, state.redactionEntities), payloadResult);
37
+ const redactionArray = Object.keys(redactionEntities).map(key => redactionEntities[key]);
38
+ const redactionPageEntities = StoreUtils.groupByKeyEntities(redactionArray, 'page');
39
+ return Object.assign(Object.assign({}, state), { redactionEntities,
40
+ redactionPageEntities });
41
+ }
34
42
  case fromRedaction.SELECT_REDACTION:
35
43
  case fromAnnotations.SELECT_ANNOTATION: {
36
44
  return Object.assign(Object.assign({}, state), { selectedRedaction: action.payload });
@@ -64,4 +72,4 @@ export const getRedactionEnt = (state) => state.redactionEntities;
64
72
  export const getPageEnt = (state) => state.redactionPageEntities;
65
73
  export const getSelectedRedaction = (state) => state.selectedRedaction;
66
74
  export const getRedactedDocInfo = (state) => state.redactedDocumentInfo;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBYTFDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLFVBQVUsRUFBRSxTQUFTO0NBQ3RCLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQUssR0FBRyxxQkFBcUIsRUFDN0IsTUFBMkU7SUFFM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLHVDQUNLLEtBQUssR0FDTCxxQkFBcUIsRUFDeEI7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMvQixJQUFJLE9BQU8sRUFBRTtnQkFDWCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSx1Q0FDSyxLQUFLLEtBQ1IsaUJBQWlCO29CQUNqQixxQkFBcUIsSUFDckI7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ZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQge1N0b3JlVXRpbHN9IGZyb20gJy4uL3N0b3JlLXV0aWxzJztcbmltcG9ydCB7U2VsZWN0aW9uQW5ub3RhdGlvbn0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBSZWRhY3Rpb24gfSBmcm9tICcuLi8uLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJzsgLy8gdG9kbyByZW5hbWVcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGFjdGlvblN0YXRlIHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBSZWRhY3Rpb24gfTtcbiAgcmVkYWN0aW9uUGFnZUVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogYW55IH07XG4gIHNlbGVjdGVkUmVkYWN0aW9uOiBTZWxlY3Rpb25Bbm5vdGF0aW9uIHwge307XG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB7IGJsb2I6IEJsb2IsIGZpbGVuYW1lOiBzdHJpbmcgfTtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFJlZGFjdGlvblN0YXRlOiBSZWRhY3Rpb25TdGF0ZSA9IHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHt9LFxuICByZWRhY3Rpb25QYWdlRW50aXRpZXM6IHt9LFxuICBzZWxlY3RlZFJlZGFjdGlvbjoge30sXG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB1bmRlZmluZWQsXG4gIGRvY3VtZW50SWQ6IHVuZGVmaW5lZFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdGlvblJlZHVjZXIgKFxuICBzdGF0ZSA9IGluaXRpYWxSZWRhY3Rpb25TdGF0ZSxcbiAgYWN0aW9uOiBmcm9tUmVkYWN0aW9uLlJlZGFjdGlvbkFjdGlvbnMgfCBmcm9tQW5ub3RhdGlvbnMuQW5ub3RhdGlvbnNBY3Rpb25zXG4pOiBSZWRhY3Rpb25TdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5MT0FEX1JFREFDVElPTlM6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAuLi5pbml0aWFsUmVkYWN0aW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkxPQURfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZVJlZGFjdGlvbkVudGl0aWVzKHBheWxvYWQpO1xuICAgICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhwYXlsb2FkLCAncGFnZScpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlNBVkVfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gIGFjdGlvbjtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgW3BheWxvYWQucmVkYWN0aW9uSWRdOiBwYXlsb2FkXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVkYWN0aW9uQXJyYXkgPSBPYmplY3Qua2V5cyhyZWRhY3Rpb25FbnRpdGllcykubWFwKGtleSA9PiByZWRhY3Rpb25FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHJlZGFjdGlvbkFycmF5LCAncGFnZScpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlNFTEVDVF9SRURBQ1RJT046XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0VMRUNUX0FOTk9UQVRJT046IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3RlZFJlZGFjdGlvbjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkRFTEVURV9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcGFnZSA9IGFjdGlvbi5wYXlsb2FkLnBhZ2U7XG4gICAgICBjb25zdCBpZCA9IGFjdGlvbi5wYXlsb2FkLnJlZGFjdGlvbklkO1xuICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvbkVudGl0aWVzXG4gICAgICB9O1xuICAgICAgZGVsZXRlIHJlZGFjdGlvbkVudGl0aWVzW2lkXTtcbiAgICAgIGNvbnN0IHBhZ2VSZWRhY3Rpb25SZW1vdmVkID0gW1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25QYWdlRW50aXRpZXNbcGFnZV0uZmlsdGVyKHJlZGFjdGlvbiA9PiByZWRhY3Rpb24ucmVkYWN0aW9uSWQgIT09IGlkKVxuICAgICAgXTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICBbcGFnZV06IHBhZ2VSZWRhY3Rpb25SZW1vdmVkXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlJFREFDVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCByZWRhY3RlZERvY3VtZW50SW5mbyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZSxcbiAgICAgICAgcmVkYWN0ZWREb2N1bWVudEluZm9cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlJFU0VUX1JFREFDVEVEX0RPQ1VNRU5UOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0ZWREb2N1bWVudEluZm86IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uVU5NQVJLX0FMTF9TVUNDRVNTOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFJlZGFjdGlvblN0YXRlXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuXG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0aW9uRW50ID0gKHN0YXRlOiBSZWRhY3Rpb25TdGF0ZSkgPT4gc3RhdGUucmVkYWN0aW9uRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0UGFnZUVudCA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGlvblBhZ2VFbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFJlZGFjdGlvbiA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnNlbGVjdGVkUmVkYWN0aW9uO1xuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGVkRG9jSW5mbyA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGVkRG9jdW1lbnRJbmZvO1xuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLFVBQVUsRUFBRSxTQUFTO0NBQ3RCLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQUssR0FBRyxxQkFBcUIsRUFDN0IsTUFBMkU7SUFFM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLHVDQUNLLEtBQUssR0FDTCxxQkFBcUIsRUFDeEI7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMvQixJQUFJLE9BQU8sRUFBRTtnQkFDWCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSx1Q0FDSyxLQUFLLEtBQ1IsaUJBQWlCO29CQUNqQixxQkFBcUIsSUFDckI7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Q0ssS0FBSyxLQUNSLG9CQUFvQixFQUFFLFNBQVMsSUFDL0I7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDckMsdUNBQ0ssS0FBSyxHQUNMLHFCQUFxQixFQUN4QjtTQUNIO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFHRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQW5ub3RhdGlvbiB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL21vZGVscy9ldmVudC1zZWxlY3QubW9kZWwnO1xuaW1wb3J0IHsgUmVkYWN0aW9uIH0gZnJvbSAnLi4vLi4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi5tb2RlbCc7IC8vIHRvZG8gcmVuYW1lXG5cblxuZXhwb3J0IGludGVyZmFjZSBSZWRhY3Rpb25TdGF0ZSB7XG4gIHJlZGFjdGlvbkVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogUmVkYWN0aW9uIH07XG4gIHJlZGFjdGlvblBhZ2VFbnRpdGllczogeyBbaWQ6IHN0cmluZ106IGFueSB9O1xuICBzZWxlY3RlZFJlZGFjdGlvbjogU2VsZWN0aW9uQW5ub3RhdGlvbiB8IHt9O1xuICByZWRhY3RlZERvY3VtZW50SW5mbzogeyBibG9iOiBCbG9iLCBmaWxlbmFtZTogc3RyaW5nIH07XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxSZWRhY3Rpb25TdGF0ZTogUmVkYWN0aW9uU3RhdGUgPSB7XG4gIHJlZGFjdGlvbkVudGl0aWVzOiB7fSxcbiAgcmVkYWN0aW9uUGFnZUVudGl0aWVzOiB7fSxcbiAgc2VsZWN0ZWRSZWRhY3Rpb246IHt9LFxuICByZWRhY3RlZERvY3VtZW50SW5mbzogdW5kZWZpbmVkLFxuICBkb2N1bWVudElkOiB1bmRlZmluZWRcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRhY3Rpb25SZWR1Y2VyKFxuICBzdGF0ZSA9IGluaXRpYWxSZWRhY3Rpb25TdGF0ZSxcbiAgYWN0aW9uOiBmcm9tUmVkYWN0aW9uLlJlZGFjdGlvbkFjdGlvbnMgfCBmcm9tQW5ub3RhdGlvbnMuQW5ub3RhdGlvbnNBY3Rpb25zXG4pOiBSZWRhY3Rpb25TdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5MT0FEX1JFREFDVElPTlM6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAuLi5pbml0aWFsUmVkYWN0aW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkxPQURfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0gU3RvcmVVdGlscy5nZW5lcmF0ZVJlZGFjdGlvbkVudGl0aWVzKHBheWxvYWQpO1xuICAgICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhwYXlsb2FkLCAncGFnZScpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlNBVkVfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICBbcGF5bG9hZC5yZWRhY3Rpb25JZF06IHBheWxvYWRcbiAgICAgIH07XG4gICAgICBjb25zdCByZWRhY3Rpb25BcnJheSA9IE9iamVjdC5rZXlzKHJlZGFjdGlvbkVudGl0aWVzKS5tYXAoa2V5ID0+IHJlZGFjdGlvbkVudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgcmVkYWN0aW9uUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMocmVkYWN0aW9uQXJyYXksICdwYWdlJyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllc1xuICAgICAgfTtcbiAgICB9XG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlNBVkVfQlVMS19SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcGF5bG9hZFJlc3VsdCA9IE9iamVjdC5hc3NpZ24oe30sIC4uLmFjdGlvbi5wYXlsb2FkLnNlYXJjaFJlZGFjdGlvbnMubWFwKCh4KSA9PiAoeyBbeC5yZWRhY3Rpb25JZF06IHggfSkpKTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgLi4ucGF5bG9hZFJlc3VsdFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkFycmF5ID0gT2JqZWN0LmtleXMocmVkYWN0aW9uRW50aXRpZXMpLm1hcChrZXkgPT4gcmVkYWN0aW9uRW50aXRpZXNba2V5XSk7XG4gICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhyZWRhY3Rpb25BcnJheSwgJ3BhZ2UnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uU0VMRUNUX1JFREFDVElPTjpcbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5TRUxFQ1RfQU5OT1RBVElPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGVkUmVkYWN0aW9uOiBhY3Rpb24ucGF5bG9hZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uREVMRVRFX1JFREFDVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBwYWdlID0gYWN0aW9uLnBheWxvYWQucGFnZTtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQucmVkYWN0aW9uSWQ7XG4gICAgICBjb25zdCByZWRhY3Rpb25FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uRW50aXRpZXNcbiAgICAgIH07XG4gICAgICBkZWxldGUgcmVkYWN0aW9uRW50aXRpZXNbaWRdO1xuICAgICAgY29uc3QgcGFnZVJlZGFjdGlvblJlbW92ZWQgPSBbXG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvblBhZ2VFbnRpdGllc1twYWdlXS5maWx0ZXIocmVkYWN0aW9uID0+IHJlZGFjdGlvbi5yZWRhY3Rpb25JZCAhPT0gaWQpXG4gICAgICBdO1xuICAgICAgY29uc3QgcmVkYWN0aW9uUGFnZUVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIFtwYWdlXTogcGFnZVJlZGFjdGlvblJlbW92ZWRcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXMsXG4gICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uUkVEQUNUX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHJlZGFjdGVkRG9jdW1lbnRJbmZvID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFJlZGFjdGlvblN0YXRlLFxuICAgICAgICByZWRhY3RlZERvY3VtZW50SW5mb1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uUkVTRVRfUkVEQUNURURfRE9DVU1FTlQ6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByZWRhY3RlZERvY3VtZW50SW5mbzogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5VTk1BUktfQUxMX1NVQ0NFU1M6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAuLi5pbml0aWFsUmVkYWN0aW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5cbmV4cG9ydCBjb25zdCBnZXRSZWRhY3Rpb25FbnQgPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5yZWRhY3Rpb25FbnRpdGllcztcbmV4cG9ydCBjb25zdCBnZXRQYWdlRW50ID0gKHN0YXRlOiBSZWRhY3Rpb25TdGF0ZSkgPT4gc3RhdGUucmVkYWN0aW9uUGFnZUVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkUmVkYWN0aW9uID0gKHN0YXRlOiBSZWRhY3Rpb25TdGF0ZSkgPT4gc3RhdGUuc2VsZWN0ZWRSZWRhY3Rpb247XG5leHBvcnQgY29uc3QgZ2V0UmVkYWN0ZWREb2NJbmZvID0gKHN0YXRlOiBSZWRhY3Rpb25TdGF0ZSkgPT4gc3RhdGUucmVkYWN0ZWREb2N1bWVudEluZm87XG4iXX0=
@@ -15,7 +15,7 @@ const ɵ2 = (bookmarkNodes, docId, pdfPosition, pages) => {
15
15
  pageNumber: pdfPosition.pageNumber - 1,
16
16
  xCoordinate: pdfPosition.left,
17
17
  yCoordinate: pages[pdfPosition.pageNumber].styles.height - (pdfPosition.top * pages[pdfPosition.pageNumber].viewportScale),
18
- previous: bookmarkNodes.length > 0 ? bookmarkNodes[bookmarkNodes.length - 1].id : undefined,
18
+ previous: bookmarkNodes.length > 0 ? bookmarkNodes.sort((a, b) => a.index - b.index)[bookmarkNodes.length - 1].id : undefined,
19
19
  documentId: docId
20
20
  };
21
21
  };
@@ -36,4 +36,4 @@ const ɵ3 = (pages, pageEnt) => {
36
36
  };
37
37
  export const getBookmarksPerPage = createSelector(fromDocument.getPages, getBookmarkPages, ɵ3);
38
38
  export { ɵ0, ɵ1, ɵ2, ɵ3 };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO1dBSW5ELENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUUsS0FBSyxDQUFDLFNBQVM7QUFGaEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxXQUFXLENBQUMsVUFBVSxLQUV2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztXQUlBLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7QUFGL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxtQkFBbUIsS0FFcEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7V0FPQSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzNDLE9BQU87UUFDTCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsR0FBRyxDQUFDO1FBQ3RDLFdBQVcsRUFBRSxXQUFXLENBQUMsSUFBSTtRQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxSCxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUMzRixVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQWJILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGdCQUFnQixFQUNoQixZQUFZLENBQUMsYUFBYSxFQUMxQixZQUFZLENBQUMsY0FBYyxFQUMzQixZQUFZLENBQUMsUUFBUSxLQVV0QixDQUFDO1dBS0EsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7WUFDMUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQztBQWhCSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQy9DLFlBQVksQ0FBQyxRQUFRLEVBQ3JCLGdCQUFnQixLQWVqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgKiBhcyBmcm9tRmVhdHVyZSBmcm9tICcuLi9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQm9va21hcmtzIGZyb20gJy4uL3JlZHVjZXJzL2Jvb2ttYXJrcy5yZWR1Y2VyJztcbmltcG9ydCB7IGdlbmVyYXRlQm9va21hcmtOb2RlcyB9IGZyb20gJy4uL2Jvb2ttYXJrcy1zdG9yZS11dGlscyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi9kb2N1bWVudC5zZWxlY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmcm9tRmVhdHVyZS5nZXRNVlN0YXRlLFxuICAoc3RhdGU6IGZyb21GZWF0dXJlLlN0YXRlKSA9PiAgc3RhdGUuYm9va21hcmtzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya1N0YXRlLFxuICBmcm9tQm9va21hcmtzLmdldEJvb2ttYXJrUGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya0VudHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya05vZGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrRW50aXRpZXMsXG4gIChlbnRpdGllcykgPT4gZ2VuZXJhdGVCb29rbWFya05vZGVzKGVudGl0aWVzKVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQm9va21hcmsgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRFZGl0Qm9va21hcmtcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0luZm8gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtOb2RlcyxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIGZyb21Eb2N1bWVudC5nZXRQZGZQb3NpdGlvbixcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICAoYm9va21hcmtOb2RlcywgZG9jSWQsIHBkZlBvc2l0aW9uLCBwYWdlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlTnVtYmVyOiBwZGZQb3NpdGlvbi5wYWdlTnVtYmVyIC0gMSxcbiAgICAgIHhDb29yZGluYXRlOiBwZGZQb3NpdGlvbi5sZWZ0LFxuICAgICAgeUNvb3JkaW5hdGU6IHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnN0eWxlcy5oZWlnaHQgLSAocGRmUG9zaXRpb24udG9wICogcGFnZXNbcGRmUG9zaXRpb24ucGFnZU51bWJlcl0udmlld3BvcnRTY2FsZSksXG4gICAgICBwcmV2aW91czogYm9va21hcmtOb2Rlcy5sZW5ndGggPiAwID8gYm9va21hcmtOb2Rlc1tib29rbWFya05vZGVzLmxlbmd0aCAtIDFdLmlkIDogdW5kZWZpbmVkLFxuICAgICAgZG9jdW1lbnRJZDogZG9jSWRcbiAgICB9O1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtzUGVyUGFnZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmcm9tRG9jdW1lbnQuZ2V0UGFnZXMsXG4gIGdldEJvb2ttYXJrUGFnZXMsXG4gIChwYWdlcywgcGFnZUVudCkgPT4ge1xuICAgIGlmIChwYWdlcyAmJiBwYWdlRW50KSB7XG4gICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgIE9iamVjdC5rZXlzKHBhZ2VzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IHBhZ2VJZHggPSBOdW1iZXIoa2V5KSAtIDE7IC8vIC0xIGFzIHRoZSB0aGlzUGFnZXMgYXJyYXkgaXMgMCBpbmRleGVkXG4gICAgICAgIGNvbnN0IHRoaXNQYWdlID0gcGFnZUVudFtwYWdlSWR4XTtcbiAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgIGJvb2ttYXJrOiB0aGlzUGFnZSA/IHRoaXNQYWdlIDogW10sXG4gICAgICAgICAgc3R5bGVzOiBwYWdlc1trZXldLnN0eWxlc1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG4gIH1cbik7XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRTNDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO1dBSW5ELENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUUsS0FBSyxDQUFDLFNBQVM7QUFGaEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxXQUFXLENBQUMsVUFBVSxLQUV2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztXQUlBLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7QUFGL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxtQkFBbUIsS0FFcEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7V0FPQSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzNDLE9BQU87UUFDTCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsR0FBRyxDQUFDO1FBQ3RDLFdBQVcsRUFBRSxXQUFXLENBQUMsSUFBSTtRQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxSCxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM3SCxVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQWJILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGdCQUFnQixFQUNoQixZQUFZLENBQUMsYUFBYSxFQUMxQixZQUFZLENBQUMsY0FBYyxFQUMzQixZQUFZLENBQUMsUUFBUSxLQVV0QixDQUFDO1dBS0EsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDakIsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx5Q0FBeUM7WUFDMUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztLQUNaO0FBQ0gsQ0FBQztBQWhCSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQy9DLFlBQVksQ0FBQyxRQUFRLEVBQ3JCLGdCQUFnQixLQWVqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgKiBhcyBmcm9tRmVhdHVyZSBmcm9tICcuLi9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQm9va21hcmtzIGZyb20gJy4uL3JlZHVjZXJzL2Jvb2ttYXJrcy5yZWR1Y2VyJztcbmltcG9ydCB7IGdlbmVyYXRlQm9va21hcmtOb2RlcyB9IGZyb20gJy4uL2Jvb2ttYXJrcy1zdG9yZS11dGlscyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi9kb2N1bWVudC5zZWxlY3RvcnMnO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmcm9tRmVhdHVyZS5nZXRNVlN0YXRlLFxuICAoc3RhdGU6IGZyb21GZWF0dXJlLlN0YXRlKSA9PiAgc3RhdGUuYm9va21hcmtzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya1N0YXRlLFxuICBmcm9tQm9va21hcmtzLmdldEJvb2ttYXJrUGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya0VudHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya05vZGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrRW50aXRpZXMsXG4gIChlbnRpdGllcykgPT4gZ2VuZXJhdGVCb29rbWFya05vZGVzKGVudGl0aWVzKVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQm9va21hcmsgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRFZGl0Qm9va21hcmtcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0luZm8gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtOb2RlcyxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIGZyb21Eb2N1bWVudC5nZXRQZGZQb3NpdGlvbixcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICAoYm9va21hcmtOb2RlcywgZG9jSWQsIHBkZlBvc2l0aW9uLCBwYWdlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlTnVtYmVyOiBwZGZQb3NpdGlvbi5wYWdlTnVtYmVyIC0gMSxcbiAgICAgIHhDb29yZGluYXRlOiBwZGZQb3NpdGlvbi5sZWZ0LFxuICAgICAgeUNvb3JkaW5hdGU6IHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnN0eWxlcy5oZWlnaHQgLSAocGRmUG9zaXRpb24udG9wICogcGFnZXNbcGRmUG9zaXRpb24ucGFnZU51bWJlcl0udmlld3BvcnRTY2FsZSksXG4gICAgICBwcmV2aW91czogYm9va21hcmtOb2Rlcy5sZW5ndGggPiAwID8gYm9va21hcmtOb2Rlcy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleClbYm9va21hcmtOb2Rlcy5sZW5ndGggLSAxXS5pZCA6IHVuZGVmaW5lZCxcbiAgICAgIGRvY3VtZW50SWQ6IGRvY0lkXG4gICAgfTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrc1BlclBhZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICBnZXRCb29rbWFya1BhZ2VzLFxuICAocGFnZXMsIHBhZ2VFbnQpID0+IHtcbiAgICBpZiAocGFnZXMgJiYgcGFnZUVudCkge1xuICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICBPYmplY3Qua2V5cyhwYWdlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBjb25zdCBwYWdlSWR4ID0gTnVtYmVyKGtleSkgLSAxOyAvLyAtMSBhcyB0aGUgdGhpc1BhZ2VzIGFycmF5IGlzIDAgaW5kZXhlZFxuICAgICAgICBjb25zdCB0aGlzUGFnZSA9IHBhZ2VFbnRbcGFnZUlkeF07XG4gICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICBib29rbWFyazogdGhpc1BhZ2UgPyB0aGlzUGFnZSA6IFtdLFxuICAgICAgICAgIHN0eWxlczogcGFnZXNba2V5XS5zdHlsZXNcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfVxuICB9XG4pO1xuIl19
@@ -41,6 +41,8 @@ export class MainToolbarComponent {
41
41
  }
42
42
  }), this.toolbarEvents.redactionMode.subscribe(enabled => {
43
43
  this.redactionEnabled = enabled;
44
+ }), this.toolbarEvents.redactAllInProgressSubject.subscribe(disable => {
45
+ this.redactAllInProgress = disable;
44
46
  }));
45
47
  }
46
48
  ngOnDestroy() {
@@ -64,8 +66,21 @@ export class MainToolbarComponent {
64
66
  onClickDrawToggle() {
65
67
  this.toolbarEvents.toggleDrawMode();
66
68
  }
67
- toggleSideBar() {
68
- this.toolbarEvents.sidebarOpen.next(!this.toolbarEvents.sidebarOpen.getValue());
69
+ toggleIndexSideBar() {
70
+ const sidebarOpen = this.toolbarEvents.sidebarOpen.getValue();
71
+ const sidebarView = this.toolbarEvents.sidebarOutlineView.getValue();
72
+ if (!(sidebarOpen && !sidebarView)) {
73
+ this.toolbarEvents.toggleSideBar(!sidebarOpen);
74
+ }
75
+ this.toolbarEvents.toggleSideBarView(true);
76
+ }
77
+ toggleBookmarksSideBar() {
78
+ const sidebarOpen = this.toolbarEvents.sidebarOpen.getValue();
79
+ const sidebarView = this.toolbarEvents.sidebarOutlineView.getValue();
80
+ if (!(sidebarOpen && sidebarView)) {
81
+ this.toolbarEvents.toggleSideBar(!sidebarOpen);
82
+ }
83
+ this.toolbarEvents.toggleSideBarView(false);
69
84
  }
70
85
  togglePresentBar() {
71
86
  this.toolbarEvents.searchBarHidden.next(true);
@@ -132,7 +147,7 @@ export class MainToolbarComponent {
132
147
  MainToolbarComponent.decorators = [
133
148
  { type: Component, args: [{
134
149
  selector: 'mv-main-toolbar',
135
- template: "<div class=\"toolbar\">\n <div id=\"toolbarContainer\">\n <div class=\"mv-toolbar__container\">\n <div #mvToolbar class=\"mv-toolbar\" [class.notSupported]=\"!contentType\">\n <!-- The mvToolbarMain div contains all toolbar buttons except the \"More options\" button. This allows for calculation of the available space to display buttons -->\n <div id=\"mvToolbarMain\" class=\"mv-toolbar-main\" #mvToolbarMain>\n <ng-container *ngTemplateOutlet=\"menuItems\"></ng-container>\n </div>\n <!-- The mvToolbarMoreOptions div contains the \"More options\" toolbar button (and the overlay template for the dropdown menu).\n The space occupied by the button (if visible) is excluded from the toolbar space available calculation -->\n <div id=\"mvToolbarMoreOptions\" class=\"mv-toolbar-more-options\">\n <button id=\"mvMoreOptionsBtn\" class=\"mv-button mv-toolbar__menu-button--more-options\"\n [class.mv-toolbar__menu-button--more-options__hidden]=\"mvToolbar.offsetWidth >= allButtonsWidth\" aria-pressed=\"false\"\n (click)=\"toggleMoreOptions()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <span>More options</span>\n </button>\n <!-- This template displays the overlay content for the dropdown menu and is connected to the \"More options\" button -->\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownMenuOpen\" [cdkConnectedOverlayPositions]=\"dropdownMenuPositions\">\n <div class=\"dropdown-menu\" #dropdownMenu tabindex=\"0\">\n <ng-container *ngTemplateOutlet=\"menuItems\"></ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n\n <div id=\"mvMenuItems\" #mvMenuItems>\n <ng-template #menuItems>\n\n <button *ngIf=\"toolbarButtons.showSidebar\" id=\"mvIndexBtn\" title=\"Index\" data-l10n-id=\"index\" #mvIndexBtn\n class=\"mv-button mv-toolbar__menu-button--index\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvIndexBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvIndexBtn']\" aria-pressed=\"false\"\n (click)=\"toggleSideBar(); isDropdownMenuOpen = false\">\n <span>Index</span>\n </button>\n\n <button *ngIf=\"toolbarButtons.showDrawButton\" [disabled]=\"icpEnabled || redactionEnabled\" id=\"mvDrawBtn\"\n #mvDrawBtn class=\"mv-button mv-toolbar__menu-button--draw\" title=\"Draw a box\" tabindex=\"-1\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvDrawBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvDrawBtn']\"\n [class.toggled]=\"toolbarEvents.drawModeSubject | async\" aria-hidden=\"true\" aria-pressed=\"false\"\n data-l10n-id=\"toggleDrawButton\" (click)=\"onClickDrawToggle(); isDropdownMenuOpen = false\">\n <span data-l10n-id=\"draw_label\">Draw a box</span>\n </button>\n\n <button *ngIf=\"toolbarButtons.showHighlightButton\" [disabled]=\"icpEnabled || redactionEnabled\"\n id=\"mvHighlightBtn\" #mvHighlightBtn class=\"mv-button mv-toolbar__menu-button--highlight\" title=\"Highlight\"\n tabindex=\"-1\" [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvHighlightBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvHighlightBtn']\"\n [class.toggled]=\"toolbarEvents.highlightModeSubject | async\" aria-hidden=\"true\" aria-pressed=\"false\"\n (click)=\"onClickHighlightToggle(); isDropdownMenuOpen = false\" data-l10n-id=\"toggleHighlightButton\">\n <span data-l10n-id=\"highlight_label\">Highlight</span>\n </button>\n\n <ng-container *ngIf=\"toolbarButtons.showNavigation\">\n <div id=\"mvPageBtn\" #mvPageBtn class=\"mv-toolbar__menu-button--page\" aria-pressed=\"false\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPageBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPageBtn']\">\n <span>Page</span>\n\n <button id=\"mvUpBtn\" [disabled]=\"pageNumber === 1\" title=\"Previous Page\"\n class=\"mv-toolbar__menu-button--up button-image\" data-l10n-id=\"previous\"\n (click)=\"decreasePageNumber()\"><span></span></button>\n <button id=\"mvDownBtn\" [disabled]=\"pageNumber === pageCount\" title=\"Next Page\"\n class=\"mv-toolbar__menu-button--down button-image\" data-l10n-id=\"next\"\n (click)=\"increasePageNumber()\"><span></span></button>\n\n <input type=\"number\" id=\"pageNumber\" class=\"hmcts-toolbar-input govuk-input--width-2\" title=\"Page Number\"\n value=\"1\" size=\"4\" min=\"1\" [value]=\"pageNumber\" aria-label=\"page number\" tabindex=\"0\"\n data-l10n-id=\"page\" (change)=\"onPageNumberInputChange(pageNumberInput.value)\" #pageNumberInput>\n <span id=\"numPages\" class=\"toolbarLabel\">/ {{ pageCount }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"toolbarButtons.showZoom\">\n <div id=\"mvZoomBtn\" #mvZoomBtn class=\"mv-toolbar__menu-button--zoom\" aria-pressed=\"false\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvZoomBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvZoomBtn']\">\n <button [disabled]=\"toolbarEvents.zoomValueSubject.value == 0.1\" id=\"mvMinusBtn\"\n class=\"mv-toolbar__menu-button--zoom-out button-image\" title=\"Zoom Out\" data-l10n-id=\"zoom_out\"\n (click)=\"stepZoom(-0.1)\"><span></span></button>\n <select id=\"scaleSelect\" class=\"hmcts-toolbar-select\" title=\"Zoom\" tabindex=\"0\" data-l10n-id=\"zoom\"\n (change)=\"zoom($event.target.value)\" aria-label=\"zoom\">\n <option #zoomSelect id=\"customScaleOption\" title=\"\" [value]=\"toolbarEvents.zoomValueSubject.value\">\n {{(toolbarEvents.zoomValueSubject.value) * 100 | number: '1.0-0'}}%</option>\n <option *ngFor=\"let zoomScale of zoomScales\" title=\"\" [value]=\"zoomScale\"\n [attr.data-l10n-id]=\"'page_scale_percent_' + zoomScale*100\">{{ zoomScale *100 }}%\n </option>\n </select>\n\n <button [disabled]=\"toolbarEvents.zoomValueSubject.value == 5\" id=\"mvPlusBtn\"\n class=\"mv-toolbar__menu-button--zoom-in button-image\" (click)=\"stepZoom(0.1)\" title=\"Zoom In\"\n data-l10n-id=\"zoom_in\"><span></span></button>\n </div>\n </ng-container>\n\n <div *ngIf=\"toolbarButtons.showRotate\" id=\"mvRotateBtn\" #mvRotateBtn class=\"mv-toolbar__menu-button--rotate\"\n aria-pressed=\"false\" [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvRotateBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvRotateBtn']\">\n <button id=\"mvRotateLeftBtn\" class=\"mv-toolbar__menu-button--rotate_left button-image\"\n title=\"Rotate Counterclockwise\" data-l10n-id=\"page_rotate_ccw\" (click)=\"rotate(270)\"><span></span>\n </button>\n <button id=\"mvRotateRightBtn\" class=\"mv-toolbar__menu-button--rotate_right button-image\"\n title=\"Rotate Clockwise\" data-l10n-id=\"page_rotate_cw\" (click)=\"rotate(90)\"><span></span>\n </button>\n <span>Rotate</span>\n </div>\n\n <button *ngIf=\"toolbarButtons.showSearchBar\" [disabled]=\"icpEnabled\" id=\"mvSearchBtn\" #mvSearchBtn\n title=\"Search\" data-l10n-id=\"searchbar\" class=\"mv-button mv-toolbar__menu-button--search\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvSearchBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvSearchBtn']\" aria-pressed=\"false\"\n (click)=\"toggleSearchBar(); isDropdownMenuOpen = false\">\n </button>\n\n <button *ngIf=\"enableICP && toolbarButtons.showPresentationMode && isPdf()\"\n [disabled]=\"icpEnabled || !contentType || redactionEnabled\" id=\"mvPresentBtn\" #mvPresentBtn\n class=\"mv-button mv-toolbar__menu-button--present\" title=\"In-Court Presentation Mode\"\n data-l10n-id=\"icpMode_label\" [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPresentBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPresentBtn']\" aria-pressed=\"false\"\n (click)=\"togglePresentBar(); isDropdownMenuOpen = false\"><span data-l10n-id=\"icpMode_label\">Present</span>\n </button>\n\n <button *ngIf=\"enableRedactions && toolbarButtons.showRedact\" [disabled]=\"icpEnabled\" id=\"mvRedactBtn\"\n #mvRedactBtn title=\"Redact\" data-l10n-id=\"redact\" class=\"mv-button mv-toolbar__menu-button--redact\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvRedactBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvRedactBtn']\" aria-pressed=\"false\"\n (click)=\"toggleRedactBar(); isDropdownMenuOpen = false\">\n <span>Redact</span>\n </button>\n\n <button *ngIf=\"toolbarButtons.showGrabNDragButton\" [disabled]=\"icpEnabled\" id=\"mvGrabBtn\" #mvGrabBtn\n class=\"mv-button mv-toolbar__menu-button--grab\" title=\"Grab and drag\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvGrabBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvGrabBtn']\" aria-pressed=\"false\"\n (click)=\"toggleGrabNDrag(); isDropdownMenuOpen = false\">\n <span>Grab and drag</span>\n </button>\n\n <button *ngIf=\"toolbarButtons.showDownload\" [disabled]=\"icpEnabled || redactionEnabled\" id=\"mvDownloadBtn\"\n #mvDownloadBtn class=\"mv-button mv-toolbar__menu-button--download\" title=\"Download\" data-l10n-id=\"download\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvDownloadBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvDownloadBtn']\" aria-pressed=\"false\"\n (click)=\"downloadFile(); isDropdownMenuOpen = false\">\n </button>\n\n <button *ngIf=\"toolbarButtons.showPrint\" [disabled]=\"icpEnabled || redactionEnabled\" id=\"mvPrintBtn\"\n #mvPrintBtn title=\"Print\" data-l10n-id=\"print\" class=\"mv-button mv-toolbar__menu-button--print\"\n [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPrintBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPrintBtn']\" aria-pressed=\"false\"\n (click)=\"printFile(); isDropdownMenuOpen = false\">\n </button>\n\n <button *ngIf=\"enableAnnotations && toolbarButtons.showCommentSummary\" [disabled]=\"redactionEnabled\"\n id=\"mvCommentsBtn\" #mvCommentsBtn class=\"mv-button mv-toolbar__menu-button--comments\" title=\"Comments\"\n data-l10n-id=\"comments\" [class.button-hidden-on-toolbar]=\"mvToolbarMain.offsetWidth < widthRequiredForBtn['mvCommentsBtn']\"\n [class.button-hidden-on-dropdown]=\"mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvCommentsBtn']\" aria-pressed=\"false\"\n (click)=\"toggleCommentsPanel(); isDropdownMenuOpen = false\">\n <span>Comments</span>\n </button>\n\n </ng-template>\n </div>\n <mv-search-bar></mv-search-bar>\n </div>\n\n <div id=\"loadingBar\">\n <div class=\"progress\">\n <div class=\"glimmer\">\n </div>\n </div>\n </div>\n </div>\n</div>\n"
150
+ template: "<div class=\"toolbar\">\n <div id=\"toolbarContainer\">\n <div class=\"mv-toolbar__container\">\n <div #mvToolbar class=\"mv-toolbar\" [class.notSupported]=\"!contentType\">\n <!-- The mvToolbarMain div contains all toolbar buttons except the \"More options\" button. This allows for calculation of the available space to display buttons -->\n <div id=\"mvToolbarMain\" class=\"mv-toolbar-main\" #mvToolbarMain>\n <ng-container *ngTemplateOutlet=\"menuItems\"></ng-container>\n </div>\n <!-- The mvToolbarMoreOptions div contains the \"More options\" toolbar button (and the overlay template for the dropdown menu).\n The space occupied by the button (if visible) is excluded from the toolbar space available calculation -->\n <div id=\"mvToolbarMoreOptions\" class=\"mv-toolbar-more-options\">\n <button\n id=\"mvMoreOptionsBtn\"\n class=\"mv-button mv-toolbar__menu-button--more-options\"\n [class.mv-toolbar__menu-button--more-options__hidden]=\"\n mvToolbar.offsetWidth >= allButtonsWidth\n \"\n aria-pressed=\"false\"\n (click)=\"toggleMoreOptions()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [disabled]=\"redactAllInProgress\"\n >\n <span>More options</span>\n </button>\n <!-- This template displays the overlay content for the dropdown menu and is connected to the \"More options\" button -->\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownMenuOpen\"\n [cdkConnectedOverlayPositions]=\"dropdownMenuPositions\"\n >\n <div class=\"dropdown-menu\" #dropdownMenu tabindex=\"0\">\n <ng-container *ngTemplateOutlet=\"menuItems\"></ng-container>\n </div>\n </ng-template>\n </div>\n </div>\n\n <div id=\"mvMenuItems\" #mvMenuItems>\n <ng-template #menuItems>\n <button\n *ngIf=\"toolbarButtons.showSidebar\"\n id=\"mvIndexBtn\"\n title=\"Index\"\n data-l10n-id=\"index\"\n #mvIndexBtn\n class=\"mv-button mv-toolbar__menu-button--index\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvIndexBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvIndexBtn']\n \"\n aria-pressed=\"false\"\n [disabled]=\"redactAllInProgress\"\n (click)=\"toggleIndexSideBar(); isDropdownMenuOpen = false\"\n >\n <span>Index</span>\n </button>\n \n <button \n *ngIf=\"toolbarButtons.showSidebar\" \n id=\"mvBookmarksBtn\" \n title=\"Bookmarks\" \n data-l10n-id=\"bookmarks\"\n #mvBookmarksBtn \n [ngClass]=\"{ \n 'mv-button mv-toolbar__menu-button--bookmarks' : true,\n 'button-hidden-on-toolbar': mvToolbarMain.offsetWidth < widthRequiredForBtn['mvBookmarksBtn'],\n 'button-hidden-on-dropdown': mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvBookmarksBtn']\n }\"\n aria-pressed=\"false\"\n [disabled]=\"redactAllInProgress\"\n (click)=\"toggleBookmarksSideBar(); isDropdownMenuOpen = false\"\n >\n <span>Bookmarks</span>\n </button>\n\n <button\n *ngIf=\"toolbarButtons.showDrawButton\"\n [disabled]=\"icpEnabled || redactionEnabled\"\n id=\"mvDrawBtn\"\n #mvDrawBtn\n class=\"mv-button mv-toolbar__menu-button--draw\"\n title=\"Draw a box\"\n tabindex=\"-1\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvDrawBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvDrawBtn']\n \"\n [class.toggled]=\"toolbarEvents.drawModeSubject | async\"\n aria-hidden=\"true\"\n aria-pressed=\"false\"\n data-l10n-id=\"toggleDrawButton\"\n (click)=\"onClickDrawToggle(); isDropdownMenuOpen = false\"\n >\n <span data-l10n-id=\"draw_label\">Draw a box</span>\n </button>\n\n <button\n *ngIf=\"toolbarButtons.showHighlightButton\"\n [disabled]=\"icpEnabled || redactionEnabled\"\n id=\"mvHighlightBtn\"\n #mvHighlightBtn\n class=\"mv-button mv-toolbar__menu-button--highlight\"\n title=\"Highlight\"\n tabindex=\"-1\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvHighlightBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvHighlightBtn']\n \"\n [class.toggled]=\"toolbarEvents.highlightModeSubject | async\"\n aria-hidden=\"true\"\n aria-pressed=\"false\"\n (click)=\"onClickHighlightToggle(); isDropdownMenuOpen = false\"\n data-l10n-id=\"toggleHighlightButton\"\n >\n <span data-l10n-id=\"highlight_label\">Highlight</span>\n </button>\n\n <ng-container *ngIf=\"toolbarButtons.showNavigation\">\n <div\n id=\"mvPageBtn\"\n #mvPageBtn\n class=\"mv-toolbar__menu-button--page\"\n aria-pressed=\"false\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPageBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPageBtn']\n \"\n >\n <span>Page</span>\n\n <button\n id=\"mvUpBtn\"\n [disabled]=\"pageNumber === 1 || redactAllInProgress\"\n title=\"Previous Page\"\n class=\"mv-toolbar__menu-button--up button-image\"\n data-l10n-id=\"previous\"\n (click)=\"decreasePageNumber()\"\n [disabled]=\"redactAllInProgress\"\n >\n <span></span>\n </button>\n <button\n id=\"mvDownBtn\"\n [disabled]=\"pageNumber === pageCount || redactAllInProgress\"\n title=\"Next Page\"\n class=\"mv-toolbar__menu-button--down button-image\"\n data-l10n-id=\"next\"\n (click)=\"increasePageNumber()\"\n >\n <span></span>\n </button>\n\n <input\n type=\"number\"\n id=\"pageNumber\"\n class=\"hmcts-toolbar-input govuk-input--width-2\"\n title=\"Page Number\"\n value=\"1\"\n size=\"4\"\n min=\"1\"\n [value]=\"pageNumber\"\n aria-label=\"page number\"\n tabindex=\"0\"\n data-l10n-id=\"page\"\n (change)=\"onPageNumberInputChange(pageNumberInput.value)\"\n [disabled]=\"redactAllInProgress\"\n #pageNumberInput\n />\n <span id=\"numPages\" class=\"toolbarLabel\">/ {{ pageCount }}</span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"toolbarButtons.showZoom\">\n <div\n id=\"mvZoomBtn\"\n #mvZoomBtn\n class=\"mv-toolbar__menu-button--zoom\"\n aria-pressed=\"false\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvZoomBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvZoomBtn']\n \"\n >\n <button\n [disabled]=\"\n toolbarEvents.zoomValueSubject.value == 0.1 ||\n redactAllInProgress\n \"\n id=\"mvMinusBtn\"\n class=\"mv-toolbar__menu-button--zoom-out button-image\"\n title=\"Zoom Out\"\n data-l10n-id=\"zoom_out\"\n (click)=\"stepZoom(-0.1)\"\n >\n <span></span>\n </button>\n <select\n id=\"scaleSelect\"\n class=\"hmcts-toolbar-select\"\n title=\"Zoom\"\n tabindex=\"0\"\n data-l10n-id=\"zoom\"\n (change)=\"zoom($event.target.value)\"\n aria-label=\"zoom\"\n [disabled]=\"redactAllInProgress\"\n >\n <option\n #zoomSelect\n id=\"customScaleOption\"\n title=\"\"\n [value]=\"toolbarEvents.zoomValueSubject.value\"\n >\n {{\n toolbarEvents.zoomValueSubject.value * 100\n | number : \"1.0-0\"\n }}%\n </option>\n <option\n *ngFor=\"let zoomScale of zoomScales\"\n title=\"\"\n [value]=\"zoomScale\"\n [attr.data-l10n-id]=\"'page_scale_percent_' + zoomScale * 100\"\n >\n {{ zoomScale * 100 }}%\n </option>\n </select>\n\n <button\n [disabled]=\"\n toolbarEvents.zoomValueSubject.value == 5 ||\n redactAllInProgress\n \"\n id=\"mvPlusBtn\"\n class=\"mv-toolbar__menu-button--zoom-in button-image\"\n (click)=\"stepZoom(0.1)\"\n title=\"Zoom In\"\n data-l10n-id=\"zoom_in\"\n >\n <span></span>\n </button>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"toolbarButtons.showRotate\"\n id=\"mvRotateBtn\"\n #mvRotateBtn\n class=\"mv-toolbar__menu-button--rotate\"\n aria-pressed=\"false\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvRotateBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvRotateBtn']\n \"\n >\n <button\n id=\"mvRotateLeftBtn\"\n class=\"mv-toolbar__menu-button--rotate_left button-image\"\n title=\"Rotate Counterclockwise\"\n data-l10n-id=\"page_rotate_ccw\"\n (click)=\"rotate(270)\"\n [disabled]=\"redactAllInProgress\"\n >\n <span></span>\n </button>\n <button\n id=\"mvRotateRightBtn\"\n class=\"mv-toolbar__menu-button--rotate_right button-image\"\n title=\"Rotate Clockwise\"\n data-l10n-id=\"page_rotate_cw\"\n (click)=\"rotate(90)\"\n [disabled]=\"redactAllInProgress\"\n >\n <span></span>\n </button>\n <span>Rotate</span>\n </div>\n\n <button\n *ngIf=\"toolbarButtons.showSearchBar\"\n [disabled]=\"icpEnabled || redactAllInProgress\"\n id=\"mvSearchBtn\"\n #mvSearchBtn\n title=\"Search\"\n data-l10n-id=\"searchbar\"\n class=\"mv-button mv-toolbar__menu-button--search\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvSearchBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvSearchBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"toggleSearchBar(); isDropdownMenuOpen = false\"\n ></button>\n\n <button\n *ngIf=\"enableICP && toolbarButtons.showPresentationMode && isPdf()\"\n [disabled]=\"icpEnabled || !contentType || redactionEnabled\"\n id=\"mvPresentBtn\"\n #mvPresentBtn\n class=\"mv-button mv-toolbar__menu-button--present\"\n title=\"In-Court Presentation Mode\"\n data-l10n-id=\"icpMode_label\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPresentBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPresentBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"togglePresentBar(); isDropdownMenuOpen = false\"\n >\n <span data-l10n-id=\"icpMode_label\">Present</span>\n </button>\n\n <button\n *ngIf=\"enableRedactions && toolbarButtons.showRedact\"\n [disabled]=\"icpEnabled || redactAllInProgress\"\n id=\"mvRedactBtn\"\n #mvRedactBtn\n title=\"Redact\"\n data-l10n-id=\"redact\"\n class=\"mv-button mv-toolbar__menu-button--redact\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvRedactBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvRedactBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"toggleRedactBar(); isDropdownMenuOpen = false\"\n >\n <span>Redact</span>\n </button>\n\n <button\n *ngIf=\"toolbarButtons.showGrabNDragButton\"\n [disabled]=\"icpEnabled || redactAllInProgress\"\n id=\"mvGrabBtn\"\n #mvGrabBtn\n class=\"mv-button mv-toolbar__menu-button--grab\"\n title=\"Grab and drag\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvGrabBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvGrabBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"toggleGrabNDrag(); isDropdownMenuOpen = false\"\n >\n <span>Grab and drag</span>\n </button>\n\n <button\n *ngIf=\"toolbarButtons.showDownload\"\n [disabled]=\"icpEnabled || redactionEnabled\"\n id=\"mvDownloadBtn\"\n #mvDownloadBtn\n class=\"mv-button mv-toolbar__menu-button--download\"\n title=\"Download\"\n data-l10n-id=\"download\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvDownloadBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvDownloadBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"downloadFile(); isDropdownMenuOpen = false\"\n ></button>\n\n <button\n *ngIf=\"toolbarButtons.showPrint\"\n [disabled]=\"icpEnabled || redactionEnabled\"\n id=\"mvPrintBtn\"\n #mvPrintBtn\n title=\"Print\"\n data-l10n-id=\"print\"\n class=\"mv-button mv-toolbar__menu-button--print\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvPrintBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvPrintBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"printFile(); isDropdownMenuOpen = false\"\n ></button>\n\n <button\n *ngIf=\"enableAnnotations && toolbarButtons.showCommentSummary\"\n [disabled]=\"redactionEnabled\"\n id=\"mvCommentsBtn\"\n #mvCommentsBtn\n class=\"mv-button mv-toolbar__menu-button--comments\"\n title=\"Comments\"\n data-l10n-id=\"comments\"\n [class.button-hidden-on-toolbar]=\"\n mvToolbarMain.offsetWidth < widthRequiredForBtn['mvCommentsBtn']\n \"\n [class.button-hidden-on-dropdown]=\"\n mvToolbarMain.offsetWidth >= widthRequiredForBtn['mvCommentsBtn']\n \"\n aria-pressed=\"false\"\n (click)=\"toggleCommentsPanel(); isDropdownMenuOpen = false\"\n >\n <span>Comments</span>\n </button>\n </ng-template>\n </div>\n <mv-search-bar></mv-search-bar>\n </div>\n\n <div id=\"loadingBar\">\n <div class=\"progress\">\n <div class=\"glimmer\"></div>\n </div>\n </div>\n </div>\n</div>\n"
136
151
  },] }
137
152
  ];
138
153
  /** @nocollapse */
@@ -152,4 +167,4 @@ MainToolbarComponent.propDecorators = {
152
167
  mvMenuItems: [{ type: ViewChild, args: ['dropdownMenu', { static: false },] }],
153
168
  onResize: [{ type: HostListener, args: ['window:resize', [],] }]
154
169
  };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvbWFpbi10b29sYmFyL21haW4tdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBTTlGLE1BQU0sT0FBTyxvQkFBb0I7SUF1Qy9CLFlBQ2tCLGFBQWtDLEVBQ2xDLGNBQThDLEVBQzdDLEdBQXNCLEVBQ3RCLFlBQWlDO1FBSGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0M7UUFDN0MsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBekMzQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNWCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFN0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHekIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBRyxDQUFDLENBQUM7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QUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs7O1lBL0tGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix5bVpBQTRDO2FBQzdDOzs7O1lBUFEsbUJBQW1CO1lBQ25CLDhCQUE4QjtZQVhyQyxpQkFBaUI7WUFZVixtQkFBbUI7OztnQ0FRekIsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFFTCxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzs0QkFDdkMsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7MEJBQzFDLFNBQVMsU0FBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO3VCQXNFekMsWUFBWSxTQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IE51bWJlckhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9saWIvc2hhcmVkL3V0aWwvc2VydmljZXMvbnVtYmVyLmhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtbWFpbi10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21haW4tdG9vbGJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTWFpblRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlUmVkYWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBlbmFibGVJQ1AgPSBmYWxzZTtcbiAgQElucHV0KCkgY29udGVudFR5cGUgPSBudWxsO1xuXG4gIEBWaWV3Q2hpbGQoJ3pvb21TZWxlY3QnLCB7c3RhdGljOiBmYWxzZX0pIHB1YmxpYyB6b29tU2VsZWN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtdlRvb2xiYXJNYWluJywge3N0YXRpYzogZmFsc2V9KSBwdWJsaWMgbXZUb29sYmFyTWFpbjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duTWVudScsIHtzdGF0aWM6IGZhbHNlfSkgcHVibGljIG12TWVudUl0ZW1zOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgcHVibGljIGljcEVuYWJsZWQgPSBmYWxzZTtcbiAgcHVibGljIHJlZGFjdGlvbkVuYWJsZWQgPSBmYWxzZTtcbiAgcHVibGljIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuXG4gIHB1YmxpYyBwYWdlTnVtYmVyID0gMTtcbiAgcHVibGljIHBhZ2VDb3VudCA9IDA7XG4gIHB1YmxpYyBpc0Ryb3Bkb3duTWVudU9wZW4gPSBmYWxzZTtcbiAgcHVibGljIGRyb3Bkb3duTWVudVBvc2l0aW9ucyA9IFtcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgfSxcbiAgICAgIDAsXG4gICAgICAzKVxuICBdO1xuXG4gIHB1YmxpYyB6b29tU2NhbGVzID0gWzAuMSwgMC4yNSwgMC41LCAwLjc1LCAxLCAxLjI1LCAxLjUsIDIuNSwgMywgNV07XG5cbiAgYWxsQnV0dG9uc1dpZHRoID0gMDtcbiAgd2lkdGhSZXF1aXJlZEZvckJ0bjogeyBbaWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckhlbHBlcjogTnVtYmVySGVscGVyU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRDdXJyZW50UGFnZVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5zZXRDdXJyZW50UGFnZShwYWdlTnVtYmVyKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2V0Q3VycmVudFBhZ2VJbnB1dFZhbHVlU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5nZXRQYWdlQ291bnQoKS5zdWJzY3JpYmUoY291bnQgPT4gdGhpcy5wYWdlQ291bnQgPSBjb3VudCksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuaWNwLmVuYWJsZWQuc3Vic2NyaWJlKGVuYWJsZWQgPT4ge1xuICAgICAgICB0aGlzLmljcEVuYWJsZWQgPSBlbmFibGVkO1xuICAgICAgICBpZiAodGhpcy5pY3BFbmFibGVkKSB7XG4gICAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzUGFuZWwoIWVuYWJsZWQpO1xuICAgICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3Blbi5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZS5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICAgIHRoaXMucmVkYWN0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBBcnJheS5mcm9tKHRoaXMubXZUb29sYmFyTWFpbi5uYXRpdmVFbGVtZW50LmNoaWxkcmVuKS5mb3JFYWNoKGJ1dHRvbiA9PiB7XG4gICAgICB0aGlzLmFsbEJ1dHRvbnNXaWR0aCArPSBidXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICB0aGlzLndpZHRoUmVxdWlyZWRGb3JCdG5bYnV0dG9uLmlkXSA9IHRoaXMuYWxsQnV0dG9uc1dpZHRoO1xuICAgIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbXSlcbiAgcHVibGljIG9uUmVzaXplKCkge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrSGlnaGxpZ2h0VG9nZ2xlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVIaWdobGlnaHRNb2RlKCk7XG4gIH1cbiAgcHVibGljIG9uQ2xpY2tEcmF3VG9nZ2xlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVEcmF3TW9kZSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNpZGVCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPcGVuLm5leHQoIXRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3Blbi5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVQcmVzZW50QmFyKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hCYXJIaWRkZW4ubmV4dCh0cnVlKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuaWNwLmVuYWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGluY3JlYXNlUGFnZU51bWJlcigpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuaW5jcmVtZW50UGFnZSgxKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWNyZWFzZVBhZ2VOdW1iZXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmluY3JlbWVudFBhZ2UoLTEpO1xuICB9XG5cbiAgcHVibGljIG9uUGFnZU51bWJlcklucHV0Q2hhbmdlKHBhZ2VOdW1iZXI6IHN0cmluZykge1xuICAgIGlmIChOdW1iZXIocGFnZU51bWJlcikgPCAxKSB7XG4gICAgICBwYWdlTnVtYmVyID0gJzEnO1xuICAgIH1cbiAgICBpZiAoTnVtYmVyKHBhZ2VOdW1iZXIpID4gdGhpcy5wYWdlQ291bnQpIHtcbiAgICAgIHBhZ2VOdW1iZXIgPSB0aGlzLnBhZ2VDb3VudC50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRQYWdlKE51bWJlci5wYXJzZUludChwYWdlTnVtYmVyLCAxMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDdXJyZW50UGFnZShwYWdlTnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICB9XG5cbiAgcHVibGljIHJvdGF0ZShyb3RhdGlvbjogbnVtYmVyKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZShyb3RhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgcHJpbnRGaWxlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5wcmludCgpO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkRmlsZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyB6b29tKHpvb21GYWN0b3I6IHN0cmluZykge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tKCt6b29tRmFjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb20oem9vbUZhY3Rvcik7XG4gICAgdGhpcy56b29tU2VsZWN0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0ZWQgPSAnc2VsZWN0ZWQnO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNvbW1lbnRzUGFuZWwoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzUGFuZWwoIXRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSZWRhY3RCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVJlZGFjdGlvbk1vZGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVHcmFiTkRyYWcoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUdyYWJORHJhZygpO1xuICB9XG5cbiAgcHVibGljIGlzUGRmKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlID09PSAncGRmJztcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWFyY2hCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KCF0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoQmFySGlkZGVuLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZU1vcmVPcHRpb25zKCkge1xuICAgIHRoaXMuaXNEcm9wZG93bk1lbnVPcGVuID0gIXRoaXMuaXNEcm9wZG93bk1lbnVPcGVuO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubXZNZW51SXRlbXMpIHtcbiAgICAgICAgdGhpcy5tdk1lbnVJdGVtcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxufVxuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvbWFpbi10b29sYmFyL21haW4tdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBTTlGLE1BQU0sT0FBTyxvQkFBb0I7SUF3Qy9CLFlBQ2tCLGFBQWtDLEVBQ2xDLGNBQThDLEVBQzdDLEdBQXNCLEVBQ3RCLFlBQWlDO1FBSGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0M7UUFDN0MsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBMUMzQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNWCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFN0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFJekIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBRyxDQUFDLENBQUM7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QUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzBCQUM1QyxTQUFTLFNBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1QkEwRTNDLFlBQVksU0FBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBOdW1iZXJIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3NoYXJlZC91dGlsL3NlcnZpY2VzL251bWJlci5oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LW1haW4tdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYWluLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1haW5Ub29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlSUNQID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbnRlbnRUeXBlID0gbnVsbDtcblxuICBAVmlld0NoaWxkKCd6b29tU2VsZWN0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyB6b29tU2VsZWN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtdlRvb2xiYXJNYWluJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBtdlRvb2xiYXJNYWluOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25NZW51JywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBtdk1lbnVJdGVtczogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBpY3BFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyByZWRhY3Rpb25FbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q29tbWVudHNQYW5lbDogYm9vbGVhbjtcbiAgcHVibGljIHJlZGFjdEFsbEluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgcHVibGljIHBhZ2VOdW1iZXIgPSAxO1xuICBwdWJsaWMgcGFnZUNvdW50ID0gMDtcbiAgcHVibGljIGlzRHJvcGRvd25NZW51T3BlbiA9IGZhbHNlO1xuICBwdWJsaWMgZHJvcGRvd25NZW51UG9zaXRpb25zID0gW1xuICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICB9LFxuICAgICAgMCxcbiAgICAgIDMpXG4gIF07XG5cbiAgcHVibGljIHpvb21TY2FsZXMgPSBbMC4xLCAwLjI1LCAwLjUsIDAuNzUsIDEsIDEuMjUsIDEuNSwgMi41LCAzLCA1XTtcblxuICBhbGxCdXR0b25zV2lkdGggPSAwO1xuICB3aWR0aFJlcXVpcmVkRm9yQnRuOiB7IFtpZDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVySGVscGVyOiBOdW1iZXJIZWxwZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnNldEN1cnJlbnRQYWdlKHBhZ2VOdW1iZXIpKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRDdXJyZW50UGFnZUlucHV0VmFsdWVTdWJqZWN0LnN1YnNjcmliZShwYWdlTnVtYmVyID0+IHRoaXMucGFnZU51bWJlciA9IHBhZ2VOdW1iZXIpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmdldFBhZ2VDb3VudCgpLnN1YnNjcmliZShjb3VudCA9PiB0aGlzLnBhZ2VDb3VudCA9IGNvdW50KSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5pY3AuZW5hYmxlZC5zdWJzY3JpYmUoZW5hYmxlZCA9PiB7XG4gICAgICAgIHRoaXMuaWNwRW5hYmxlZCA9IGVuYWJsZWQ7XG4gICAgICAgIGlmICh0aGlzLmljcEVuYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNQYW5lbCghZW5hYmxlZCk7XG4gICAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPcGVuLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlLnN1YnNjcmliZShlbmFibGVkID0+IHtcbiAgICAgICAgdGhpcy5yZWRhY3Rpb25FbmFibGVkID0gZW5hYmxlZDtcbiAgICAgIH0pLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdEFsbEluUHJvZ3Jlc3NTdWJqZWN0LnN1YnNjcmliZShkaXNhYmxlID0+IHtcbiAgICAgICAgdGhpcy5yZWRhY3RBbGxJblByb2dyZXNzID0gZGlzYWJsZTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIEFycmF5LmZyb20odGhpcy5tdlRvb2xiYXJNYWluLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4pLmZvckVhY2goYnV0dG9uID0+IHtcbiAgICAgIHRoaXMuYWxsQnV0dG9uc1dpZHRoICs9IGJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIHRoaXMud2lkdGhSZXF1aXJlZEZvckJ0bltidXR0b24uaWRdID0gdGhpcy5hbGxCdXR0b25zV2lkdGg7XG4gICAgfSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFtdKVxuICBwdWJsaWMgb25SZXNpemUoKSB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tIaWdobGlnaHRUb2dnbGUoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUhpZ2hsaWdodE1vZGUoKTtcbiAgfVxuICBwdWJsaWMgb25DbGlja0RyYXdUb2dnbGUoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZURyYXdNb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSW5kZXhTaWRlQmFyKCkge1xuICAgIGNvbnN0IHNpZGViYXJPcGVuID0gdGhpcy50b29sYmFyRXZlbnRzLnNpZGViYXJPcGVuLmdldFZhbHVlKCk7XG4gICAgY29uc3Qgc2lkZWJhclZpZXcgPSB0aGlzLnRvb2xiYXJFdmVudHMuc2lkZWJhck91dGxpbmVWaWV3LmdldFZhbHVlKCk7XG4gICAgaWYgKCEoc2lkZWJhck9wZW4gJiYgIXNpZGViYXJWaWV3KSkge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXIoIXNpZGViYXJPcGVuKTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZVNpZGVCYXJWaWV3KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUJvb2ttYXJrc1NpZGVCYXIoKSB7XG4gICAgY29uc3Qgc2lkZWJhck9wZW4gPSB0aGlzLnRvb2xiYXJFdmVudHMuc2lkZWJhck9wZW4uZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzaWRlYmFyVmlldyA9IHRoaXMudG9vbGJhckV2ZW50cy5zaWRlYmFyT3V0bGluZVZpZXcuZ2V0VmFsdWUoKTtcbiAgICBpZiAoIShzaWRlYmFyT3BlbiAmJiBzaWRlYmFyVmlldykpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyKCFzaWRlYmFyT3Blbik7XG4gICAgfVxuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVTaWRlQmFyVmlldyhmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUHJlc2VudEJhcigpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoQmFySGlkZGVuLm5leHQodHJ1ZSk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmljcC5lbmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmNyZWFzZVBhZ2VOdW1iZXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmluY3JlbWVudFBhZ2UoMSk7XG4gIH1cblxuICBwdWJsaWMgZGVjcmVhc2VQYWdlTnVtYmVyKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5pbmNyZW1lbnRQYWdlKC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBhZ2VOdW1iZXJJbnB1dENoYW5nZShwYWdlTnVtYmVyOiBzdHJpbmcpIHtcbiAgICBpZiAoTnVtYmVyKHBhZ2VOdW1iZXIpIDwgMSkge1xuICAgICAgcGFnZU51bWJlciA9ICcxJztcbiAgICB9XG4gICAgaWYgKE51bWJlcihwYWdlTnVtYmVyKSA+IHRoaXMucGFnZUNvdW50KSB7XG4gICAgICBwYWdlTnVtYmVyID0gdGhpcy5wYWdlQ291bnQudG9TdHJpbmcoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2V0UGFnZShOdW1iZXIucGFyc2VJbnQocGFnZU51bWJlciwgMTApKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q3VycmVudFBhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5wYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUocm90YXRpb246IG51bWJlcikge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGUocm90YXRpb24pO1xuICB9XG5cbiAgcHVibGljIHByaW50RmlsZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMucHJpbnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLmRvd25sb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgem9vbSh6b29tRmFjdG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbSgrem9vbUZhY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgc3RlcFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnN0ZXBab29tKHpvb21GYWN0b3IpO1xuICAgIHRoaXMuem9vbVNlbGVjdC5uYXRpdmVFbGVtZW50LnNlbGVjdGVkID0gJ3NlbGVjdGVkJztcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDb21tZW50c1BhbmVsKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVDb21tZW50c1BhbmVsKCF0aGlzLnRvb2xiYXJFdmVudHMuY29tbWVudHNQYW5lbFZpc2libGUuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUmVkYWN0QmFyKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVSZWRhY3Rpb25Nb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlR3JhYk5EcmFnKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVHcmFiTkRyYWcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1BkZigpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSA9PT0gJ3BkZic7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoQmFyKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hCYXJIaWRkZW4ubmV4dCghdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNb3JlT3B0aW9ucygpIHtcbiAgICB0aGlzLmlzRHJvcGRvd25NZW51T3BlbiA9ICF0aGlzLmlzRHJvcGRvd25NZW51T3BlbjtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLm12TWVudUl0ZW1zKSB7XG4gICAgICAgIHRoaXMubXZNZW51SXRlbXMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH1cbn1cbiJdfQ==