@talrace/ngx-noder 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +15 -9
- package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +8 -2
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +2 -2
- package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +3 -3
- package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +1 -8
- package/esm2022/lib/editor/components/edges/edge.component.mjs +2 -2
- package/esm2022/lib/editor/components/edges/edges.mjs +21 -2
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +18 -1
- package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +22 -56
- package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +6 -6
- package/esm2022/lib/editor/components/table/components/table.component.mjs +13 -4
- package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +3 -4
- package/esm2022/lib/editor/components/table/selection/table-selection.mjs +15 -5
- package/esm2022/lib/editor/content/constants/editor.const.mjs +9 -1
- package/esm2022/lib/editor/content/display-data/display-data.mjs +839 -0
- package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +1 -1
- package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +8 -0
- package/esm2022/lib/editor/content/display-data/paragraph.mjs +5 -1
- package/esm2022/lib/editor/content/display-data/text-line-info.mjs +2 -1
- package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +1 -1
- package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +12 -30
- package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +62 -0
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +9 -8
- package/esm2022/lib/editor/display/layers/pages.layer.mjs +5 -5
- package/esm2022/lib/editor/display/layers/print.text.layer.mjs +2 -2
- package/esm2022/lib/editor/display/layers/selection.layer.mjs +15 -9
- package/esm2022/lib/editor/display/layers/text.layer.mjs +25 -27
- package/esm2022/lib/editor/display/print/print.renderer.mjs +8 -8
- package/esm2022/lib/editor/display/renderer.mjs +10 -10
- package/esm2022/lib/editor/display/rendering.helper.mjs +2 -4
- package/esm2022/lib/editor/display/virtual.renderer.mjs +5 -5
- package/esm2022/lib/editor/execution/edit.session.mjs +199 -755
- package/esm2022/lib/editor/execution/editor.mjs +116 -75
- package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +1 -33
- package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +12 -0
- package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +11 -3
- package/esm2022/lib/editor/execution/regulator.service.mjs +28 -20
- package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +13 -0
- package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +77 -10
- package/esm2022/lib/editor/gadgets/search/search.mjs +6 -6
- package/esm2022/lib/editor/interaction/editor.service.mjs +27 -6
- package/esm2022/lib/editor/interaction/input.handler.mjs +8 -5
- package/esm2022/lib/editor/interaction/mouse.handler.mjs +2 -1
- package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +32 -2
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +47 -12
- package/esm2022/lib/editor/operations/operations-helper.helper.mjs +13 -14
- package/esm2022/lib/editor/operations/save-commands.helper.mjs +2 -2
- package/esm2022/lib/editor/positioning/content.helper.mjs +15 -15
- package/esm2022/lib/editor/positioning/line-width.helper.mjs +5 -5
- package/esm2022/lib/editor/positioning/position.helper.mjs +34 -32
- package/esm2022/lib/editor/positioning/selection.mjs +42 -32
- package/esm2022/lib/editor/revision.helper.mjs +4 -3
- package/fesm2022/talrace-ngx-noder.mjs +3765 -3548
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +0 -1
- package/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.d.ts +0 -2
- package/lib/editor/components/image/input-handler/image-input.handler.d.ts +3 -0
- package/lib/editor/components/shared/services/custom-content.service.d.ts +3 -5
- package/lib/editor/components/table/components/table-cell.component.d.ts +1 -1
- package/lib/editor/components/table/components/table.component.d.ts +1 -0
- package/lib/editor/components/table/models/cell-data.model.d.ts +1 -1
- package/lib/editor/components/table/selection/table-selection.d.ts +2 -0
- package/lib/editor/content/constants/editor.const.d.ts +2 -0
- package/lib/editor/content/display-data/display-data.d.ts +103 -0
- package/lib/editor/content/display-data/general-properties.model.d.ts +5 -0
- package/lib/editor/content/display-data/models/paragraph-info.model.d.ts +9 -0
- package/lib/editor/content/display-data/paragraph.d.ts +1 -0
- package/lib/editor/content/display-data/text-line-info.d.ts +1 -0
- package/lib/editor/content/display-data/toolbar-styles.interface.d.ts +1 -1
- package/lib/editor/content/helpers/content-style.helper.d.ts +1 -2
- package/lib/editor/content/helpers/display-token.helper.d.ts +6 -0
- package/lib/editor/display/layers/text.layer.d.ts +1 -2
- package/lib/editor/display/print/print.renderer.d.ts +0 -2
- package/lib/editor/execution/edit.session.d.ts +11 -59
- package/lib/editor/execution/editor.d.ts +9 -6
- package/lib/editor/execution/helpers/format-style.helper.d.ts +0 -2
- package/lib/editor/execution/helpers/image.helpet.d.ts +4 -0
- package/lib/editor/execution/regulator.service.d.ts +1 -1
- package/lib/editor/gadgets/numbering/numbering-paragraph-style.model.d.ts +6 -0
- package/lib/editor/gadgets/numbering/numbering.helper.d.ts +10 -3
- package/lib/editor/interaction/editor.service.d.ts +12 -3
- package/lib/editor/operations/helpers/link-operations.helper.d.ts +5 -3
- package/lib/editor/positioning/content.helper.d.ts +6 -5
- package/lib/editor/positioning/position.helper.d.ts +3 -3
- package/lib/editor/positioning/selection.d.ts +3 -0
- package/package.json +1 -1
- package/src/_ngx-noder.theme.scss +31 -2
- package/esm2022/lib/editor/content/display-data/document.mjs +0 -134
- package/esm2022/lib/editor/content/display-data/pages.wrap.mjs +0 -226
- package/esm2022/lib/editor/execution/helpers/delta.helper.mjs +0 -18
- package/lib/editor/content/display-data/document.d.ts +0 -56
- package/lib/editor/content/display-data/pages.wrap.d.ts +0 -42
- package/lib/editor/execution/helpers/delta.helper.d.ts +0 -6
|
@@ -3,7 +3,6 @@ import { Alignment } from '../positioning/alignments.const';
|
|
|
3
3
|
import { BaseHandler } from './base.handler';
|
|
4
4
|
import { BreakTypes } from '../gadgets/page-break/break-types.enum';
|
|
5
5
|
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
6
|
-
import { TextStyleModel } from '../../models/generated/text-style.model';
|
|
7
6
|
export class InputHandler extends BaseHandler {
|
|
8
7
|
constructor(textarea, editor) {
|
|
9
8
|
super();
|
|
@@ -33,18 +32,21 @@ export class InputHandler extends BaseHandler {
|
|
|
33
32
|
if (editor.isViewOnly) {
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
35
|
+
editor.enableSelection();
|
|
36
36
|
editor.onInput();
|
|
37
37
|
}
|
|
38
38
|
onCut(editor, event) {
|
|
39
39
|
if (editor.isViewOnly) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
|
+
editor.enableSelection();
|
|
42
43
|
editor.onCut(event);
|
|
43
44
|
}
|
|
44
45
|
onPaste(editor, event) {
|
|
45
46
|
if (editor.isViewOnly) {
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
49
|
+
editor.enableSelection();
|
|
48
50
|
editor.onPaste(event);
|
|
49
51
|
}
|
|
50
52
|
onKeyDown(event, editor) {
|
|
@@ -64,6 +66,7 @@ export class InputHandler extends BaseHandler {
|
|
|
64
66
|
else {
|
|
65
67
|
return;
|
|
66
68
|
}
|
|
69
|
+
editor.enableSelection();
|
|
67
70
|
event.preventDefault();
|
|
68
71
|
}
|
|
69
72
|
selectAll(editor) {
|
|
@@ -100,9 +103,9 @@ export class InputHandler extends BaseHandler {
|
|
|
100
103
|
this.actionsWithScroll['Ctrl-KeyL'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.left }));
|
|
101
104
|
this.actionsWithScroll['Ctrl-KeyE'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.center }));
|
|
102
105
|
this.actionsWithScroll['Ctrl-KeyR'] = () => editor.applyParagraphStyles(new ParagraphStyleModel({ alignment: Alignment.right }));
|
|
103
|
-
this.actionsWithScroll['Ctrl-KeyB'] = () => editor.
|
|
104
|
-
this.actionsWithScroll['Ctrl-KeyI'] = () => editor.
|
|
105
|
-
this.actionsWithScroll['Ctrl-KeyU'] = () => editor.
|
|
106
|
+
this.actionsWithScroll['Ctrl-KeyB'] = () => editor.applyTextStyleBold();
|
|
107
|
+
this.actionsWithScroll['Ctrl-KeyI'] = () => editor.applyTextStyleItalic();
|
|
108
|
+
this.actionsWithScroll['Ctrl-KeyU'] = () => editor.applyTextStyleUnderline();
|
|
106
109
|
this.actionsWithScroll['Ctrl-Enter'] = () => editor.insertBreak(BreakTypes.Page);
|
|
107
110
|
this.actionsWithScroll['Shift-Enter'] = () => editor.insertBreak(BreakTypes.TextWrapping);
|
|
108
111
|
this.actionsWithScroll['Tab'] = () => editor.insertTab();
|
|
@@ -146,4 +149,4 @@ export class InputHandler extends BaseHandler {
|
|
|
146
149
|
this.actionsWithSelection['ArrowRight'] = () => editor.selection.navigateRight(editor.session);
|
|
147
150
|
}
|
|
148
151
|
}
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9pbnB1dC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFtQnpDLFlBQVksUUFBYyxFQUFFLE1BQWM7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFMSyxzQkFBaUIsR0FBdUQsRUFBRSxDQUFDO1FBRTNFLHlCQUFvQixHQUF1RCxFQUFFLENBQUM7UUFJM0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENB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ZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGlnbm1lbnQgfSBmcm9tICcuLi9wb3NpdGlvbmluZy9hbGlnbm1lbnRzLmNvbnN0JztcbmltcG9ydCB7IEJhc2VIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLmhhbmRsZXInO1xuaW1wb3J0IHsgQnJlYWtUeXBlcyB9IGZyb20gJy4uL2dhZGdldHMvcGFnZS1icmVhay9icmVhay10eXBlcy5lbnVtJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4uL2V4ZWN1dGlvbi9lZGl0b3InO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIElucHV0SGFuZGxlciBleHRlbmRzIEJhc2VIYW5kbGVyIHtcbiAgICByZWFkb25seSB0ZXh0YXJlYUtleURvd24kOiBTdWJzY3JpcHRpb247XG5cbiAgICByZWFkb25seSB0ZXh0YXJlYUJsdXIkOiBTdWJzY3JpcHRpb247XG5cbiAgICByZWFkb25seSB0ZXh0YXJlYUZvY3VzJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFJbnB1dCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhQ3V0JDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFDb3B5JDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFQYXN0ZSQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aW9uc1dpdGhTY3JvbGw6IHsgW2tleTogc3RyaW5nXTogKGV2ZW50PzogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZCB9ID0ge307XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNXaXRoU2VsZWN0aW9uOiB7IFtrZXk6IHN0cmluZ106IChldmVudD86IEtleWJvYXJkRXZlbnQpID0+IHZvaWQgfSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IodGV4dGFyZWE6IE5vZGUsIGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFLZXlEb3duJCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2tleWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLm9uS2V5RG93bihldmVudCwgZWRpdG9yKSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFCbHVyJCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4gZWRpdG9yLm9uQmx1cigpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUZvY3VzJCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2ZvY3VzJykuc3Vic2NyaWJlKCgpID0+IGVkaXRvci5vbkZvY3VzKCkpO1xuICAgICAgICB0aGlzLnRleHRhcmVhSW5wdXQkID0gZnJvbUV2ZW50KHRleHRhcmVhLCAnaW5wdXQnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbklucHV0KGVkaXRvcikpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQ3V0JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2N1dCcpLnN1YnNjcmliZSgoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB0aGlzLm9uQ3V0KGVkaXRvciwgZXZlbnQpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUNvcHkkID0gZnJvbUV2ZW50KHRleHRhcmVhLCAnY29weScpLnN1YnNjcmliZSgoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiBlZGl0b3Iub25Db3B5KGV2ZW50KSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFQYXN0ZSQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdwYXN0ZScpLnN1YnNjcmliZSgoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB0aGlzLm9uUGFzdGUoZWRpdG9yLCBldmVudCkpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zKGVkaXRvcik7XG4gICAgICAgIHRoaXMuZmlsbEFjdGlvbnNXaXRoU2Nyb2xsKGVkaXRvcik7XG4gICAgICAgIHRoaXMuZmlsbEFjdGlvbnNXaXRoU2VsZWN0aW9uKGVkaXRvcik7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUtleURvd24kPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQmx1ciQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFGb2N1cyQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFJbnB1dCQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFDdXQkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQ29weSQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFQYXN0ZSQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbklucHV0KGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIGlmIChlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5vbklucHV0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkN1dChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5vbkN1dChldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblBhc3RlKGVkaXRvcjogRWRpdG9yLCBldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVkaXRvci5pc1ZpZXdPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWRpdG9yLm9uUGFzdGUoZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXlDb21iaW5hdGlvbiA9IHRoaXMuZ2V0S2V5Q29tYmluYXRpb24oZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5hY3Rpb25zW2tleUNvbWJpbmF0aW9uXSkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zW2tleUNvbWJpbmF0aW9uXShldmVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hY3Rpb25zV2l0aFNjcm9sbFtrZXlDb21iaW5hdGlvbl0gJiYgIWVkaXRvci5pc1ZpZXdPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsW2tleUNvbWJpbmF0aW9uXShldmVudCk7XG4gICAgICAgICAgICBlZGl0b3Iuc2Nyb2xsQ3Vyc29ySW50b01haW5WaWV3KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvbltrZXlDb21iaW5hdGlvbl0pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25ba2V5Q29tYmluYXRpb25dKGV2ZW50KTtcbiAgICAgICAgICAgIGVkaXRvci5zY3JvbGxDdXJzb3JJbnRvTWFpblZpZXcoKTtcbiAgICAgICAgICAgIGVkaXRvci5vblNlbGVjdGlvbkNoYW5nZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RBbGwoZWRpdG9yLnNlc3Npb24ubW9kZWwpO1xuICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZmlsbEFjdGlvbnMoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDdHJsLUtleUEnXSA9ICgpID0+IHRoaXMuc2VsZWN0QWxsKGVkaXRvcik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snQ29tbWFuZC1LZXlBJ10gPSAoKSA9PiB0aGlzLnNlbGVjdEFsbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ0N0cmwtS2V5RiddID0gKCkgPT4gZWRpdG9yLm9wZW5TZWFyY2goKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDb21tYW5kLUtleUYnXSA9ICgpID0+IGVkaXRvci5vcGVuU2VhcmNoKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZURvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3RQYWdlRG93bigpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ1BhZ2VEb3duJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VEb3duKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0UGFnZVVwKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VVcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsbEFjdGlvbnNXaXRoU2Nyb2xsKGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5WiddID0gKCkgPT4gZWRpdG9yLnVuZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiBlZGl0b3IudW5kbygpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVknXSA9ICgpID0+IGVkaXRvci5yZWRvKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0NvbW1hbmQtS2V5WSddID0gKCkgPT4gZWRpdG9yLnJlZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnU2hpZnQtRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQmFja3NwYWNlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVMZWZ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDb21tYW5kLUJhY2tzcGFjZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVRvTGluZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLURlbGV0ZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVdvcmRSaWdodCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlMJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5sZWZ0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlFJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5jZW50ZXIgfSkpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVInXSA9ICgpID0+IGVkaXRvci5hcHBseVBhcmFncmFwaFN0eWxlcyhuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogQWxpZ25tZW50LnJpZ2h0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlCJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlUZXh0U3R5bGVzKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGJvbGQ6ICFlZGl0b3Iuc2Vzc2lvbi5zdHlsZXNNYXAuYm9sZCB9KSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SSddID0gKCkgPT5cbiAgICAgICAgICAgIGVkaXRvci5hcHBseVRleHRTdHlsZXMobmV3IFRleHRTdHlsZU1vZGVsKHsgaXRhbGljOiAhZWRpdG9yLnNlc3Npb24uc3R5bGVzTWFwLml0YWxpYyB9KSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5VSddID0gKCkgPT5cbiAgICAgICAgICAgIGVkaXRvci5hcHBseVRleHRTdHlsZXMobmV3IFRleHRTdHlsZU1vZGVsKHsgdW5kZXJsaW5lOiAhZWRpdG9yLnNlc3Npb24uc3R5bGVzTWFwLnVuZGVybGluZSB9KSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtRW50ZXInXSA9ICgpID0+IGVkaXRvci5pbnNlcnRCcmVhayhCcmVha1R5cGVzLlBhZ2UpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1FbnRlciddID0gKCkgPT4gZWRpdG9yLmluc2VydEJyZWFrKEJyZWFrVHlwZXMuVGV4dFdyYXBwaW5nKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnVGFiJ10gPSAoKSA9PiBlZGl0b3IuaW5zZXJ0VGFiKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SyddID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBlZGl0b3Iub25Ib3RLZXlEb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLVNoaWZ0LUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtSG9tZSddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1TaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlRmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtRW5kJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93RG93biddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dEb3duJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdERvd24oZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVEb3duKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0V29yZExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVTdGFydChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydIb21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZVN0YXJ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dMZWZ0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0N0cmwtQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0TGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ1NoaWZ0LUVuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0VuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUxpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICB9XG59XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9pbnB1dC5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRW5GLE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztJQW1CekMsWUFBWSxRQUFjLEVBQUUsTUFBYztRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQUxLLHNCQUFpQixHQUF1RCxFQUFFLENBQUM7UUFFM0UseUJBQW9CLEdBQXVELEVBQUUsQ0FBQztRQUkzRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMs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Q0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25HLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxpZ25tZW50IH0gZnJvbSAnLi4vcG9zaXRpb25pbmcvYWxpZ25tZW50cy5jb25zdCc7XG5pbXBvcnQgeyBCYXNlSGFuZGxlciB9IGZyb20gJy4vYmFzZS5oYW5kbGVyJztcbmltcG9ydCB7IEJyZWFrVHlwZXMgfSBmcm9tICcuLi9nYWRnZXRzL3BhZ2UtYnJlYWsvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICcuLi9leGVjdXRpb24vZWRpdG9yJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBJbnB1dEhhbmRsZXIgZXh0ZW5kcyBCYXNlSGFuZGxlciB7XG4gICAgcmVhZG9ubHkgdGV4dGFyZWFLZXlEb3duJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFCbHVyJDogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVhZG9ubHkgdGV4dGFyZWFGb2N1cyQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhSW5wdXQkOiBTdWJzY3JpcHRpb247XG5cbiAgICByZWFkb25seSB0ZXh0YXJlYUN1dCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhQ29weSQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIHJlYWRvbmx5IHRleHRhcmVhUGFzdGUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnNXaXRoU2Nyb2xsOiB7IFtrZXk6IHN0cmluZ106IChldmVudD86IEtleWJvYXJkRXZlbnQpID0+IHZvaWQgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zV2l0aFNlbGVjdGlvbjogeyBba2V5OiBzdHJpbmddOiAoZXZlbnQ/OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkIH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHRleHRhcmVhOiBOb2RlLCBlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRleHRhcmVhS2V5RG93biQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdrZXlkb3duJykuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5vbktleURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQmx1ciQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdibHVyJykuc3Vic2NyaWJlKCgpID0+IGVkaXRvci5vbkJsdXIoKSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFGb2N1cyQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiBlZGl0b3Iub25Gb2N1cygpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUlucHV0JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2lucHV0Jykuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbnB1dChlZGl0b3IpKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUN1dCQgPSBmcm9tRXZlbnQodGV4dGFyZWEsICdjdXQnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vbkN1dChlZGl0b3IsIGV2ZW50KSk7XG4gICAgICAgIHRoaXMudGV4dGFyZWFDb3B5JCA9IGZyb21FdmVudCh0ZXh0YXJlYSwgJ2NvcHknKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gZWRpdG9yLm9uQ29weShldmVudCkpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkID0gZnJvbUV2ZW50KHRleHRhcmVhLCAncGFzdGUnKS5zdWJzY3JpYmUoKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4gdGhpcy5vblBhc3RlKGVkaXRvciwgZXZlbnQpKTtcbiAgICAgICAgdGhpcy5maWxsQWN0aW9ucyhlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNjcm9sbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3IpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGFyZWFLZXlEb3duJD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUJsdXIkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhRm9jdXMkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhSW5wdXQkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhQ3V0JD8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy50ZXh0YXJlYUNvcHkkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRleHRhcmVhUGFzdGUkPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25JbnB1dChlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vbklucHV0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkN1dChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IENsaXBib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVkaXRvci5lbmFibGVTZWxlY3Rpb24oKTtcbiAgICAgICAgZWRpdG9yLm9uQ3V0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUGFzdGUoZWRpdG9yOiBFZGl0b3IsIGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZWRpdG9yLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGVkaXRvci5vblBhc3RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qga2V5Q29tYmluYXRpb24gPSB0aGlzLmdldEtleUNvbWJpbmF0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0pIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9uc1trZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxba2V5Q29tYmluYXRpb25dICYmICFlZGl0b3IuaXNWaWV3T25seSkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFtrZXlDb21iaW5hdGlvbl0oZXZlbnQpO1xuICAgICAgICAgICAgZWRpdG9yLnNjcm9sbEN1cnNvckludG9NYWluVmlldygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25ba2V5Q29tYmluYXRpb25dKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uW2tleUNvbWJpbmF0aW9uXShldmVudCk7XG4gICAgICAgICAgICBlZGl0b3Iuc2Nyb2xsQ3Vyc29ySW50b01haW5WaWV3KCk7XG4gICAgICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RBbGwoZWRpdG9yLnNlc3Npb24ubW9kZWwpO1xuICAgICAgICBlZGl0b3Iub25TZWxlY3Rpb25DaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZmlsbEFjdGlvbnMoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDdHJsLUtleUEnXSA9ICgpID0+IHRoaXMuc2VsZWN0QWxsKGVkaXRvcik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snQ29tbWFuZC1LZXlBJ10gPSAoKSA9PiB0aGlzLnNlbGVjdEFsbChlZGl0b3IpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ0N0cmwtS2V5RiddID0gKCkgPT4gZWRpdG9yLm9wZW5TZWFyY2goKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zWydDb21tYW5kLUtleUYnXSA9ICgpID0+IGVkaXRvci5vcGVuU2VhcmNoKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZURvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3RQYWdlRG93bigpO1xuICAgICAgICB0aGlzLmFjdGlvbnNbJ1BhZ2VEb3duJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VEb3duKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snU2hpZnQtUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0UGFnZVVwKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1snUGFnZVVwJ10gPSAoKSA9PiBlZGl0b3IuZ290b1BhZ2VVcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsbEFjdGlvbnNXaXRoU2Nyb2xsKGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5WiddID0gKCkgPT4gZWRpdG9yLnVuZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiBlZGl0b3IudW5kbygpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVknXSA9ICgpID0+IGVkaXRvci5yZWRvKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0NvbW1hbmQtS2V5WSddID0gKCkgPT4gZWRpdG9yLnJlZG8oKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnU2hpZnQtRGVsZXRlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQmFja3NwYWNlJ10gPSAoKSA9PiBlZGl0b3IucmVtb3ZlTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVMZWZ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDb21tYW5kLUJhY2tzcGFjZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVRvTGluZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0FsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ29tbWFuZC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVUb0xpbmVFbmQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1CYWNrc3BhY2UnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkTGVmdCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLURlbGV0ZSddID0gKCkgPT4gZWRpdG9yLnJlbW92ZVdvcmRSaWdodCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUFsdC1EZWxldGUnXSA9ICgpID0+IGVkaXRvci5yZW1vdmVXb3JkUmlnaHQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlMJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5sZWZ0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlFJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlQYXJhZ3JhcGhTdHlsZXMobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQ6IEFsaWdubWVudC5jZW50ZXIgfSkpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydDdHJsLUtleVInXSA9ICgpID0+IGVkaXRvci5hcHBseVBhcmFncmFwaFN0eWxlcyhuZXcgUGFyYWdyYXBoU3R5bGVNb2RlbCh7IGFsaWdubWVudDogQWxpZ25tZW50LnJpZ2h0IH0pKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnQ3RybC1LZXlCJ10gPSAoKSA9PiBlZGl0b3IuYXBwbHlUZXh0U3R5bGVCb2xkKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlSXRhbGljKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5VSddID0gKCkgPT4gZWRpdG9yLmFwcGx5VGV4dFN0eWxlVW5kZXJsaW5lKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtRW50ZXInXSA9ICgpID0+IGVkaXRvci5pbnNlcnRCcmVhayhCcmVha1R5cGVzLlBhZ2UpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2Nyb2xsWydTaGlmdC1FbnRlciddID0gKCkgPT4gZWRpdG9yLmluc2VydEJyZWFrKEJyZWFrVHlwZXMuVGV4dFdyYXBwaW5nKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNjcm9sbFsnVGFiJ10gPSAoKSA9PiBlZGl0b3IuaW5zZXJ0VGFiKCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTY3JvbGxbJ0N0cmwtS2V5SyddID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBlZGl0b3Iub25Ib3RLZXlEb3duKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbGxBY3Rpb25zV2l0aFNlbGVjdGlvbihlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLVNoaWZ0LUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtSG9tZSddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1TaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUhvbWUnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlU3RhcnQoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlRmlsZVN0YXJ0KCk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUZpbGVTdGFydCgpO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1VwJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dVcCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVVwKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0RmlsZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0NvbW1hbmQtU2hpZnQtRW5kJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdEZpbGVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93RG93biddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1FbmQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVGaWxlRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dEb3duJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdERvd24oZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0Rvd24nXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVEb3duKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0V29yZExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDdHJsLUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93TGVmdCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1Ib21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVTdGFydChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1BcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lU3RhcnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydIb21lJ10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZVN0YXJ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnU2hpZnQtQXJyb3dMZWZ0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExlZnQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydBcnJvd0xlZnQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMZWZ0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ3RybC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0N0cmwtQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVdvcmRSaWdodChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0FsdC1TaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdExpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydDb21tYW5kLVNoaWZ0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24uc2VsZWN0TGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ1NoaWZ0LUVuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5zZWxlY3RMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQWx0LUFycm93UmlnaHQnXSA9ICgpID0+IGVkaXRvci5zZWxlY3Rpb24ubmF2aWdhdGVMaW5lRW5kKGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQ29tbWFuZC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLm5hdmlnYXRlTGluZUVuZChlZGl0b3Iuc2Vzc2lvbik7XG4gICAgICAgIHRoaXMuYWN0aW9uc1dpdGhTZWxlY3Rpb25bJ0VuZCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZUxpbmVFbmQoZWRpdG9yLnNlc3Npb24pO1xuICAgICAgICB0aGlzLmFjdGlvbnNXaXRoU2VsZWN0aW9uWydTaGlmdC1BcnJvd1JpZ2h0J10gPSAoKSA9PiBlZGl0b3Iuc2VsZWN0aW9uLnNlbGVjdFJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zV2l0aFNlbGVjdGlvblsnQXJyb3dSaWdodCddID0gKCkgPT4gZWRpdG9yLnNlbGVjdGlvbi5uYXZpZ2F0ZVJpZ2h0KGVkaXRvci5zZXNzaW9uKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -29,6 +29,7 @@ export class MouseHandler {
|
|
|
29
29
|
editor.onMouseClick(event);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
+
editor.enableSelection();
|
|
32
33
|
this.clicks = event.detail > 1 && this.clicks < 4 ? this.clicks + 1 : 1;
|
|
33
34
|
switch (this.clicks) {
|
|
34
35
|
case 1:
|
|
@@ -46,4 +47,4 @@ export class MouseHandler {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9pbnRlcmFjdGlvbi9tb3VzZS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFlBQVk7SUFXckIsWUFBWSxTQUFlLEVBQUUsTUFBYztRQVZuQyxXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBV2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQzthQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3RCLFNBQVMsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7YUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLE1BQWM7UUFDdEQsSUFBSyxLQUFLLENBQUMsTUFBc0IsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsT0FBTztTQUNWO1FBRUQsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU07WUFDVixLQUFLLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsTUFBTTtZQUNWLEtBQUssQ0FBQztnQkFDRixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixNQUFNO1NBQ2I7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4uL2V4ZWN1dGlvbi9lZGl0b3InO1xuaW1wb3J0IHsgTW91c2VCdXR0b24gfSBmcm9tICcuL21vdXNlLWJ1dHRvbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIE1vdXNlSGFuZGxlciB7XG4gICAgcHJpdmF0ZSBjbGlja3MgPSAwO1xuXG4gICAgZG9jdW1lbnRNb3VzZU1vdmUkOiBTdWJzY3JpcHRpb247XG5cbiAgICBkb2N1bWVudE1vdXNlVXAkOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb250YWluZXJXaGVlbCQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnRhaW5lck1vdXNlRG93biQ6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lcjogTm9kZSwgZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJXaGVlbCQgPSBmcm9tRXZlbnQoY29udGFpbmVyLCAnd2hlZWwnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVdoZWVsKGV2ZW50KSk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyTW91c2VEb3duJCA9IGZyb21FdmVudChjb250YWluZXIsICdtb3VzZWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uTXVsdGlNb3VzZURvd24oZXZlbnQsIGVkaXRvcikpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyV2hlZWwkPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lck1vdXNlRG93biQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZW5kTW91c2VQcmVzcygpO1xuICAgIH1cblxuICAgIHN0YXJ0TW91c2VQcmVzcyhlZGl0b3I6IEVkaXRvcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVuZE1vdXNlUHJlc3MoKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlTW92ZSQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDIwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBlZGl0b3Iub25Nb3VzZVByZXNzZWRNb3ZlKGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlVXAkID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVuZE1vdXNlUHJlc3MoKSk7XG4gICAgfVxuXG4gICAgZW5kTW91c2VQcmVzcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlTW92ZSQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRNb3VzZVVwJD8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTXVsdGlNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGVkaXRvcjogRWRpdG9yKTogdm9pZCB7XG4gICAgICAgIGlmICgoZXZlbnQuYnV0dG9uIGFzIE1vdXNlQnV0dG9uKSAhPT0gTW91c2VCdXR0b24uTGVmdCkge1xuICAgICAgICAgICAgZWRpdG9yLm9uTW91c2VDbGljayhldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBlZGl0b3IuZW5hYmxlU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xpY2tzID0gZXZlbnQuZGV0YWlsID4gMSAmJiB0aGlzLmNsaWNrcyA8IDQgPyB0aGlzLmNsaWNrcyArIDEgOiAxO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY2xpY2tzKSB7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uTGVmdENsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBlZGl0b3Iub25Eb3VibGVDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgZWRpdG9yLm9uVHJpcGxlQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgIGVkaXRvci5vblF1YWRDbGljayhldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { ContentStyleHelper } from '../../content/helpers/content-style.helper';
|
|
2
|
+
import { FormatModel } from '../../../models/generated/format.model';
|
|
1
3
|
import { FormatStyleHelper } from '../../execution/helpers/format-style.helper';
|
|
4
|
+
import { TextStyleModel } from '../../../models/generated/text-style.model';
|
|
2
5
|
export class FormatOperationsHelper {
|
|
3
6
|
static removeContent(formats, startIndex, endIndex) {
|
|
4
7
|
const length = endIndex - startIndex + 1;
|
|
@@ -49,7 +52,34 @@ export class FormatOperationsHelper {
|
|
|
49
52
|
textFormats.forEach(x => this.apply(formats, x.startIndex, x.endIndex, x.textStyle));
|
|
50
53
|
}
|
|
51
54
|
static apply(formats, startIndex, endIndex, style) {
|
|
52
|
-
|
|
55
|
+
let firstIndex = formats.findIndex(x => x.endIndex >= startIndex);
|
|
56
|
+
if (formats[firstIndex].startIndex < startIndex) {
|
|
57
|
+
const model = new FormatModel({
|
|
58
|
+
startIndex: formats[firstIndex].startIndex,
|
|
59
|
+
endIndex: startIndex - 1,
|
|
60
|
+
textStyle: new TextStyleModel(formats[firstIndex].textStyle)
|
|
61
|
+
});
|
|
62
|
+
formats[firstIndex].startIndex = startIndex;
|
|
63
|
+
formats.splice(firstIndex, 0, model);
|
|
64
|
+
firstIndex++;
|
|
65
|
+
}
|
|
66
|
+
let lastIndex = firstIndex;
|
|
67
|
+
while (formats[lastIndex].endIndex < endIndex) {
|
|
68
|
+
lastIndex++;
|
|
69
|
+
}
|
|
70
|
+
if (formats[lastIndex].endIndex > endIndex) {
|
|
71
|
+
const model = new FormatModel({
|
|
72
|
+
startIndex: endIndex + 1,
|
|
73
|
+
endIndex: formats[lastIndex].endIndex,
|
|
74
|
+
textStyle: new TextStyleModel(formats[lastIndex].textStyle)
|
|
75
|
+
});
|
|
76
|
+
formats[lastIndex].endIndex = endIndex;
|
|
77
|
+
formats.splice(lastIndex + 1, 0, model);
|
|
78
|
+
}
|
|
79
|
+
for (let i = firstIndex; i <= lastIndex; i++) {
|
|
80
|
+
formats[i].textStyle = ContentStyleHelper.combineTextStyles(style, formats[i].textStyle);
|
|
81
|
+
}
|
|
82
|
+
FormatStyleHelper.mergeFormats(formats, startIndex - 1, endIndex + 1);
|
|
53
83
|
}
|
|
54
84
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9mb3JtYXQtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFHaEYsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixNQUFNLENBQUMsYUFBYSxDQUFDLE9BQXNCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUM3RSxNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsRUFBRTtnQkFDeEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxJQUFJLFFBQVEsRUFBRTtnQkFDeEQsQ0FBQyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7YUFDN0I7aUJBQU0sSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsRUFBRTtnQkFDaEMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO2dCQUNwRCxDQUFDLENBQUMsUUFBUSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRTtnQkFDOUIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGlCQUFpQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFzQixFQUFFLEtBQWEsRUFBRSxVQUFrQjtRQUMxRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pFLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO2FBQzlCO1lBQ0QsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLENBQUMsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsS0FBcUI7UUFDdkcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFzQixFQUFFLEtBQWEsRUFBRSxVQUFrQixFQUFFLFdBQTBCO1FBQ2hHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFzQixFQUFFLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxVQUFrQjtRQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXNCLEVBQUUsV0FBMEI7UUFDcEUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFzQixFQUFFLFVBQWtCLEVBQUUsUUFBZ0IsRUFBRSxLQUFxQjtRQUM1RixpQkFBaUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWF0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2Zvcm1hdC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRTdHlsZUhlbHBlciB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9oZWxwZXJzL2Zvcm1hdC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRm9ybWF0T3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIHJlbW92ZUNvbnRlbnQoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGVuZEluZGV4IC0gc3RhcnRJbmRleCArIDE7XG4gICAgICAgIGZvciAobGV0IGkgPSBmb3JtYXRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoZm9ybWF0c1tpXS5zdGFydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgZm9ybWF0c1tpXS5lbmRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGZvcm1hdHMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9ybWF0cy5mb3JFYWNoKHggPT4ge1xuICAgICAgICAgICAgaWYgKHguc3RhcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguc3RhcnRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguc3RhcnRJbmRleCA9IHN0YXJ0SW5kZXg7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHguc3RhcnRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5zdGFydEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh4LmVuZEluZGV4ID49IHN0YXJ0SW5kZXggJiYgeC5lbmRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguZW5kSW5kZXggPSBzdGFydEluZGV4IC0gMTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoeC5lbmRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgeC5lbmRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIEZvcm1hdFN0eWxlSGVscGVyLm1lcmdlRm9ybWF0cyhmb3JtYXRzLCBzdGFydEluZGV4IC0gMSwgc3RhcnRJbmRleCk7XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydENvbnRlbnQoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgaW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGZvcm1hdHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4LnN0YXJ0SW5kZXggPiBpbmRleCB8fCAoeC5zdGFydEluZGV4ID09PSBpbmRleCAmJiBpbmRleCAhPT0gMCkpIHtcbiAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh4LmVuZEluZGV4ID49IGluZGV4IC0gMSkge1xuICAgICAgICAgICAgICAgIHguZW5kSW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGluc2VydFN0eWxlZENvbnRlbnQoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgaW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyLCBzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGZvcm1hdHMsIGluZGV4LCB0ZXh0TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5hcHBseShmb3JtYXRzLCBpbmRleCwgaW5kZXggKyB0ZXh0TGVuZ3RoIC0gMSwgc3R5bGUpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlKGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlciwgdGV4dEZvcm1hdHM6IEZvcm1hdE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnNlcnRDb250ZW50KGZvcm1hdHMsIGluZGV4LCB0ZXh0TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5yZXN0b3JlRm9ybWF0cyhmb3JtYXRzLCB0ZXh0Rm9ybWF0cyk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlcGxhY2VDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgdGV4dExlbmd0aDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ29udGVudChmb3JtYXRzLCBzdGFydEluZGV4LCBlbmRJbmRleCk7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChmb3JtYXRzLCBzdGFydEluZGV4LCB0ZXh0TGVuZ3RoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVzdG9yZUZvcm1hdHMoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgdGV4dEZvcm1hdHM6IEZvcm1hdE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGV4dEZvcm1hdHMuZm9yRWFjaCh4ID0+IHRoaXMuYXBwbHkoZm9ybWF0cywgeC5zdGFydEluZGV4LCB4LmVuZEluZGV4LCB4LnRleHRTdHlsZSkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBseShmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBGb3JtYXRTdHlsZUhlbHBlci5hcHBseVRleHRTdHlsZXMoZm9ybWF0cywgc3RhcnRJbmRleCwgZW5kSW5kZXgsIHN0eWxlKTtcbiAgICB9XG59XG4iXX0=
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW9wZXJhdGlvbnMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL29wZXJhdGlvbnMvaGVscGVycy9mb3JtYXQtb3BlcmF0aW9ucy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1RSxNQUFNLE9BQU8sc0JBQXNCO0lBQy9CLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBc0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQzdFLE1BQU0sTUFBTSxHQUFHLFFBQVEsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO2dCQUN4RSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxFQUFFO2dCQUN4RCxDQUFDLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQzthQUM3QjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxFQUFFO2dCQUNoQyxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxVQUFVLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLEVBQUU7Z0JBQ3BELENBQUMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQzthQUMvQjtpQkFBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxFQUFFO2dCQUM5QixDQUFDLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCO1FBQzFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDakUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUM7YUFDOUI7WUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBc0IsRUFBRSxLQUFhLEVBQUUsVUFBa0IsRUFBRSxLQUFxQjtRQUN2RyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBRyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXNCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsV0FBMEI7UUFDaEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQXNCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQixFQUFFLFVBQWtCO1FBQ2xHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBc0IsRUFBRSxXQUEwQjtRQUNwRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQXNCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQixFQUFFLEtBQXFCO1FBQzVGLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsR0FBRyxVQUFVLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUM7Z0JBQzFCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVTtnQkFDMUMsUUFBUSxFQUFFLFVBQVUsR0FBRyxDQUFDO2dCQUN4QixTQUFTLEVBQUUsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUMvRCxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUM1QyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckMsVUFBVSxFQUFFLENBQUM7U0FDaEI7UUFDRCxJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDM0IsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRTtZQUMzQyxTQUFTLEVBQUUsQ0FBQztTQUNmO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsRUFBRTtZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQztnQkFDMUIsVUFBVSxFQUFFLFFBQVEsR0FBRyxDQUFDO2dCQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVE7Z0JBQ3JDLFNBQVMsRUFBRSxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQzlELENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0M7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RjtRQUNELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudFN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vY29udGVudC9oZWxwZXJzL2NvbnRlbnQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IEZvcm1hdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9mb3JtYXQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0U3R5bGVIZWxwZXIgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vaGVscGVycy9mb3JtYXQtc3R5bGUuaGVscGVyJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEZvcm1hdE9wZXJhdGlvbnNIZWxwZXIge1xuICAgIHN0YXRpYyByZW1vdmVDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBsZW5ndGggPSBlbmRJbmRleCAtIHN0YXJ0SW5kZXggKyAxO1xuICAgICAgICBmb3IgKGxldCBpID0gZm9ybWF0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKGZvcm1hdHNbaV0uc3RhcnRJbmRleCA+PSBzdGFydEluZGV4ICYmIGZvcm1hdHNbaV0uZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBmb3JtYXRzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm1hdHMuZm9yRWFjaCh4ID0+IHtcbiAgICAgICAgICAgIGlmICh4LnN0YXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiB4LnN0YXJ0SW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LnN0YXJ0SW5kZXggPSBzdGFydEluZGV4O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh4LnN0YXJ0SW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguc3RhcnRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeC5lbmRJbmRleCA+PSBzdGFydEluZGV4ICYmIHguZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4ID0gc3RhcnRJbmRleCAtIDE7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHguZW5kSW5kZXggPiBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIHguZW5kSW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBGb3JtYXRTdHlsZUhlbHBlci5tZXJnZUZvcm1hdHMoZm9ybWF0cywgc3RhcnRJbmRleCAtIDEsIHN0YXJ0SW5kZXgpO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBmb3JtYXRzLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBpZiAoeC5zdGFydEluZGV4ID4gaW5kZXggfHwgKHguc3RhcnRJbmRleCA9PT0gaW5kZXggJiYgaW5kZXggIT09IDApKSB7XG4gICAgICAgICAgICAgICAgeC5zdGFydEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoeC5lbmRJbmRleCA+PSBpbmRleCAtIDEpIHtcbiAgICAgICAgICAgICAgICB4LmVuZEluZGV4ICs9IHRleHRMZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbnNlcnRTdHlsZWRDb250ZW50KGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIGluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlciwgc3R5bGU6IFRleHRTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChmb3JtYXRzLCBpbmRleCwgdGV4dExlbmd0aCk7XG4gICAgICAgIHRoaXMuYXBwbHkoZm9ybWF0cywgaW5kZXgsIGluZGV4ICsgdGV4dExlbmd0aCAtIDEsIHN0eWxlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVzdG9yZShmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBpbmRleDogbnVtYmVyLCB0ZXh0TGVuZ3RoOiBudW1iZXIsIHRleHRGb3JtYXRzOiBGb3JtYXRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChmb3JtYXRzLCBpbmRleCwgdGV4dExlbmd0aCk7XG4gICAgICAgIHRoaXMucmVzdG9yZUZvcm1hdHMoZm9ybWF0cywgdGV4dEZvcm1hdHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudChmb3JtYXRzOiBGb3JtYXRNb2RlbFtdLCBzdGFydEluZGV4OiBudW1iZXIsIGVuZEluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNvbnRlbnQoZm9ybWF0cywgc3RhcnRJbmRleCwgZW5kSW5kZXgpO1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQoZm9ybWF0cywgc3RhcnRJbmRleCwgdGV4dExlbmd0aCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc3RvcmVGb3JtYXRzKGZvcm1hdHM6IEZvcm1hdE1vZGVsW10sIHRleHRGb3JtYXRzOiBGb3JtYXRNb2RlbFtdKTogdm9pZCB7XG4gICAgICAgIHRleHRGb3JtYXRzLmZvckVhY2goeCA9PiB0aGlzLmFwcGx5KGZvcm1hdHMsIHguc3RhcnRJbmRleCwgeC5lbmRJbmRleCwgeC50ZXh0U3R5bGUpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXBwbHkoZm9ybWF0czogRm9ybWF0TW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyLCBzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZpcnN0SW5kZXggPSBmb3JtYXRzLmZpbmRJbmRleCh4ID0+IHguZW5kSW5kZXggPj0gc3RhcnRJbmRleCk7XG4gICAgICAgIGlmIChmb3JtYXRzW2ZpcnN0SW5kZXhdLnN0YXJ0SW5kZXggPCBzdGFydEluZGV4KSB7XG4gICAgICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBGb3JtYXRNb2RlbCh7XG4gICAgICAgICAgICAgICAgc3RhcnRJbmRleDogZm9ybWF0c1tmaXJzdEluZGV4XS5zdGFydEluZGV4LFxuICAgICAgICAgICAgICAgIGVuZEluZGV4OiBzdGFydEluZGV4IC0gMSxcbiAgICAgICAgICAgICAgICB0ZXh0U3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbChmb3JtYXRzW2ZpcnN0SW5kZXhdLnRleHRTdHlsZSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZm9ybWF0c1tmaXJzdEluZGV4XS5zdGFydEluZGV4ID0gc3RhcnRJbmRleDtcbiAgICAgICAgICAgIGZvcm1hdHMuc3BsaWNlKGZpcnN0SW5kZXgsIDAsIG1vZGVsKTtcbiAgICAgICAgICAgIGZpcnN0SW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICBsZXQgbGFzdEluZGV4ID0gZmlyc3RJbmRleDtcbiAgICAgICAgd2hpbGUgKGZvcm1hdHNbbGFzdEluZGV4XS5lbmRJbmRleCA8IGVuZEluZGV4KSB7XG4gICAgICAgICAgICBsYXN0SW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybWF0c1tsYXN0SW5kZXhdLmVuZEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IEZvcm1hdE1vZGVsKHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4OiBlbmRJbmRleCArIDEsXG4gICAgICAgICAgICAgICAgZW5kSW5kZXg6IGZvcm1hdHNbbGFzdEluZGV4XS5lbmRJbmRleCxcbiAgICAgICAgICAgICAgICB0ZXh0U3R5bGU6IG5ldyBUZXh0U3R5bGVNb2RlbChmb3JtYXRzW2xhc3RJbmRleF0udGV4dFN0eWxlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmb3JtYXRzW2xhc3RJbmRleF0uZW5kSW5kZXggPSBlbmRJbmRleDtcbiAgICAgICAgICAgIGZvcm1hdHMuc3BsaWNlKGxhc3RJbmRleCArIDEsIDAsIG1vZGVsKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gZmlyc3RJbmRleDsgaSA8PSBsYXN0SW5kZXg7IGkrKykge1xuICAgICAgICAgICAgZm9ybWF0c1tpXS50ZXh0U3R5bGUgPSBDb250ZW50U3R5bGVIZWxwZXIuY29tYmluZVRleHRTdHlsZXMoc3R5bGUsIGZvcm1hdHNbaV0udGV4dFN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgICBGb3JtYXRTdHlsZUhlbHBlci5tZXJnZUZvcm1hdHMoZm9ybWF0cywgc3RhcnRJbmRleCAtIDEsIGVuZEluZGV4ICsgMSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { LinkModel } from '../../../models/generated/link.model';
|
|
2
|
-
import { IndexedElementOperationsHelper } from './indexed-element-operations.helper';
|
|
3
2
|
export class LinkOperationsHelper {
|
|
4
|
-
static
|
|
5
|
-
|
|
3
|
+
static insert(links, link, insertIndex, endIndex) {
|
|
4
|
+
LinkOperationsHelper.insertContent(links, insertIndex, link.length);
|
|
6
5
|
const linkModel = new LinkModel({ insertIndex, link, endIndex });
|
|
7
6
|
const index = links.findIndex(x => x.insertIndex > linkModel.insertIndex);
|
|
8
7
|
if (index < 0) {
|
|
@@ -12,17 +11,53 @@ export class LinkOperationsHelper {
|
|
|
12
11
|
links.splice(index, 0, linkModel);
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
|
-
static
|
|
16
|
-
let link
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
static insertContent(links, insertIndex, textLength) {
|
|
15
|
+
for (let link of links) {
|
|
16
|
+
if (link.insertIndex < insertIndex && link.endIndex > insertIndex) {
|
|
17
|
+
link.endIndex += textLength;
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (link.insertIndex >= insertIndex) {
|
|
21
|
+
link.insertIndex += textLength;
|
|
22
|
+
link.endIndex += textLength;
|
|
23
|
+
}
|
|
19
24
|
}
|
|
20
25
|
}
|
|
21
|
-
static
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
static removeContent(links, startIndex, endIndex) {
|
|
27
|
+
const length = endIndex - startIndex + 1;
|
|
28
|
+
for (let i = links.length - 1; i >= 0; i--) {
|
|
29
|
+
if (links[i].insertIndex > endIndex) {
|
|
30
|
+
links[i].insertIndex -= length;
|
|
31
|
+
links[i].endIndex -= length;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (links[i].insertIndex >= startIndex && links[i].endIndex <= endIndex) {
|
|
35
|
+
links.splice(i, 1);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (links[i].insertIndex <= startIndex && links[i].endIndex >= endIndex) {
|
|
39
|
+
links[i].endIndex -= length;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (links[i].insertIndex < startIndex && links[i].endIndex >= startIndex && links[i].endIndex <= endIndex) {
|
|
43
|
+
links[i].endIndex = startIndex - 1;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (links[i].insertIndex >= startIndex && links[i].insertIndex <= endIndex && links[i].endIndex > endIndex) {
|
|
47
|
+
links[i].insertIndex = startIndex;
|
|
48
|
+
links[i].endIndex -= length;
|
|
49
|
+
}
|
|
25
50
|
}
|
|
26
51
|
}
|
|
52
|
+
static restore(links, startIndex, contentLength, newlinks) {
|
|
53
|
+
this.insertContent(links, startIndex, contentLength);
|
|
54
|
+
let indexInElements = links.findIndex(x => x.insertIndex >= startIndex);
|
|
55
|
+
indexInElements = indexInElements === -1 ? links.length : indexInElements;
|
|
56
|
+
links.splice(indexInElements, 0, ...newlinks);
|
|
57
|
+
}
|
|
58
|
+
static replaceContent(links, startIndex, endIndex, length) {
|
|
59
|
+
this.removeContent(links, startIndex, endIndex);
|
|
60
|
+
this.insertContent(links, startIndex, length);
|
|
61
|
+
}
|
|
27
62
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1vcGVyYXRpb25zLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9vcGVyYXRpb25zL2hlbHBlcnMvbGluay1vcGVyYXRpb25zLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFakUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWtCLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsUUFBZ0I7UUFDakYsb0JBQW9CLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDWCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFrQixFQUFFLFdBQW1CLEVBQUUsVUFBa0I7UUFDNUUsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLFdB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Q0FBQyxjQUFjLENBQUMsS0FBa0IsRUFBRSxVQUFrQixFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUMxRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmtNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbGluay5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rT3BlcmF0aW9uc0hlbHBlciB7XG4gICAgc3RhdGljIGluc2VydChsaW5rczogTGlua01vZGVsW10sIGxpbms6IHN0cmluZywgaW5zZXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBMaW5rT3BlcmF0aW9uc0hlbHBlci5pbnNlcnRDb250ZW50KGxpbmtzLCBpbnNlcnRJbmRleCwgbGluay5sZW5ndGgpO1xuICAgICAgICBjb25zdCBsaW5rTW9kZWwgPSBuZXcgTGlua01vZGVsKHsgaW5zZXJ0SW5kZXgsIGxpbmssIGVuZEluZGV4IH0pO1xuICAgICAgICBjb25zdCBpbmRleCA9IGxpbmtzLmZpbmRJbmRleCh4ID0+IHguaW5zZXJ0SW5kZXggPiBsaW5rTW9kZWwuaW5zZXJ0SW5kZXgpO1xuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgICBsaW5rcy5wdXNoKGxpbmtNb2RlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaW5rcy5zcGxpY2UoaW5kZXgsIDAsIGxpbmtNb2RlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgaW5zZXJ0Q29udGVudChsaW5rczogTGlua01vZGVsW10sIGluc2VydEluZGV4OiBudW1iZXIsIHRleHRMZW5ndGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBsaW5rIG9mIGxpbmtzKSB7XG4gICAgICAgICAgICBpZiAobGluay5pbnNlcnRJbmRleCA8IGluc2VydEluZGV4ICYmIGxpbmsuZW5kSW5kZXggPiBpbnNlcnRJbmRleCkge1xuICAgICAgICAgICAgICAgIGxpbmsuZW5kSW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLmluc2VydEluZGV4ID49IGluc2VydEluZGV4KSB7XG4gICAgICAgICAgICAgICAgbGluay5pbnNlcnRJbmRleCArPSB0ZXh0TGVuZ3RoO1xuICAgICAgICAgICAgICAgIGxpbmsuZW5kSW5kZXggKz0gdGV4dExlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVDb250ZW50KGxpbmtzOiBMaW5rTW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBlbmRJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGVuZEluZGV4IC0gc3RhcnRJbmRleCArIDE7XG4gICAgICAgIGZvciAobGV0IGkgPSBsaW5rcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgaWYgKGxpbmtzW2ldLmluc2VydEluZGV4ID4gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsaW5rc1tpXS5pbnNlcnRJbmRleCAtPSBsZW5ndGg7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uZW5kSW5kZXggLT0gbGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxpbmtzW2ldLmluc2VydEluZGV4ID49IHN0YXJ0SW5kZXggJiYgbGlua3NbaV0uZW5kSW5kZXggPD0gZW5kSW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsaW5rcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGlua3NbaV0uaW5zZXJ0SW5kZXggPD0gc3RhcnRJbmRleCAmJiBsaW5rc1tpXS5lbmRJbmRleCA+PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGxpbmtzW2ldLmVuZEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rc1tpXS5pbnNlcnRJbmRleCA8IHN0YXJ0SW5kZXggJiYgbGlua3NbaV0uZW5kSW5kZXggPj0gc3RhcnRJbmRleCAmJiBsaW5rc1tpXS5lbmRJbmRleCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgICAgICAgIGxpbmtzW2ldLmVuZEluZGV4ID0gc3RhcnRJbmRleCAtIDE7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGlua3NbaV0uaW5zZXJ0SW5kZXggPj0gc3RhcnRJbmRleCAmJiBsaW5rc1tpXS5pbnNlcnRJbmRleCA8PSBlbmRJbmRleCAmJiBsaW5rc1tpXS5lbmRJbmRleCA+IGVuZEluZGV4KSB7XG4gICAgICAgICAgICAgICAgbGlua3NbaV0uaW5zZXJ0SW5kZXggPSBzdGFydEluZGV4O1xuICAgICAgICAgICAgICAgIGxpbmtzW2ldLmVuZEluZGV4IC09IGxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyByZXN0b3JlKGxpbmtzOiBMaW5rTW9kZWxbXSwgc3RhcnRJbmRleDogbnVtYmVyLCBjb250ZW50TGVuZ3RoOiBudW1iZXIsIG5ld2xpbmtzOiBMaW5rTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmluc2VydENvbnRlbnQobGlua3MsIHN0YXJ0SW5kZXgsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICBsZXQgaW5kZXhJbkVsZW1lbnRzID0gbGlua3MuZmluZEluZGV4KHggPT4geC5pbnNlcnRJbmRleCA+PSBzdGFydEluZGV4KTtcbiAgICAgICAgaW5kZXhJbkVsZW1lbnRzID0gaW5kZXhJbkVsZW1lbnRzID09PSAtMSA/IGxpbmtzLmxlbmd0aCA6IGluZGV4SW5FbGVtZW50cztcbiAgICAgICAgbGlua3Muc3BsaWNlKGluZGV4SW5FbGVtZW50cywgMCwgLi4ubmV3bGlua3MpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXBsYWNlQ29udGVudChsaW5rczogTGlua01vZGVsW10sIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDb250ZW50KGxpbmtzLCBzdGFydEluZGV4LCBlbmRJbmRleCk7XG4gICAgICAgIHRoaXMuaW5zZXJ0Q29udGVudChsaW5rcywgc3RhcnRJbmRleCwgbGVuZ3RoKTtcbiAgICB9XG59XG4iXX0=
|