@plait/draw 0.52.0 → 0.54.0
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/constants/geometry.d.ts +3 -1
- package/esm2022/constants/geometry.mjs +4 -2
- package/esm2022/generators/line-auto-complete.generator.mjs +1 -1
- package/esm2022/interfaces/index.mjs +2 -2
- package/esm2022/interfaces/line.mjs +20 -8
- package/esm2022/line.component.mjs +5 -17
- package/esm2022/plugins/with-draw-fragment.mjs +1 -1
- package/esm2022/plugins/with-draw-hotkey.mjs +9 -7
- package/esm2022/plugins/with-draw-resize.mjs +114 -13
- package/esm2022/plugins/with-draw.mjs +5 -12
- package/esm2022/plugins/with-geometry-resize.mjs +8 -5
- package/esm2022/plugins/with-line-auto-complete-reaction.mjs +7 -4
- package/esm2022/plugins/with-line-auto-complete.mjs +17 -16
- package/esm2022/plugins/with-line-bound-reaction.mjs +20 -19
- package/esm2022/plugins/with-line-create.mjs +4 -4
- package/esm2022/plugins/with-line-resize.mjs +10 -11
- package/esm2022/transforms/line.mjs +4 -4
- package/esm2022/utils/geometry.mjs +31 -22
- package/esm2022/utils/hit.mjs +29 -27
- package/esm2022/utils/line/elbow.mjs +22 -9
- package/esm2022/utils/line/line-basic.mjs +21 -25
- package/esm2022/utils/line/line-common.mjs +27 -15
- package/esm2022/utils/line/line-resize.mjs +7 -11
- package/esm2022/utils/position/geometry.mjs +52 -20
- package/esm2022/utils/resize-snap.mjs +361 -0
- package/esm2022/utils/shape.mjs +2 -2
- package/fesm2022/plait-draw.mjs +556 -437
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/line-auto-complete.generator.d.ts +3 -3
- package/interfaces/index.d.ts +2 -2
- package/package.json +1 -1
- package/plugins/with-draw-fragment.d.ts +2 -2
- package/plugins/with-draw-resize.d.ts +12 -0
- package/utils/geometry.d.ts +7 -4
- package/utils/hit.d.ts +3 -1
- package/utils/line/elbow.d.ts +6 -13
- package/utils/line/line-basic.d.ts +4 -4
- package/utils/line/line-common.d.ts +3 -13
- package/utils/position/geometry.d.ts +12 -5
- package/utils/resize-snap.d.ts +49 -0
- package/utils/shape.d.ts +2 -2
- package/esm2022/generators/group.generator.mjs +0 -20
- package/esm2022/group.component.mjs +0 -47
- package/esm2022/utils/resize-align-reaction.mjs +0 -316
- package/esm2022/utils/resize-align.mjs +0 -37
- package/generators/group.generator.d.ts +0 -6
- package/group.component.d.ts +0 -17
- package/utils/resize-align-reaction.d.ts +0 -42
- package/utils/resize-align.d.ts +0 -8
package/constants/geometry.d.ts
CHANGED
|
@@ -95,4 +95,6 @@ export declare const DefaultFlowchartPropertyMap: {
|
|
|
95
95
|
height: number;
|
|
96
96
|
};
|
|
97
97
|
};
|
|
98
|
-
export declare const
|
|
98
|
+
export declare const LINE_HIT_GEOMETRY_BUFFER = 10;
|
|
99
|
+
export declare const LINE_SNAPPING_BUFFER = 6;
|
|
100
|
+
export declare const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
|
|
@@ -64,5 +64,7 @@ export const DefaultFlowchartPropertyMap = {
|
|
|
64
64
|
[FlowchartSymbols.delay]: DefaultFlowchartProperty,
|
|
65
65
|
[FlowchartSymbols.storedData]: DefaultFlowchartProperty
|
|
66
66
|
};
|
|
67
|
-
export const
|
|
68
|
-
|
|
67
|
+
export const LINE_HIT_GEOMETRY_BUFFER = 10;
|
|
68
|
+
export const LINE_SNAPPING_BUFFER = 6;
|
|
69
|
+
export const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNoQyxXQUFXLEVBQUUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxNQUFNO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsb0JBQW9CLEVBQUUsbUJBQW1CO0NBQzVDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUNyQyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0lBQ1gsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFQUFFLENBQUM7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLEtBQUssRUFBRSxFQUFFO0lBQ1QsTUFBTSxFQUFFLEVBQUU7SUFDVixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixtQkFBbUIsRUFBRSxFQUFFLEdBQUcsRUFBRTtDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDcEMsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUNwQyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2hDLEtBQUssRUFBRSxFQUFFO0lBQ1QsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDdkMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSx3QkFBd0I7SUFDdEQsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSx3QkFBd0I7SUFDcEQsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSx1QkFBdUI7SUFDcEQsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUI7SUFDNUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSx3QkFBd0I7SUFDckQsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSwwQkFBMEI7SUFDMUQsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSx3QkFBd0I7SUFDeEQsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSx3QkFBd0I7SUFDdkQsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxvQkFBb0I7SUFDOUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSx3QkFBd0I7SUFDbEQsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSx3QkFBd0I7Q0FDMUQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUNUSVZFX1NUUk9LRV9XSURUSCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEZsb3djaGFydFN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IFNoYXBlRGVmYXVsdFNwYWNlID0ge1xuICAgIHJlY3RhbmdsZUFuZFRleHQ6IDRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0R2VvbWV0cnlTdHlsZSA9IHtcbiAgICBzdHJva2VXaWR0aDogMixcbiAgICBkZWZhdWx0UmFkaXVzOiA0LFxuICAgIHN0cm9rZUNvbG9yOiAnIzAwMCcsXG4gICAgZmlsbDogJ25vbmUnXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEhcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWNpc2lvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNDAsXG4gICAgaGVpZ2h0OiA3MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyNCxcbiAgICBoZWlnaHQ6IDYwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1hbnVhbElucHV0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDExNyxcbiAgICBoZWlnaHQ6IDU5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1lcmdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ3LFxuICAgIGhlaWdodDogMzNcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgTElORV9ISVRfR0VPTUVUUllfQlVGRkVSID0gMTA7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0JVRkZFUiA9IDY7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0NPTk5FQ1RPUl9CVUZGRVIgPSA4O1xuIl19
|
|
@@ -42,4 +42,4 @@ export class LineAutoCompleteGenerator extends Generator {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpILE9BQU8sRUFBNEIsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQXNEO0lBSWpHLFlBQW1CLEtBQWlCO1FBQ2hDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURFLFVBQUssR0FBTCxLQUFLLENBQVk7UUFGcEMsaUJBQVksR0FBdUIsSUFBSSxDQUFDO0lBSXhDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBMEIsRUFBRSxJQUE4QjtRQUM5RCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25GLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBc0IsRUFBRSxJQUE4QjtRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtnQkFDOUYsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzFELFNBQVMsRUFBRSxPQUFPO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFJnYmFUb0hFWCwgY3JlYXRlRywgZHJhd0NpcmNsZSwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgaXNTZWxlY3Rpb25Nb3ZpbmcgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBQbGFpdFNoYXBlRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWN0aXZlR2VuZXJhdG9yRXh0cmFEYXRhLCBHZW5lcmF0b3IsIFBSSU1BUllfQ09MT1IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldEF1dG9Db21wbGV0ZVBvaW50cyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IExJTkVfQVVUT19DT01QTEVURV9ESUFNRVRFUiwgTElORV9BVVRPX0NPTVBMRVRFX09QQUNJVFkgfSBmcm9tICcuLi9jb25zdGFudHMvbGluZSc7XG5cbmV4cG9ydCBjbGFzcyBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIGV4dGVuZHMgR2VuZXJhdG9yPFBsYWl0U2hhcGVFbGVtZW50LCBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGE+IHtcbiAgICBhdXRvQ29tcGxldGVHITogU1ZHR0VsZW1lbnQ7XG4gICAgaG92ZXJFbGVtZW50OiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHN1cGVyKGJvYXJkKTtcbiAgICB9XG5cbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFBsYWl0U2hhcGVFbGVtZW50LCBkYXRhOiBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIGlmIChkYXRhLnNlbGVjdGVkICYmIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3KGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIGRhdGE6IEFjdGl2ZUdlbmVyYXRvckV4dHJhRGF0YSk6IFNWR0dFbGVtZW50IHtcbiAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBtaWRkbGVQb2ludHMgPSBnZXRBdXRvQ29tcGxldGVQb2ludHMoZWxlbWVudCk7XG4gICAgICAgIG1pZGRsZVBvaW50cy5mb3JFYWNoKChwb2ludCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNpcmNsZSA9IGRyYXdDaXJjbGUoUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKSwgcG9pbnQsIExJTkVfQVVUT19DT01QTEVURV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGZpbGw6IFJnYmFUb0hFWChQUklNQVJZX0NPTE9SLCBMSU5FX0FVVE9fQ09NUExFVEVfT1BBQ0lUWSksXG4gICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNpcmNsZS5jbGFzc0xpc3QuYWRkKGBsaW5lLWF1dG8tY29tcGxldGUtJHtpbmRleH1gKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlRy5hcHBlbmRDaGlsZChjaXJjbGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0NvbXBsZXRlRztcbiAgICB9XG5cbiAgICByZW1vdmVBdXRvQ29tcGxldGVHKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1lbnQgPSB0aGlzLmF1dG9Db21wbGV0ZUcucXVlcnlTZWxlY3RvcihgLmxpbmUtYXV0by1jb21wbGV0ZS0ke2luZGV4fWApO1xuICAgICAgICB0aGlzLmhvdmVyRWxlbWVudCEuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJlY292ZXJBdXRvQ29tcGxldGVHKCkge1xuICAgICAgICBpZiAodGhpcy5ob3ZlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -24,7 +24,7 @@ export const PlaitDrawElement = {
|
|
|
24
24
|
return false;
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
|
|
27
|
+
isShapeElement: (value) => {
|
|
28
28
|
return PlaitDrawElement.isImage(value) || PlaitDrawElement.isGeometry(value);
|
|
29
29
|
},
|
|
30
30
|
isBasicShape: (value) => {
|
|
@@ -34,4 +34,4 @@ export const PlaitDrawElement = {
|
|
|
34
34
|
return Object.keys(FlowchartSymbols).includes(value.shape);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBSzFFLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBTTFCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFVBQVUsRUFBRSxDQUFDLEtBQVUsRUFBMEIsRUFBRTtRQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQXNCLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQXVCLEVBQUU7UUFDekMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBQ0QsYUFBYSxFQUFFLENBQUMsS0FBVSxFQUE2QixFQUFFO1FBQ3JELElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxRyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsS0FBVSxFQUE4QixFQUFFO1FBQ3ZELE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsWUFBWSxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELFdBQVcsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNpY1NoYXBlcywgRmxvd2NoYXJ0U3ltYm9scywgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXRJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgUGxhaXRMaW5lIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IFBsYWl0VGV4dCB9IGZyb20gJy4vdGV4dCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQnO1xuXG5leHBvcnQgdHlwZSBQbGFpdERyYXdFbGVtZW50ID0gUGxhaXRHZW9tZXRyeSB8IFBsYWl0TGluZSB8IFBsYWl0SW1hZ2U7XG5cbmV4cG9ydCB0eXBlIFBsYWl0U2hhcGVFbGVtZW50ID0gUGxhaXRHZW9tZXRyeSB8IFBsYWl0SW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBQbGFpdERyYXdFbGVtZW50ID0ge1xuICAgIGlzR2VvbWV0cnk6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRHZW9tZXRyeSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnZ2VvbWV0cnknO1xuICAgIH0sXG4gICAgaXNMaW5lOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0TGluZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnbGluZSc7XG4gICAgfSxcbiAgICBpc1RleHQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRUZXh0ID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdnZW9tZXRyeScgJiYgdmFsdWUuc2hhcGUgPT09IEJhc2ljU2hhcGVzLnRleHQ7XG4gICAgfSxcbiAgICBpc0ltYWdlOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0SW1hZ2UgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2ltYWdlJztcbiAgICB9LFxuICAgIGlzRHJhd0VsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXREcmF3RWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSB8fCBQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTaGFwZUVsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRTaGFwZUVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKHZhbHVlKSB8fCBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpO1xuICAgIH0sXG4gICAgaXNCYXNpY1NoYXBlOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpLmluY2x1ZGVzKHZhbHVlLnNoYXBlKTtcbiAgICB9LFxuICAgIGlzRmxvd2NoYXJ0OiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRmxvd2NoYXJ0U3ltYm9scykuaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getElementById } from '@plait/core';
|
|
1
|
+
import { getElementById, rotatePointsByElement } from '@plait/core';
|
|
2
2
|
import { getConnectionPoint } from '../utils/line/line-common';
|
|
3
3
|
export var LineMarkerType;
|
|
4
4
|
(function (LineMarkerType) {
|
|
@@ -45,14 +45,26 @@ export const PlaitLine = {
|
|
|
45
45
|
return line.target.boundId === element.id;
|
|
46
46
|
},
|
|
47
47
|
getPoints(board, line) {
|
|
48
|
-
let sourcePoint
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
let sourcePoint;
|
|
49
|
+
if (line.source.boundId) {
|
|
50
|
+
const sourceElement = getElementById(board, line.source.boundId);
|
|
51
|
+
const sourceConnectionPoint = getConnectionPoint(sourceElement, line.source.connection);
|
|
52
|
+
sourcePoint = rotatePointsByElement(sourceConnectionPoint, sourceElement) || sourceConnectionPoint;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
sourcePoint = line.points[0];
|
|
56
|
+
}
|
|
57
|
+
let targetPoint;
|
|
58
|
+
if (line.target.boundId) {
|
|
59
|
+
const targetElement = getElementById(board, line.target.boundId);
|
|
60
|
+
const targetConnectionPoint = getConnectionPoint(targetElement, line.target.connection);
|
|
61
|
+
targetPoint = rotatePointsByElement(targetConnectionPoint, targetElement) || targetConnectionPoint;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
targetPoint = line.points[line.points.length - 1];
|
|
65
|
+
}
|
|
54
66
|
const restPoints = line.points.length > 2 ? line.points.slice(1, line.points.length - 1) : [];
|
|
55
67
|
return [sourcePoint, ...restPoints, targetPoint];
|
|
56
68
|
}
|
|
57
69
|
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUsxSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUvRCxNQUFNLENBQU4sSUFBWSxjQVVYO0FBVkQsV0FBWSxjQUFjO0lBQ3RCLGlDQUFlLENBQUE7SUFDZiwrQkFBYSxDQUFBO0lBQ2IsZ0RBQThCLENBQUE7SUFDOUIsa0RBQWdDLENBQUE7SUFDaEMsNENBQTBCLENBQUE7SUFDMUIsMkNBQXlCLENBQUE7SUFDekIsK0NBQTZCLENBQUE7SUFDN0Isb0RBQWtDLENBQUE7SUFDbEMsOENBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQVZXLGNBQWMsS0FBZCxjQUFjLFFBVXpCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNqQixrQ0FBcUIsQ0FBQTtJQUNyQiw0QkFBZSxDQUFBO0lBQ2YsNEJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLGtDQUFpQixDQUFBO0lBQ2pCLGtDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQTRERCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDckIsd0JBQXdCLENBQUMsSUFBZSxFQUFFLFFBQXdCLEVBQUUsU0FBd0I7UUFDeEYsSUFBSSxTQUFTLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBZSxFQUFFLFFBQXdCO1FBQ2xELE9BQU8sU0FBUyxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBZSxFQUFFLFFBQXdCO1FBQ2xELE9BQU8sU0FBUyxDQUFDLHdCQUF3QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxJQUFlLEVBQUUsT0FBbUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxJQUFlLEVBQUUsT0FBbUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBaUIsRUFBRSxJQUFlO1FBQ3hDLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQWdCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxDQUFDO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVyxDQUFDLENBQUM7WUFDekYsV0FBVyxHQUFHLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxJQUFJLHFCQUFxQixDQUFDO1FBQ3ZHLENBQUM7YUFBTSxDQUFDO1lBQ0osV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQWdCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxDQUFDO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVyxDQUFDLENBQUM7WUFDekYsV0FBVyxHQUFHLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxJQUFJLHFCQUFxQixDQUFDO1FBQ3ZHLENBQUM7YUFBTSxDQUFDO1lBQ0osV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUYsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUG9pbnRPZlJlY3RhbmdsZSwgVmVjdG9yLCBnZXRFbGVtZW50QnlJZCwgcm90YXRlUG9pbnRzQnlFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ltYWdlJztcbmltcG9ydCB7IGdldENvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2xpbmUvbGluZS1jb21tb24nO1xuXG5leHBvcnQgZW51bSBMaW5lTWFya2VyVHlwZSB7XG4gICAgYXJyb3cgPSAnYXJyb3cnLFxuICAgIG5vbmUgPSAnbm9uZScsXG4gICAgb3BlblRyaWFuZ2xlID0gJ29wZW4tdHJpYW5nbGUnLFxuICAgIHNvbGlkVHJpYW5nbGUgPSAnc29saWQtdHJpYW5nbGUnLFxuICAgIHNoYXJwQXJyb3cgPSAnc2hhcnAtYXJyb3cnLFxuICAgIG9uZVNpZGVVcCA9ICdvbmUtc2lkZS11cCcsXG4gICAgb25lU2lkZURvd24gPSAnb25lLXNpZGUtZG93bicsXG4gICAgaG9sbG93VHJpYW5nbGUgPSAnaG9sbG93LXRyaWFuZ2xlJyxcbiAgICBzaW5nbGVTbGFzaCA9ICdzaW5nbGUtc2xhc2gnXG59XG5cbmV4cG9ydCBlbnVtIExpbmVTaGFwZSB7XG4gICAgc3RyYWlnaHQgPSAnc3RyYWlnaHQnLFxuICAgIGN1cnZlID0gJ2N1cnZlJyxcbiAgICBlbGJvdyA9ICdlbGJvdydcbn1cblxuZXhwb3J0IGVudW0gTGluZUhhbmRsZUtleSB7XG4gICAgc291cmNlID0gJ3NvdXJjZScsXG4gICAgdGFyZ2V0ID0gJ3RhcmdldCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5lVGV4dCB7XG4gICAgdGV4dDogRWxlbWVudDtcbiAgICAvLyBQZXJjZW50YWdlIG9mIHBvc2l0aW9uaW5nIGJhc2VkIG9uIGxpbmUgbGVuZ3RoXG4gICAgcG9zaXRpb246IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGUge1xuICAgIC8vIFRoZSBpZCBvZiB0aGUgYm91bmRlZCBlbGVtZW50XG4gICAgYm91bmRJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uPzogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICBtYXJrZXI6IExpbmVNYXJrZXJUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGVSZWYge1xuICAgIGtleTogTGluZUhhbmRsZUtleTtcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgICBwb2ludDogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICB2ZWN0b3I6IFZlY3RvcjtcbiAgICBib3VuZEVsZW1lbnQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVIYW5kbGVSZWZQYWlyIHtcbiAgICBzb3VyY2U6IExpbmVIYW5kbGVSZWY7XG4gICAgdGFyZ2V0OiBMaW5lSGFuZGxlUmVmO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TGluZSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgdHlwZTogJ2xpbmUnO1xuICAgIHNoYXBlOiBMaW5lU2hhcGU7XG4gICAgcG9pbnRzOiBQb2ludFtdO1xuXG4gICAgc291cmNlOiBMaW5lSGFuZGxlO1xuICAgIHRhcmdldDogTGluZUhhbmRsZTtcblxuICAgIHRleHRzOiBMaW5lVGV4dFtdO1xuXG4gICAgLy8gbm9kZSBzdHlsZSBhdHRyaWJ1dGVzXG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcblxuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFN0cmFpZ2h0TGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5zdHJhaWdodDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEN1cnZlTGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5jdXJ2ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsYm93TGluZSBleHRlbmRzIFBsYWl0TGluZSB7XG4gICAgc2hhcGU6IExpbmVTaGFwZS5lbGJvdztcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0TGluZSA9IHtcbiAgICBpc1NvdXJjZU1hcmtPclRhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUsIGhhbmRsZUtleTogTGluZUhhbmRsZUtleSkge1xuICAgICAgICBpZiAoaGFuZGxlS2V5ID09PSBMaW5lSGFuZGxlS2V5LnNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIGxpbmUuc291cmNlLm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbGluZS50YXJnZXQubWFya2VyID09PSBtYXJrVHlwZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTb3VyY2VNYXJrKGxpbmU6IFBsYWl0TGluZSwgbWFya1R5cGU6IExpbmVNYXJrZXJUeXBlKSB7XG4gICAgICAgIHJldHVybiBQbGFpdExpbmUuaXNTb3VyY2VNYXJrT3JUYXJnZXRNYXJrKGxpbmUsIG1hcmtUeXBlLCBMaW5lSGFuZGxlS2V5LnNvdXJjZSk7XG4gICAgfSxcbiAgICBpc1RhcmdldE1hcmsobGluZTogUGxhaXRMaW5lLCBtYXJrVHlwZTogTGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIFBsYWl0TGluZS5pc1NvdXJjZU1hcmtPclRhcmdldE1hcmsobGluZSwgbWFya1R5cGUsIExpbmVIYW5kbGVLZXkudGFyZ2V0KTtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZTb3VyY2UobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgUGxhaXRJbWFnZSkge1xuICAgICAgICByZXR1cm4gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZTogUGxhaXRMaW5lLCBlbGVtZW50OiBQbGFpdEdlb21ldHJ5IHwgUGxhaXRJbWFnZSkge1xuICAgICAgICByZXR1cm4gbGluZS50YXJnZXQuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGdldFBvaW50cyhib2FyZDogUGxhaXRCb2FyZCwgbGluZTogUGxhaXRMaW5lKSB7XG4gICAgICAgIGxldCBzb3VyY2VQb2ludDtcbiAgICAgICAgaWYgKGxpbmUuc291cmNlLmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pihib2FyZCwgbGluZS5zb3VyY2UuYm91bmRJZCkhO1xuICAgICAgICAgICAgY29uc3Qgc291cmNlQ29ubmVjdGlvblBvaW50ID0gZ2V0Q29ubmVjdGlvblBvaW50KHNvdXJjZUVsZW1lbnQsIGxpbmUuc291cmNlLmNvbm5lY3Rpb24hKTtcbiAgICAgICAgICAgIHNvdXJjZVBvaW50ID0gcm90YXRlUG9pbnRzQnlFbGVtZW50KHNvdXJjZUNvbm5lY3Rpb25Qb2ludCwgc291cmNlRWxlbWVudCkgfHwgc291cmNlQ29ubmVjdGlvblBvaW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc291cmNlUG9pbnQgPSBsaW5lLnBvaW50c1swXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB0YXJnZXRQb2ludDtcbiAgICAgICAgaWYgKGxpbmUudGFyZ2V0LmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pihib2FyZCwgbGluZS50YXJnZXQuYm91bmRJZCkhO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29ubmVjdGlvblBvaW50ID0gZ2V0Q29ubmVjdGlvblBvaW50KHRhcmdldEVsZW1lbnQsIGxpbmUudGFyZ2V0LmNvbm5lY3Rpb24hKTtcbiAgICAgICAgICAgIHRhcmdldFBvaW50ID0gcm90YXRlUG9pbnRzQnlFbGVtZW50KHRhcmdldENvbm5lY3Rpb25Qb2ludCwgdGFyZ2V0RWxlbWVudCkgfHwgdGFyZ2V0Q29ubmVjdGlvblBvaW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0UG9pbnQgPSBsaW5lLnBvaW50c1tsaW5lLnBvaW50cy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN0UG9pbnRzID0gbGluZS5wb2ludHMubGVuZ3RoID4gMiA/IGxpbmUucG9pbnRzLnNsaWNlKDEsIGxpbmUucG9pbnRzLmxlbmd0aCAtIDEpIDogW107XG4gICAgICAgIHJldHVybiBbc291cmNlUG9pbnQsIC4uLnJlc3RQb2ludHMsIHRhcmdldFBvaW50XTtcbiAgICB9XG59O1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { PlaitBoard, getElementById } from '@plait/core';
|
|
2
|
+
import { PlaitBoard, getElementById, createDebugGenerator } from '@plait/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { TextManage } from '@plait/text';
|
|
5
5
|
import { LineShapeGenerator } from './generators/line.generator';
|
|
@@ -10,6 +10,8 @@ import { CommonPluginElement } from '@plait/common';
|
|
|
10
10
|
import { getLinePoints, getLineTextRectangle } from './utils/line/line-basic';
|
|
11
11
|
import { memorizeLatestText } from './utils/memorize';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
|
+
const debugKey = 'debug:plait:line-turning';
|
|
14
|
+
const debugGenerator = createDebugGenerator(debugKey);
|
|
13
15
|
export class LineComponent extends CommonPluginElement {
|
|
14
16
|
constructor(viewContainerRef, cdr) {
|
|
15
17
|
super(cdr);
|
|
@@ -34,21 +36,7 @@ export class LineComponent extends CommonPluginElement {
|
|
|
34
36
|
super.ngOnInit();
|
|
35
37
|
this.boundedElements = this.getBoundedElements();
|
|
36
38
|
this.drawText();
|
|
37
|
-
|
|
38
|
-
// points.forEach((p, index) => {
|
|
39
|
-
// if (index === 0) {
|
|
40
|
-
// return;
|
|
41
|
-
// }
|
|
42
|
-
// if (index === points.length - 1) {
|
|
43
|
-
// return;
|
|
44
|
-
// }
|
|
45
|
-
// const dataPointG = PlaitBoard.getRoughSVG(this.board).circle(p[0], p[1], 8 * index, {
|
|
46
|
-
// stroke: '#f08c02',
|
|
47
|
-
// fill: '#f08c02',
|
|
48
|
-
// fillStyle: 'solid'
|
|
49
|
-
// });
|
|
50
|
-
// PlaitBoard.getElementActiveHost(this.board).append(dataPointG);
|
|
51
|
-
// });
|
|
39
|
+
debugGenerator.isDebug() && debugGenerator.drawCircles(this.board, this.element.points.slice(1, -1), 4, true);
|
|
52
40
|
}
|
|
53
41
|
getBoundedElements() {
|
|
54
42
|
const boundedElements = {};
|
|
@@ -183,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
183
171
|
standalone: true
|
|
184
172
|
}]
|
|
185
173
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }] });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBK0MsY0FBYyxFQUFxQixNQUFNLGFBQWEsQ0FBQztBQUN6SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBYXRELE1BQU0sT0FBTyxhQUFjLFNBQVEsbUJBQTBDO0lBVXpFLFlBQW9CLGdCQUFrQyxFQUFZLEdBQXNCO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURLLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVJ4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU0vQixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxj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QyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0E5S1EsYUFBYTtrR0FBYixhQUFhLGtHQUpaLEVBQUU7OzJGQUlILGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgT25Db250ZXh0Q2hhbmdlZCwgZ2V0RWxlbWVudEJ5SWQsIGlzU2VsZWN0aW9uTW92aW5nIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgTGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IExpbmVBY3RpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0TGluZVBvaW50cywgZ2V0TGluZVRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2xpbmUvbGluZS1iYXNpYyc7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzL21lbW9yaXplJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BsYWl0LWRyYXctbGluZScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTGluZUNvbXBvbmVudCBleHRlbmRzIENvbW1vblBsdWdpbkVsZW1lbnQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgc2hhcGVHZW5lcmF0b3IhOiBMaW5lU2hhcGVHZW5lcmF0b3I7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBMaW5lQWN0aXZlR2VuZXJhdG9yO1xuXG4gICAgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yID0gbmV3IExpbmVTaGFwZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgTGluZUFjdGl2ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZXNCeUVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICBjb25zdCBsaW5lUG9pbnRzID0gZ2V0TGluZVBvaW50cyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgbGluZVBvaW50c1xuICAgICAgICB9KTtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG5cbiAgICAgICAgLy8gY29uc3QgcG9pbnRzID0gdGhpcy5lbGVtZW50LnBvaW50cztcbiAgICAgICAgLy8gcG9pbnRzLmZvckVhY2goKHAsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICBpZiAoaW5kZXggPT09IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgY29uc3QgZGF0YVBvaW50RyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCkuY2lyY2xlKHBbMF0sIHBbMV0sIDggKiBpbmRleCwge1xuICAgICAgICAvLyAgICAgICAgIHN0cm9rZTogJyNmMDhjMDInLFxuICAgICAgICAvLyAgICAgICAgIGZpbGw6ICcjZjA4YzAyJyxcbiAgICAgICAgLy8gICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgLy8gICAgIH0pO1xuICAgICAgICAvLyAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKS5hcHBlbmQoZGF0YVBvaW50Ryk7XG4gICAgICAgIC8vIH0pO1xuICAgIH1cblxuICAgIGdldEJvdW5kZWRFbGVtZW50cygpIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnRhcmdldCA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYm91bmRlZEVsZW1lbnRzO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPiwgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPikge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICBjb25zdCBpc0JvdW5kZWRFbGVtZW50c0NoYW5nZWQgPVxuICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMuc291cmNlIHx8IGJvdW5kZWRFbGVtZW50cy50YXJnZXQgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnRhcmdldDtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSBib3VuZGVkRWxlbWVudHM7XG4gICAgICAgIGNvbnN0IGlzQ2hhbmdlVGhlbWUgPSB0aGlzLmJvYXJkLm9wZXJhdGlvbnMuZmluZChvcCA9PiBvcC50eXBlID09PSAnc2V0X3RoZW1lJyk7XG4gICAgICAgIGNvbnN0IGxpbmVQb2ludHMgPSBnZXRMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IGlzQ2hhbmdlVGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgbGluZVBvaW50c1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQocHJldmlvdXMuZWxlbWVudC50ZXh0cywgdmFsdWUuZWxlbWVudC50ZXh0cyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRSZWN0YW5nbGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5lZWRVcGRhdGUgPSB2YWx1ZS5zZWxlY3RlZCAhPT0gcHJldmlvdXMuc2VsZWN0ZWQgfHwgdGhpcy5hY3RpdmVHZW5lcmF0b3IubmVlZFVwZGF0ZSgpO1xuICAgICAgICAgICAgaWYgKG5lZWRVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZXNCeUVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGV4dHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dE1hbmFnZXM6IFRleHRNYW5hZ2VbXSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRleHRzLmZvckVhY2goKHRleHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFuYWdlID0gdGhpcy5jcmVhdGVUZXh0TWFuYWdlKHRleHQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlcy5wdXNoKG1hbmFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKHRleHRNYW5hZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGV4dE1hbmFnZXMoKS5mb3JFYWNoKChtYW5hZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHRzIVtpbmRleF0udGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nLmFwcGVuZChtYW5hZ2UuZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVRleHRNYW5hZ2UodGV4dDogTGluZVRleHQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldExpbmVUZXh0UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgaW5kZXgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gWy4uLnRoaXMuZWxlbWVudC50ZXh0c107XG4gICAgICAgICAgICAgICAgdGV4dHMuc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VSZWYubmV3VmFsdWUgPyB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlIDogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldExpbmVUZXh0cyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHRleHRzKTtcbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KHByZXZpb3VzVGV4dHM6IExpbmVUZXh0W10sIGN1cnJlbnRUZXh0czogTGluZVRleHRbXSkge1xuICAgICAgICBpZiAocHJldmlvdXNUZXh0cyA9PT0gY3VycmVudFRleHRzKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGV4dHNMZW5ndGggPSBwcmV2aW91c1RleHRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY3VycmVudFRleHRzTGVuZ3RoID0gY3VycmVudFRleHRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdGV4dE1hbmFnZXMgPSB0aGlzLmdldFRleHRNYW5hZ2VzKCk7XG4gICAgICAgIGlmIChjdXJyZW50VGV4dHNMZW5ndGggPT09IHByZXZpb3VzVGV4dHNMZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNUZXh0c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzVGV4dHNbaV0udGV4dCAhPT0gY3VycmVudFRleHRzW2ldLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZXNbaV0udXBkYXRlVGV4dChjdXJyZW50VGV4dHNbaV0udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzQnlFbGVtZW50KCk7XG4gICAgICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0UmVjdGFuZ2xlKCkge1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlcyA9IHRoaXMuZ2V0VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgdGV4dE1hbmFnZXMuZm9yRWFjaChtYW5hZ2UgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBK0MsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPdEQsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFRdEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBMEM7SUFVekUsWUFBb0IsZ0JBQWtDLEVBQVksR0FBc0I7UUFDcEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBREsscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBUnhGLGFBQVEs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Q0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FoS1EsYUFBYTtrR0FBYixhQUFhLGtHQUpaLEVBQUU7OzJGQUlILGFBQWE7a0JBTnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgT25Db250ZXh0Q2hhbmdlZCwgZ2V0RWxlbWVudEJ5SWQsIGNyZWF0ZURlYnVnR2VuZXJhdG9yIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGluZVRleHQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlLCBUZXh0TWFuYWdlUmVmIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgTGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IExpbmVBY3RpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0TGluZVBvaW50cywgZ2V0TGluZVRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2xpbmUvbGluZS1iYXNpYyc7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzL21lbW9yaXplJztcblxuaW50ZXJmYWNlIEJvdW5kZWRFbGVtZW50cyB7XG4gICAgc291cmNlPzogUGxhaXRHZW9tZXRyeTtcbiAgICB0YXJnZXQ/OiBQbGFpdEdlb21ldHJ5O1xufVxuXG5jb25zdCBkZWJ1Z0tleSA9ICdkZWJ1ZzpwbGFpdDpsaW5lLXR1cm5pbmcnO1xuY29uc3QgZGVidWdHZW5lcmF0b3IgPSBjcmVhdGVEZWJ1Z0dlbmVyYXRvcihkZWJ1Z0tleSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1saW5lJyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uUGx1Z2luRWxlbWVudDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdExpbmUsIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IExpbmVTaGFwZUdlbmVyYXRvcjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IExpbmVBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihjZHIpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgTGluZVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBMaW5lQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlc0J5RWxlbWVudCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIGNvbnN0IGxpbmVQb2ludHMgPSBnZXRMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICBsaW5lUG9pbnRzXG4gICAgICAgIH0pO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmJvdW5kZWRFbGVtZW50cyA9IHRoaXMuZ2V0Qm91bmRlZEVsZW1lbnRzKCk7XG4gICAgICAgIHRoaXMuZHJhd1RleHQoKTtcblxuICAgICAgICBkZWJ1Z0dlbmVyYXRvci5pc0RlYnVnKCkgJiYgZGVidWdHZW5lcmF0b3IuZHJhd0NpcmNsZXModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnBvaW50cy5zbGljZSgxLCAtMSksIDQsIHRydWUpO1xuICAgIH1cblxuICAgIGdldEJvdW5kZWRFbGVtZW50cygpIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5zb3VyY2UuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMuc291cmNlID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGFyZ2V0LmJvdW5kSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJvdW5kRWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCk7XG4gICAgICAgICAgICBpZiAoYm91bmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnRhcmdldCA9IGJvdW5kRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYm91bmRlZEVsZW1lbnRzO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPiwgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRMaW5lLCBQbGFpdEJvYXJkPikge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICBjb25zdCBpc0JvdW5kZWRFbGVtZW50c0NoYW5nZWQgPVxuICAgICAgICAgICAgYm91bmRlZEVsZW1lbnRzLnNvdXJjZSAhPT0gdGhpcy5ib3VuZGVkRWxlbWVudHMuc291cmNlIHx8IGJvdW5kZWRFbGVtZW50cy50YXJnZXQgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnRhcmdldDtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSBib3VuZGVkRWxlbWVudHM7XG4gICAgICAgIGNvbnN0IGlzQ2hhbmdlVGhlbWUgPSB0aGlzLmJvYXJkLm9wZXJhdGlvbnMuZmluZChvcCA9PiBvcC50eXBlID09PSAnc2V0X3RoZW1lJyk7XG4gICAgICAgIGNvbnN0IGxpbmVQb2ludHMgPSBnZXRMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IGlzQ2hhbmdlVGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgbGluZVBvaW50c1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQocHJldmlvdXMuZWxlbWVudC50ZXh0cywgdmFsdWUuZWxlbWVudC50ZXh0cyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRSZWN0YW5nbGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5lZWRVcGRhdGUgPSB2YWx1ZS5zZWxlY3RlZCAhPT0gcHJldmlvdXMuc2VsZWN0ZWQgfHwgdGhpcy5hY3RpdmVHZW5lcmF0b3IubmVlZFVwZGF0ZSgpO1xuICAgICAgICAgICAgaWYgKG5lZWRVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0aWFsaXplVGV4dE1hbmFnZXNCeUVsZW1lbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudGV4dHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgdGV4dE1hbmFnZXM6IFRleHRNYW5hZ2VbXSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRleHRzLmZvckVhY2goKHRleHQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFuYWdlID0gdGhpcy5jcmVhdGVUZXh0TWFuYWdlKHRleHQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlcy5wdXNoKG1hbmFnZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKHRleHRNYW5hZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGV4dE1hbmFnZXMoKS5mb3JFYWNoKChtYW5hZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgbWFuYWdlLmRyYXcodGhpcy5lbGVtZW50LnRleHRzIVtpbmRleF0udGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5nLmFwcGVuZChtYW5hZ2UuZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVRleHRNYW5hZ2UodGV4dDogTGluZVRleHQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldExpbmVUZXh0UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgaW5kZXgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2VIYW5kbGU6ICh0ZXh0TWFuYWdlUmVmOiBUZXh0TWFuYWdlUmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gdGV4dE1hbmFnZVJlZi5oZWlnaHQgLyB0aGlzLmJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0ZXh0TWFuYWdlUmVmLndpZHRoIC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gWy4uLnRoaXMuZWxlbWVudC50ZXh0c107XG4gICAgICAgICAgICAgICAgdGV4dHMuc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VSZWYubmV3VmFsdWUgPyB0ZXh0TWFuYWdlUmVmLm5ld1ZhbHVlIDogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldExpbmVUZXh0cyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQsIHRleHRzKTtcbiAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlUmVmLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KHByZXZpb3VzVGV4dHM6IExpbmVUZXh0W10sIGN1cnJlbnRUZXh0czogTGluZVRleHRbXSkge1xuICAgICAgICBpZiAocHJldmlvdXNUZXh0cyA9PT0gY3VycmVudFRleHRzKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVGV4dHNMZW5ndGggPSBwcmV2aW91c1RleHRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY3VycmVudFRleHRzTGVuZ3RoID0gY3VycmVudFRleHRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgdGV4dE1hbmFnZXMgPSB0aGlzLmdldFRleHRNYW5hZ2VzKCk7XG4gICAgICAgIGlmIChjdXJyZW50VGV4dHNMZW5ndGggPT09IHByZXZpb3VzVGV4dHNMZW5ndGgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNUZXh0c0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzVGV4dHNbaV0udGV4dCAhPT0gY3VycmVudFRleHRzW2ldLnRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZXNbaV0udXBkYXRlVGV4dChjdXJyZW50VGV4dHNbaV0udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzQnlFbGVtZW50KCk7XG4gICAgICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0UmVjdGFuZ2xlKCkge1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlcyA9IHRoaXMuZ2V0VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgdGV4dE1hbmFnZXMuZm9yRWFjaChtYW5hZ2UgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lUZXh0TWFuYWdlcygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -91,4 +91,4 @@ export const getBoundedLineElements = (board, plaitShapes) => {
|
|
|
91
91
|
const lines = getLines(board);
|
|
92
92
|
return lines.filter(line => plaitShapes.find(shape => PlaitLine.isBoundElementOfSource(line, shape) || PlaitLine.isBoundElementOfTarget(line, shape)));
|
|
93
93
|
};
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXctZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQU9ILHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUN0QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLGVBQWUsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQXVCLENBQUM7SUFDdEMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFbEUsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBb0IsRUFBRSxFQUFFO1FBQ2hELE1BQU0sWUFBWSxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sZ0JBQWdCLEdB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TUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBeUIsRUFBRSxFQUFFO0lBQ25GLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDdkIsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUM1SCxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDbGlwYm9hcmREYXRhLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIFBvaW50LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBXcml0YWJsZUNsaXBib2FyZENvbnRleHQsXG4gICAgV3JpdGFibGVDbGlwYm9hcmRUeXBlLFxuICAgIGFkZENsaXBib2FyZENvbnRleHQsXG4gICAgY3JlYXRlQ2xpcGJvYXJkQ29udGV4dCxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRHZW9tZXRyeSwgUGxhaXRMaW5lLCBQbGFpdFNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBidWlsZENsaXBib2FyZERhdGEsIGluc2VydENsaXBib2FyZERhdGEgfSBmcm9tICcuLi91dGlscy9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRHJhd1RyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGdldExpbmVzIH0gZnJvbSAnLi4vdXRpbHMvbGluZS9saW5lLWJhc2ljJztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ltYWdlJztcbmltcG9ydCB7IGFjY2VwdEltYWdlVHlwZXMsIGJ1aWxkSW1hZ2UsIGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZSwgZ2V0RWxlbWVudHNUZXh0LCBnZXRGaXJzdFRleHRFZGl0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IERFRkFVTFRfSU1BR0VfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aERyYXdGcmFnbWVudCA9IChiYXNlQm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBib2FyZCA9IGJhc2VCb2FyZCBhcyBQbGFpdEJvYXJkO1xuICAgIGNvbnN0IHsgZ2V0RGVsZXRlZEZyYWdtZW50LCBzZXRGcmFnbWVudCwgaW5zZXJ0RnJhZ21lbnQgfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQuZ2V0RGVsZXRlZEZyYWdtZW50ID0gKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyYXdFbGVtZW50cyA9IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgaWYgKGRyYXdFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5RWxlbWVudHMgPSBkcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeSh2YWx1ZSkpIGFzIFBsYWl0R2VvbWV0cnlbXTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVFbGVtZW50cyA9IGRyYXdFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXREcmF3RWxlbWVudC5pc0xpbmUodmFsdWUpKSBhcyBQbGFpdExpbmVbXTtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlRWxlbWVudHMgPSBkcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZSh2YWx1ZSkpIGFzIFBsYWl0SW1hZ2VbXTtcblxuICAgICAgICAgICAgY29uc3QgYm91bmRMaW5lRWxlbWVudHMgPSBbXG4gICAgICAgICAgICAgICAgLi4uZ2V0Qm91bmRlZExpbmVFbGVtZW50cyhib2FyZCwgZ2VvbWV0cnlFbGVtZW50cyksXG4gICAgICAgICAgICAgICAgLi4uZ2V0Qm91bmRlZExpbmVFbGVtZW50cyhib2FyZCwgaW1hZ2VFbGVtZW50cylcbiAgICAgICAgICAgIF0uZmlsdGVyKGxpbmUgPT4gIWxpbmVFbGVtZW50cy5pbmNsdWRlcyhsaW5lKSk7XG4gICAgICAgICAgICBkYXRhLnB1c2goXG4gICAgICAgICAgICAgICAgLi4uW1xuICAgICAgICAgICAgICAgICAgICAuLi5nZW9tZXRyeUVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAuLi5saW5lRWxlbWVudHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLmltYWdlRWxlbWVudHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLmJvdW5kTGluZUVsZW1lbnRzLmZpbHRlcihsaW5lID0+ICFsaW5lRWxlbWVudHMuaW5jbHVkZXMobGluZSkpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0RGVsZXRlZEZyYWdtZW50KGRhdGEpO1xuICAgIH07XG5cbiAgICBib2FyZC5zZXRGcmFnbWVudCA9IChcbiAgICAgICAgZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCxcbiAgICAgICAgY2xpcGJvYXJkQ29udGV4dDogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0IHwgbnVsbCxcbiAgICAgICAgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLFxuICAgICAgICB0eXBlOiAnY29weScgfCAnY3V0J1xuICAgICkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREcmF3RWxlbWVudHMgPSBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGxldCBib3VuZExpbmVFbGVtZW50czogUGxhaXRMaW5lW10gPSBbXTtcbiAgICAgICAgaWYgKHRhcmdldERyYXdFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnY3V0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdlb21ldHJ5RWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNHZW9tZXRyeSh2YWx1ZSkpIGFzIFBsYWl0R2VvbWV0cnlbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lRWxlbWVudHMgPSB0YXJnZXREcmF3RWxlbWVudHMuZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkgYXMgUGxhaXRMaW5lW107XG4gICAgICAgICAgICAgICAgYm91bmRMaW5lRWxlbWVudHMgPSBnZXRCb3VuZGVkTGluZUVsZW1lbnRzKGJvYXJkLCBnZW9tZXRyeUVsZW1lbnRzKS5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBbLi4udGFyZ2V0RHJhd0VsZW1lbnRzLCAuLi5ib3VuZExpbmVFbGVtZW50c107XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShib2FyZCwgc2VsZWN0ZWRFbGVtZW50cywgcmVjdGFuZ2xlID8gW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0gOiBbMCwgMF0pO1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGdldEVsZW1lbnRzVGV4dChzZWxlY3RlZEVsZW1lbnRzKTtcbiAgICAgICAgICAgIGlmICghY2xpcGJvYXJkQ29udGV4dCkge1xuICAgICAgICAgICAgICAgIGNsaXBib2FyZENvbnRleHQgPSBjcmVhdGVDbGlwYm9hcmRDb250ZXh0KFdyaXRhYmxlQ2xpcGJvYXJkVHlwZS5lbGVtZW50cywgZWxlbWVudHMsIHRleHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjbGlwYm9hcmRDb250ZXh0ID0gYWRkQ2xpcGJvYXJkQ29udGV4dChjbGlwYm9hcmRDb250ZXh0LCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkVHlwZS5lbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogZWxlbWVudHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRGcmFnbWVudChkYXRhLCBjbGlwYm9hcmRDb250ZXh0LCByZWN0YW5nbGUsIHR5cGUpO1xuICAgIH07XG5cbiAgICBib2FyZC5pbnNlcnRGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCBjbGlwYm9hcmREYXRhOiBDbGlwYm9hcmREYXRhIHwgbnVsbCwgdGFyZ2V0UG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcblxuICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YT8uZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgYWNjZXB0SW1hZ2VBcnJheSA9IGFjY2VwdEltYWdlVHlwZXMubWFwKHR5cGUgPT4gJ2ltYWdlLycgKyB0eXBlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhbkluc2VydGlvbkltYWdlID1cbiAgICAgICAgICAgICAgICAhZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlKGJvYXJkKSAmJiAhKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIGJvYXJkLmlzSW1hZ2VCaW5kaW5nQWxsb3dlZChzZWxlY3RlZEVsZW1lbnRzWzBdKSk7XG4gICAgICAgICAgICBpZiAoYWNjZXB0SW1hZ2VBcnJheS5pbmNsdWRlcyhjbGlwYm9hcmREYXRhLmZpbGVzWzBdLnR5cGUpICYmIGNhbkluc2VydGlvbkltYWdlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2VGaWxlID0gY2xpcGJvYXJkRGF0YS5maWxlc1swXTtcbiAgICAgICAgICAgICAgICBidWlsZEltYWdlKGJvYXJkLCBpbWFnZUZpbGUsIERFRkFVTFRfSU1BR0VfV0lEVEgsIGltYWdlSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLmluc2VydEltYWdlKGJvYXJkLCBpbWFnZUl0ZW0sIHRhcmdldFBvaW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YT8uZWxlbWVudHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZHJhd0VsZW1lbnRzID0gY2xpcGJvYXJkRGF0YS5lbGVtZW50cz8uZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNEcmF3RWxlbWVudCh2YWx1ZSkpIGFzIFBsYWl0RHJhd0VsZW1lbnRbXTtcbiAgICAgICAgICAgIGlmIChjbGlwYm9hcmREYXRhLmVsZW1lbnRzICYmIGNsaXBib2FyZERhdGEuZWxlbWVudHMubGVuZ3RoID4gMCAmJiBkcmF3RWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGRyYXdFbGVtZW50cywgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGE/LnRleHQpIHtcbiAgICAgICAgICAgIGlmICghY2xpcGJvYXJkRGF0YS5lbGVtZW50cyB8fCBjbGlwYm9hcmREYXRhLmVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIC8vICgq77+j77i277+jKVxuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydEFzQ2hpbGRyZW4gPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBzZWxlY3RlZEVsZW1lbnRzWzBdLmNoaWxkcmVuO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydEFzRnJlZVRleHQgPSAhaW5zZXJ0QXNDaGlsZHJlbjtcbiAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0QXNGcmVlVGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5pbnNlcnRUZXh0KGJvYXJkLCB0YXJnZXRQb2ludCwgY2xpcGJvYXJkRGF0YS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIGNsaXBib2FyZERhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJvdW5kZWRMaW5lRWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBsYWl0U2hhcGVzOiBQbGFpdFNoYXBlW10pID0+IHtcbiAgICBjb25zdCBsaW5lcyA9IGdldExpbmVzKGJvYXJkKTtcbiAgICByZXR1cm4gbGluZXMuZmlsdGVyKGxpbmUgPT5cbiAgICAgICAgcGxhaXRTaGFwZXMuZmluZChzaGFwZSA9PiBQbGFpdExpbmUuaXNCb3VuZEVsZW1lbnRPZlNvdXJjZShsaW5lLCBzaGFwZSkgfHwgUGxhaXRMaW5lLmlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZSwgc2hhcGUpKVxuICAgICk7XG59O1xuIl19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvcGx1Z2lucy93aXRoLWRyYXctZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQVFILHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUN0QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFNBQXFCLEVBQUUsRUFBRTtJQUN0RCxNQUFNLEtBQUssR0FBRyxTQUF1QixDQUFDO0lBQ3RDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWxFLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLElBQW9CLEVBQUUsRUFBRTtRQUNoRCxNQUFNLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixNQUFNLGdCQUFnQixH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LE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQWdDLEVBQUUsRUFBRTtJQUMxRixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3ZCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDNUgsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2xpcGJvYXJkRGF0YSxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQbGFpdEdyb3VwRWxlbWVudCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0LFxuICAgIFdyaXRhYmxlQ2xpcGJvYXJkVHlwZSxcbiAgICBhZGRDbGlwYm9hcmRDb250ZXh0LFxuICAgIGNyZWF0ZUNsaXBib2FyZENvbnRleHQsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50c1xufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZERyYXdFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL3NlbGVjdGVkJztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0R2VvbWV0cnksIFBsYWl0TGluZSwgUGxhaXRTaGFwZUVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGJ1aWxkQ2xpcGJvYXJkRGF0YSwgaW5zZXJ0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uL3V0aWxzL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZ2V0TGluZXMgfSBmcm9tICcuLi91dGlscy9saW5lL2xpbmUtYmFzaWMnO1xuaW1wb3J0IHsgUGxhaXRJbWFnZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW1hZ2UnO1xuaW1wb3J0IHsgYWNjZXB0SW1hZ2VUeXBlcywgYnVpbGRJbWFnZSwgZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlLCBnZXRFbGVtZW50c1RleHQsIGdldEZpcnN0VGV4dEVkaXRvciB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgREVGQVVMVF9JTUFHRV9XSURUSCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoRHJhd0ZyYWdtZW50ID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQ7XG4gICAgY29uc3QgeyBnZXREZWxldGVkRnJhZ21lbnQsIHNldEZyYWdtZW50LCBpbnNlcnRGcmFnbWVudCB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5nZXREZWxldGVkRnJhZ21lbnQgPSAoZGF0YTogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICAgICAgY29uc3QgZHJhd0VsZW1lbnRzID0gZ2V0U2VsZWN0ZWREcmF3RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoZHJhd0VsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnlFbGVtZW50cyA9IGRyYXdFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSkgYXMgUGxhaXRHZW9tZXRyeVtdO1xuICAgICAgICAgICAgY29uc3QgbGluZUVsZW1lbnRzID0gZHJhd0VsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiBQbGFpdERyYXdFbGVtZW50LmlzTGluZSh2YWx1ZSkpIGFzIFBsYWl0TGluZVtdO1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VFbGVtZW50cyA9IGRyYXdFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKHZhbHVlKSkgYXMgUGxhaXRJbWFnZVtdO1xuXG4gICAgICAgICAgICBjb25zdCBib3VuZExpbmVFbGVtZW50cyA9IFtcbiAgICAgICAgICAgICAgICAuLi5nZXRCb3VuZGVkTGluZUVsZW1lbnRzKGJvYXJkLCBnZW9tZXRyeUVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgICAuLi5nZXRCb3VuZGVkTGluZUVsZW1lbnRzKGJvYXJkLCBpbWFnZUVsZW1lbnRzKVxuICAgICAgICAgICAgXS5maWx0ZXIobGluZSA9PiAhbGluZUVsZW1lbnRzLmluY2x1ZGVzKGxpbmUpKTtcbiAgICAgICAgICAgIGRhdGEucHVzaChcbiAgICAgICAgICAgICAgICAuLi5bXG4gICAgICAgICAgICAgICAgICAgIC4uLmdlb21ldHJ5RWxlbWVudHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLmxpbmVFbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgLi4uaW1hZ2VFbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgLi4uYm91bmRMaW5lRWxlbWVudHMuZmlsdGVyKGxpbmUgPT4gIWxpbmVFbGVtZW50cy5pbmNsdWRlcyhsaW5lKSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXREZWxldGVkRnJhZ21lbnQoZGF0YSk7XG4gICAgfTtcblxuICAgIGJvYXJkLnNldEZyYWdtZW50ID0gKFxuICAgICAgICBkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLFxuICAgICAgICBjbGlwYm9hcmRDb250ZXh0OiBXcml0YWJsZUNsaXBib2FyZENvbnRleHQgfCBudWxsLFxuICAgICAgICByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCB8IG51bGwsXG4gICAgICAgIHR5cGU6ICdjb3B5JyB8ICdjdXQnXG4gICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERyYXdFbGVtZW50cyA9IGdldFNlbGVjdGVkRHJhd0VsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgbGV0IGJvdW5kTGluZUVsZW1lbnRzOiBQbGFpdExpbmVbXSA9IFtdO1xuICAgICAgICBpZiAodGFyZ2V0RHJhd0VsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdjdXQnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnlFbGVtZW50cyA9IHRhcmdldERyYXdFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSkgYXMgUGxhaXRHZW9tZXRyeVtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVFbGVtZW50cyA9IHRhcmdldERyYXdFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gUGxhaXREcmF3RWxlbWVudC5pc0xpbmUodmFsdWUpKSBhcyBQbGFpdExpbmVbXTtcbiAgICAgICAgICAgICAgICBib3VuZExpbmVFbGVtZW50cyA9IGdldEJvdW5kZWRMaW5lRWxlbWVudHMoYm9hcmQsIGdlb21ldHJ5RWxlbWVudHMpLmZpbHRlcihsaW5lID0+ICFsaW5lRWxlbWVudHMuaW5jbHVkZXMobGluZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IFsuLi50YXJnZXREcmF3RWxlbWVudHMsIC4uLmJvdW5kTGluZUVsZW1lbnRzXTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gYnVpbGRDbGlwYm9hcmREYXRhKGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzLCByZWN0YW5nbGUgPyBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSA6IFswLCAwXSk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gZ2V0RWxlbWVudHNUZXh0KHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICAgICAgaWYgKCFjbGlwYm9hcmRDb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkQ29udGV4dCA9IGNyZWF0ZUNsaXBib2FyZENvbnRleHQoV3JpdGFibGVDbGlwYm9hcmRUeXBlLmVsZW1lbnRzLCBlbGVtZW50cywgdGV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNsaXBib2FyZENvbnRleHQgPSBhZGRDbGlwYm9hcmRDb250ZXh0KGNsaXBib2FyZENvbnRleHQsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogV3JpdGFibGVDbGlwYm9hcmRUeXBlLmVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBlbGVtZW50c1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldEZyYWdtZW50KGRhdGEsIGNsaXBib2FyZENvbnRleHQsIHJlY3RhbmdsZSwgdHlwZSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmluc2VydEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIGNsaXBib2FyZERhdGE6IENsaXBib2FyZERhdGEgfCBudWxsLCB0YXJnZXRQb2ludDogUG9pbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YT8uZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgYWNjZXB0SW1hZ2VBcnJheSA9IGFjY2VwdEltYWdlVHlwZXMubWFwKHR5cGUgPT4gJ2ltYWdlLycgKyB0eXBlKTtcbiAgICAgICAgICAgIGNvbnN0IGNhbkluc2VydGlvbkltYWdlID1cbiAgICAgICAgICAgICAgICAhZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlKGJvYXJkKSAmJiAhKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmIGJvYXJkLmlzSW1hZ2VCaW5kaW5nQWxsb3dlZChzZWxlY3RlZEVsZW1lbnRzWzBdKSk7XG4gICAgICAgICAgICBpZiAoYWNjZXB0SW1hZ2VBcnJheS5pbmNsdWRlcyhjbGlwYm9hcmREYXRhLmZpbGVzWzBdLnR5cGUpICYmIGNhbkluc2VydGlvbkltYWdlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2VGaWxlID0gY2xpcGJvYXJkRGF0YS5maWxlc1swXTtcbiAgICAgICAgICAgICAgICBidWlsZEltYWdlKGJvYXJkLCBpbWFnZUZpbGUsIERFRkFVTFRfSU1BR0VfV0lEVEgsIGltYWdlSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLmluc2VydEltYWdlKGJvYXJkLCBpbWFnZUl0ZW0sIHRhcmdldFBvaW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2xpcGJvYXJkRGF0YT8uZWxlbWVudHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZHJhd0VsZW1lbnRzID0gY2xpcGJvYXJkRGF0YS5lbGVtZW50cz8uZmlsdGVyKHZhbHVlID0+IFBsYWl0RHJhd0VsZW1lbnQuaXNEcmF3RWxlbWVudCh2YWx1ZSkpIGFzIFBsYWl0RHJhd0VsZW1lbnRbXTtcbiAgICAgICAgICAgIGlmIChjbGlwYm9hcmREYXRhLmVsZW1lbnRzICYmIGNsaXBib2FyZERhdGEuZWxlbWVudHMubGVuZ3RoID4gMCAmJiBkcmF3RWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGRyYXdFbGVtZW50cywgdGFyZ2V0UG9pbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGE/LnRleHQpIHtcbiAgICAgICAgICAgIGlmICghY2xpcGJvYXJkRGF0YS5lbGVtZW50cyB8fCBjbGlwYm9hcmREYXRhLmVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIC8vICgq77+j77i277+jKVxuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydEFzQ2hpbGRyZW4gPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBzZWxlY3RlZEVsZW1lbnRzWzBdLmNoaWxkcmVuO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydEFzRnJlZVRleHQgPSAhaW5zZXJ0QXNDaGlsZHJlbjtcbiAgICAgICAgICAgICAgICBpZiAoaW5zZXJ0QXNGcmVlVGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5pbnNlcnRUZXh0KGJvYXJkLCB0YXJnZXRQb2ludCwgY2xpcGJvYXJkRGF0YS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIGNsaXBib2FyZERhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJvdW5kZWRMaW5lRWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBsYWl0U2hhcGVzOiBQbGFpdFNoYXBlRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3QgbGluZXMgPSBnZXRMaW5lcyhib2FyZCk7XG4gICAgcmV0dXJuIGxpbmVzLmZpbHRlcihsaW5lID0+XG4gICAgICAgIHBsYWl0U2hhcGVzLmZpbmQoc2hhcGUgPT4gUGxhaXRMaW5lLmlzQm91bmRFbGVtZW50T2ZTb3VyY2UobGluZSwgc2hhcGUpIHx8IFBsYWl0TGluZS5pc0JvdW5kRWxlbWVudE9mVGFyZ2V0KGxpbmUsIHNoYXBlKSlcbiAgICApO1xufTtcbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { PlaitBoard, PlaitElement, getSelectedElements } from '@plait/core';
|
|
1
|
+
import { PlaitBoard, PlaitElement, getHitElementByPoint, getSelectedElements, toHostPoint, toViewBoxPoint } from '@plait/core';
|
|
2
2
|
import { isVirtualKey, isSpaceHotkey, isDelete } from '@plait/common';
|
|
3
3
|
import { PlaitDrawElement } from '../interfaces';
|
|
4
|
-
import { getSelectedGeometryElements } from '../utils';
|
|
5
4
|
export const withDrawHotkey = (board) => {
|
|
6
5
|
const { keyDown, dblClick } = board;
|
|
7
6
|
board.keyDown = (event) => {
|
|
@@ -22,13 +21,16 @@ export const withDrawHotkey = (board) => {
|
|
|
22
21
|
};
|
|
23
22
|
board.dblClick = (event) => {
|
|
24
23
|
event.preventDefault();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
24
|
+
if (!PlaitBoard.isReadonly(board)) {
|
|
25
|
+
const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
|
|
26
|
+
const hitElement = getHitElementByPoint(board, point);
|
|
27
|
+
if (hitElement && PlaitDrawElement.isGeometry(hitElement)) {
|
|
28
|
+
const component = PlaitElement.getComponent(hitElement);
|
|
29
|
+
component.editText();
|
|
30
|
+
}
|
|
29
31
|
}
|
|
30
32
|
dblClick(event);
|
|
31
33
|
};
|
|
32
34
|
return board;
|
|
33
35
|
};
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1kcmF3LWhvdGtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL3BsdWdpbnMvd2l0aC1kcmF3LWhvdGtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ2hELE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXBDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDeEQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFDSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQzdCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDaEIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ3JCLGlCQUFpQjtZQUNqQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQzVDLENBQUM7WUFDQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0UsT0FBTztRQUNYLENBQUM7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUNuQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRSxNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxVQUFVLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFzQixDQUFDO2dCQUM3RSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUM7UUFDRCxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBnZXRIaXRFbGVtZW50QnlQb2ludCwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgdG9Ib3N0UG9pbnQsIHRvVmlld0JveFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgaXNWaXJ0dWFsS2V5LCBpc1NwYWNlSG90a2V5LCBpc0RlbGV0ZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgR2VvbWV0cnlDb21wb25lbnQgfSBmcm9tICcuLi9nZW9tZXRyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRHZW9tZXRyeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3Qgd2l0aERyYXdIb3RrZXkgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGtleURvd24sIGRibENsaWNrIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVNlbGVjdGlvbiA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiZcbiAgICAgICAgICAgICFpc1ZpcnR1YWxLZXkoZXZlbnQpICYmXG4gICAgICAgICAgICAhaXNEZWxldGUoZXZlbnQpICYmXG4gICAgICAgICAgICAhaXNTcGFjZUhvdGtleShldmVudCkgJiZcbiAgICAgICAgICAgIGlzU2luZ2xlU2VsZWN0aW9uICYmXG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodGFyZ2V0RWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgKFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodGFyZ2V0RWxlbWVudCkgYXMgR2VvbWV0cnlDb21wb25lbnQpLmVkaXRUZXh0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBrZXlEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGJsQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICAgICAgY29uc3QgaGl0RWxlbWVudCA9IGdldEhpdEVsZW1lbnRCeVBvaW50KGJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCAmJiBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkoaGl0RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGhpdEVsZW1lbnQpIGFzIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5lZGl0VGV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRibENsaWNrKGV2ZW50KTtcbiAgICB9O1xuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|