@plait/core 0.44.0 → 0.47.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/esm2022/interfaces/board.mjs +1 -1
- package/esm2022/plugins/create-board.mjs +2 -1
- package/esm2022/plugins/with-hotkey.mjs +53 -4
- package/esm2022/plugins/with-moving.mjs +3 -2
- package/esm2022/plugins/with-selection.mjs +39 -34
- package/esm2022/utils/dnd.mjs +8 -0
- package/esm2022/utils/hotkeys.mjs +13 -3
- package/esm2022/utils/index.mjs +2 -1
- package/esm2022/utils/moving-element.mjs +4 -1
- package/fesm2022/plait-core.mjs +112 -37
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/board.d.ts +1 -0
- package/package.json +1 -1
- package/utils/dnd.d.ts +4 -0
- package/utils/hotkeys.d.ts +5 -0
- package/utils/index.d.ts +1 -0
|
@@ -95,4 +95,4 @@ export const PlaitBoard = {
|
|
|
95
95
|
return (board.options.themeColors || ThemeColors);
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixjQUFjLEVBQ2pCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJMUQsT0FBTyxFQUEwQixXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBK0VqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxDQUFDLEtBQVU7UUFDZCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUM3QixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztRQUMxRixjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBZTtRQUN2QyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQWEsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxFQUFFO1lBQ1QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdB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LENBQUM7SUFDckQsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RSxJQUFJLEtBQUssSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGNBQWMsQ0FBb0MsS0FBaUI7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBUSxDQUFDO0lBQzdELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4vcG9pbnRlcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBQbGFpdEVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0SGlzdG9yeSB9IGZyb20gJy4vaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFNlbGVjdGlvbiB9IGZyb20gJy4vc2VsZWN0aW9uJztcbmltcG9ydCB7IFZpZXdwb3J0IH0gZnJvbSAnLi92aWV3cG9ydCc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2VsZW1lbnQvcGx1Z2luLWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgICBCT0FSRF9UT19DT01QT05FTlQsXG4gICAgQk9BUkRfVE9fRUxFTUVOVF9IT1NULFxuICAgIEJPQVJEX1RPX0hPU1QsXG4gICAgQk9BUkRfVE9fTU9WSU5HX1BPSU5ULFxuICAgIEJPQVJEX1RPX01PVklOR19QT0lOVF9JTl9CT0FSRCxcbiAgICBCT0FSRF9UT19ST1VHSF9TVkcsXG4gICAgSVNfQk9BUkRfQ0FDSEUsXG4gICAgSVNfVEVYVF9FRElUQUJMRSxcbiAgICBOT0RFX1RPX0lOREVYLFxuICAgIE5PREVfVE9fUEFSRU5UXG59IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBCb2FyZENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuL3BvaW50JztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4vcmVjdGFuZ2xlLWNsaWVudCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBQYXRoUmVmLCBQYXRoUmVmT3B0aW9ucyB9IGZyb20gJy4vcGF0aC1yZWYnO1xuaW1wb3J0IHsgQW5jZXN0b3IsIFBsYWl0Tm9kZSB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFBsYWl0VGhlbWUsIFRoZW1lQ29sb3IsIFRoZW1lQ29sb3JzIH0gZnJvbSAnLi90aGVtZSc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL21hdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmQge1xuICAgIHZpZXdwb3J0OiBWaWV3cG9ydDtcbiAgICBjaGlsZHJlbjogUGxhaXRFbGVtZW50W107XG4gICAgdGhlbWU6IFBsYWl0VGhlbWU7XG4gICAgb3BlcmF0aW9uczogUGxhaXRPcGVyYXRpb25bXTtcbiAgICAvLyByZWNvcmQgcG9pbnRlciBzZWxlY3Rpb24gb3IgZHJhZyBzZWxlY3Rpb25cbiAgICAvLyBpdCB3aWxsIGJlIGRpcnR5IHdoZW4gYm9hcmQgdmlld3BvcnQgY2hhbmdlXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsO1xuICAgIHBvaW50ZXI6IFBsYWl0UG9pbnRlclR5cGUgfCBzdHJpbmc7XG4gICAgaGlzdG9yeTogUGxhaXRIaXN0b3J5O1xuICAgIG9wdGlvbnM6IFBsYWl0Qm9hcmRPcHRpb25zO1xuICAgIHVuZG86ICgpID0+IHZvaWQ7XG4gICAgcmVkbzogKCkgPT4gdm9pZDtcbiAgICBhcHBseTogKG9wZXJhdGlvbjogUGxhaXRPcGVyYXRpb24pID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XG4gICAgYWZ0ZXJDaGFuZ2U6ICgpID0+IHZvaWQ7XG4gICAgbW91c2Vkb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgbW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgbW91c2VsZWF2ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxNb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxNb3VzZXVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAga2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuICAgIGdsb2JhbEtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBrZXl1cDogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuICAgIHNldEZyYWdtZW50OiAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLCB0eXBlOiAnY29weScgfCAnY3V0JykgPT4gdm9pZDtcbiAgICBpbnNlcnRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCkgPT4gdm9pZDtcbiAgICBkZWxldGVGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHZvaWQ7XG4gICAgZ2V0RGVsZXRlZEZyYWdtZW50OiAoZGF0YTogUGxhaXRFbGVtZW50W10pID0+IFBsYWl0RWxlbWVudFtdO1xuICAgIGRibGNsaWNrOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgZHJhd0VsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiBTVkdHRWxlbWVudFtdIHwgQ29tcG9uZW50VHlwZTxQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQ+O1xuICAgIHJlZHJhd0VsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LCBwcmV2aW91c0NvbnRleHQ/OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiBTVkdHRWxlbWVudFtdIHwgdm9pZDtcbiAgICBkZXN0cm95RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IHZvaWQ7XG4gICAgaXNSZWN0YW5nbGVIaXQ6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHJhbmdlOiBTZWxlY3Rpb24pID0+IGJvb2xlYW47XG4gICAgLy8gV2hlbiB0aGUgZWxlbWVudCBoYXMgbm8gZmlsbCBjb2xvciwgaXQgaXMgY29uc2lkZXJlZCBhIGhpdCBvbmx5IGlmIGl0IGhpdHMgdGhlIGJvcmRlci5cbiAgICBpc0hpdDogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgcG9pbnQ6IFBvaW50KSA9PiBib29sZWFuO1xuICAgIGlzUmVjdXJzaW9uOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIGlzTW92YWJsZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IFJlY3RhbmdsZUNsaWVudCB8IG51bGw7XG4gICAgaXNXaXRoaW5TZWxlY3Rpb246IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgcGF0aFJlZjogKHBhdGg6IFBhdGgsIG9wdGlvbnM/OiBQYXRoUmVmT3B0aW9ucykgPT4gUGF0aFJlZjtcbiAgICBwYXRoUmVmczogKCkgPT4gU2V0PFBhdGhSZWY+O1xuICAgIGFwcGx5VGhlbWU6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHZvaWQ7XG4gICAgaXNBbGlnbjogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBpc0ltYWdlQmluZGluZ0FsbG93ZWQ6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG5cbiAgICAvLyBwb2ludGVyIGhvb2tcbiAgICBwb2ludGVyRG93bjogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyTW92ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyVXA6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlckNhbmNlbDogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyT3V0OiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJMZWF2ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxQb2ludGVyTW92ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxQb2ludGVyVXA6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRCb2FyZENoYW5nZUV2ZW50IHtcbiAgICBjaGlsZHJlbjogUGxhaXRFbGVtZW50W107XG4gICAgb3BlcmF0aW9uczogUGxhaXRPcGVyYXRpb25bXTtcbiAgICB2aWV3cG9ydDogVmlld3BvcnQ7XG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsO1xuICAgIHRoZW1lOiBQbGFpdFRoZW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmRPcHRpb25zIHtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgaGlkZVNjcm9sbGJhcj86IGJvb2xlYW47XG4gICAgZGlzYWJsZWRTY3JvbGxPbk5vbkZvY3VzPzogYm9vbGVhbjtcbiAgICB0aGVtZUNvbG9ycz86IFRoZW1lQ29sb3JbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkTW92ZSB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0Qm9hcmQgPSB7XG4gICAgaXNCb2FyZCh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRCb2FyZCB7XG4gICAgICAgIGNvbnN0IGNhY2hlZElzQm9hcmQgPSBJU19CT0FSRF9DQUNIRS5nZXQodmFsdWUpO1xuICAgICAgICBpZiAoY2FjaGVkSXNCb2FyZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkSXNCb2FyZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0JvYXJkID0gdHlwZW9mIHZhbHVlLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZS5hcHBseSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgICAgSVNfQk9BUkRfQ0FDSEUuc2V0KHZhbHVlLCBpc0JvYXJkKTtcbiAgICAgICAgcmV0dXJuIGlzQm9hcmQ7XG4gICAgfSxcbiAgICBmaW5kUGF0aChib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogUGxhaXROb2RlKTogUGF0aCB7XG4gICAgICAgIGNvbnN0IHBhdGg6IFBhdGggPSBbXTtcbiAgICAgICAgbGV0IGNoaWxkOiBBbmNlc3RvciA9IG5vZGU7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBOT0RFX1RPX1BBUkVOVC5nZXQoY2hpbGQgYXMgUGxhaXRFbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChwYXJlbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGkgPSBOT0RFX1RPX0lOREVYLmdldChjaGlsZCBhcyBQbGFpdEVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0aC51bnNoaWZ0KGkpO1xuICAgICAgICAgICAgY2hpbGQgPSBwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCB0aGUgcGF0aCBmb3IgUGxhaXQgbm9kZTogJHtKU09OLnN0cmluZ2lmeShub2RlKX1gKTtcbiAgICB9LFxuICAgIGdldEhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0hPU1QuZ2V0KGJvYXJkKSBhcyBTVkdTVkdFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0RWxlbWVudEhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0VMRU1FTlRfSE9TVC5nZXQoYm9hcmQpPy5ob3N0IGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRFbGVtZW50VXBwZXJIb3N0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19FTEVNRU5UX0hPU1QuZ2V0KGJvYXJkKT8udXBwZXJIb3N0IGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fRUxFTUVOVF9IT1NULmdldChib2FyZCk/LmFjdGl2ZUhvc3QgYXMgU1ZHU1ZHRWxlbWVudDtcbiAgICB9LFxuICAgIGdldFJvdWdoU1ZHKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19ST1VHSF9TVkcuZ2V0KGJvYXJkKSBhcyBSb3VnaFNWRztcbiAgICB9LFxuICAgIGdldENvbXBvbmVudChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCkgYXMgQm9hcmRDb21wb25lbnRJbnRlcmZhY2U7XG4gICAgfSxcbiAgICBnZXRCb2FyZENvbnRhaW5lcihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRSZWN0YW5nbGUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICB9LFxuICAgIGdldFZpZXdwb3J0Q29udGFpbmVyKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfSxcbiAgICBpc0ZvY3VzKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiAhIWJvYXJkLnNlbGVjdGlvbjtcbiAgICB9LFxuICAgIGlzUmVhZG9ubHkoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLm9wdGlvbnMucmVhZG9ubHk7XG4gICAgfSxcbiAgICBoYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuICEhSVNfVEVYVF9FRElUQUJMRS5nZXQoYm9hcmQpO1xuICAgIH0sXG4gICAgZ2V0UG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLnBvaW50ZXIgYXMgVDtcbiAgICB9LFxuICAgIGlzUG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXI6IFQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLnBvaW50ZXIgPT09IHBvaW50ZXI7XG4gICAgfSxcbiAgICBpc0luUG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXJzOiBUW10pIHtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBib2FyZC5wb2ludGVyIGFzIFQ7XG4gICAgICAgIHJldHVybiBwb2ludGVycy5pbmNsdWRlcyhwb2ludCk7XG4gICAgfSxcbiAgICBnZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX01PVklOR19QT0lOVF9JTl9CT0FSRC5nZXQoYm9hcmQpO1xuICAgIH0sXG4gICAgaXNNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBCT0FSRF9UT19NT1ZJTkdfUE9JTlQuZ2V0KGJvYXJkKTtcbiAgICAgICAgY29uc3QgcmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBpZiAocG9pbnQgJiYgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUocG9pbnRbMF0sIHBvaW50WzFdLCByZWN0KSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgZ2V0VGhlbWVDb2xvcnM8VCBleHRlbmRzIFRoZW1lQ29sb3IgPSBUaGVtZUNvbG9yPihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gKGJvYXJkLm9wdGlvbnMudGhlbWVDb2xvcnMgfHwgVGhlbWVDb2xvcnMpIGFzIFRbXTtcbiAgICB9XG59O1xuIl19
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixjQUFjLEVBQ2pCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJMUQsT0FBTyxFQUEwQixXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBZ0ZqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxDQUFDLEtBQVU7UUFDZCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUM3QixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztRQUMxRixjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBZTtRQUN2QyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQWEsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxFQUFFO1lBQ1QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdB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LENBQUM7SUFDckQsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RSxJQUFJLEtBQUssSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGNBQWMsQ0FBb0MsS0FBaUI7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBUSxDQUFDO0lBQzdELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4vcG9pbnRlcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBQbGFpdEVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0SGlzdG9yeSB9IGZyb20gJy4vaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFNlbGVjdGlvbiB9IGZyb20gJy4vc2VsZWN0aW9uJztcbmltcG9ydCB7IFZpZXdwb3J0IH0gZnJvbSAnLi92aWV3cG9ydCc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2VsZW1lbnQvcGx1Z2luLWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgICBCT0FSRF9UT19DT01QT05FTlQsXG4gICAgQk9BUkRfVE9fRUxFTUVOVF9IT1NULFxuICAgIEJPQVJEX1RPX0hPU1QsXG4gICAgQk9BUkRfVE9fTU9WSU5HX1BPSU5ULFxuICAgIEJPQVJEX1RPX01PVklOR19QT0lOVF9JTl9CT0FSRCxcbiAgICBCT0FSRF9UT19ST1VHSF9TVkcsXG4gICAgSVNfQk9BUkRfQ0FDSEUsXG4gICAgSVNfVEVYVF9FRElUQUJMRSxcbiAgICBOT0RFX1RPX0lOREVYLFxuICAgIE5PREVfVE9fUEFSRU5UXG59IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBCb2FyZENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuL3BvaW50JztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4vcmVjdGFuZ2xlLWNsaWVudCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBQYXRoUmVmLCBQYXRoUmVmT3B0aW9ucyB9IGZyb20gJy4vcGF0aC1yZWYnO1xuaW1wb3J0IHsgQW5jZXN0b3IsIFBsYWl0Tm9kZSB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnLi9wYXRoJztcbmltcG9ydCB7IFBsYWl0VGhlbWUsIFRoZW1lQ29sb3IsIFRoZW1lQ29sb3JzIH0gZnJvbSAnLi90aGVtZSc7XG5pbXBvcnQgeyBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL21hdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmQge1xuICAgIHZpZXdwb3J0OiBWaWV3cG9ydDtcbiAgICBjaGlsZHJlbjogUGxhaXRFbGVtZW50W107XG4gICAgdGhlbWU6IFBsYWl0VGhlbWU7XG4gICAgb3BlcmF0aW9uczogUGxhaXRPcGVyYXRpb25bXTtcbiAgICAvLyByZWNvcmQgcG9pbnRlciBzZWxlY3Rpb24gb3IgZHJhZyBzZWxlY3Rpb25cbiAgICAvLyBpdCB3aWxsIGJlIGRpcnR5IHdoZW4gYm9hcmQgdmlld3BvcnQgY2hhbmdlXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsO1xuICAgIHBvaW50ZXI6IFBsYWl0UG9pbnRlclR5cGUgfCBzdHJpbmc7XG4gICAgaGlzdG9yeTogUGxhaXRIaXN0b3J5O1xuICAgIG9wdGlvbnM6IFBsYWl0Qm9hcmRPcHRpb25zO1xuICAgIHVuZG86ICgpID0+IHZvaWQ7XG4gICAgcmVkbzogKCkgPT4gdm9pZDtcbiAgICBhcHBseTogKG9wZXJhdGlvbjogUGxhaXRPcGVyYXRpb24pID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XG4gICAgYWZ0ZXJDaGFuZ2U6ICgpID0+IHZvaWQ7XG4gICAgbW91c2Vkb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgbW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgbW91c2VsZWF2ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxNb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxNb3VzZXVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAga2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuICAgIGdsb2JhbEtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBrZXl1cDogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xuICAgIHNldEZyYWdtZW50OiAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLCB0eXBlOiAnY29weScgfCAnY3V0JykgPT4gdm9pZDtcbiAgICBpbnNlcnRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCkgPT4gdm9pZDtcbiAgICBkZWxldGVGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHZvaWQ7XG4gICAgZ2V0RGVsZXRlZEZyYWdtZW50OiAoZGF0YTogUGxhaXRFbGVtZW50W10pID0+IFBsYWl0RWxlbWVudFtdO1xuICAgIGdldFJlbGF0ZWRGcmFnbWVudDogKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiBQbGFpdEVsZW1lbnRbXTtcbiAgICBkYmxjbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIGRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gU1ZHR0VsZW1lbnRbXSB8IENvbXBvbmVudFR5cGU8UGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PjtcbiAgICByZWRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgcHJldmlvdXNDb250ZXh0PzogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gU1ZHR0VsZW1lbnRbXSB8IHZvaWQ7XG4gICAgZGVzdHJveUVsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB2b2lkO1xuICAgIGlzUmVjdGFuZ2xlSGl0OiAoZWxlbWVudDogUGxhaXRFbGVtZW50LCByYW5nZTogU2VsZWN0aW9uKSA9PiBib29sZWFuO1xuICAgIC8vIFdoZW4gdGhlIGVsZW1lbnQgaGFzIG5vIGZpbGwgY29sb3IsIGl0IGlzIGNvbnNpZGVyZWQgYSBoaXQgb25seSBpZiBpdCBoaXRzIHRoZSBib3JkZXIuXG4gICAgaXNIaXQ6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQsIHBvaW50OiBQb2ludCkgPT4gYm9vbGVhbjtcbiAgICBpc1JlY3Vyc2lvbjogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBpc01vdmFibGU6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgZ2V0UmVjdGFuZ2xlOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBSZWN0YW5nbGVDbGllbnQgfCBudWxsO1xuICAgIGlzV2l0aGluU2VsZWN0aW9uOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIHBhdGhSZWY6IChwYXRoOiBQYXRoLCBvcHRpb25zPzogUGF0aFJlZk9wdGlvbnMpID0+IFBhdGhSZWY7XG4gICAgcGF0aFJlZnM6ICgpID0+IFNldDxQYXRoUmVmPjtcbiAgICBhcHBseVRoZW1lOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB2b2lkO1xuICAgIGlzQWxpZ246IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgaXNJbWFnZUJpbmRpbmdBbGxvd2VkOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuXG4gICAgLy8gcG9pbnRlciBob29rXG4gICAgcG9pbnRlckRvd246IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlck1vdmU6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlclVwOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJDYW5jZWw6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlck91dDogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyTGVhdmU6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsUG9pbnRlck1vdmU6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsUG9pbnRlclVwOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmRDaGFuZ2VFdmVudCB7XG4gICAgY2hpbGRyZW46IFBsYWl0RWxlbWVudFtdO1xuICAgIG9wZXJhdGlvbnM6IFBsYWl0T3BlcmF0aW9uW107XG4gICAgdmlld3BvcnQ6IFZpZXdwb3J0O1xuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbDtcbiAgICB0aGVtZTogUGxhaXRUaGVtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkT3B0aW9ucyB7XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xuICAgIGhpZGVTY3JvbGxiYXI/OiBib29sZWFuO1xuICAgIGRpc2FibGVkU2Nyb2xsT25Ob25Gb2N1cz86IGJvb2xlYW47XG4gICAgdGhlbWVDb2xvcnM/OiBUaGVtZUNvbG9yW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRCb2FyZE1vdmUge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdEJvYXJkID0ge1xuICAgIGlzQm9hcmQodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0Qm9hcmQge1xuICAgICAgICBjb25zdCBjYWNoZWRJc0JvYXJkID0gSVNfQk9BUkRfQ0FDSEUuZ2V0KHZhbHVlKTtcbiAgICAgICAgaWYgKGNhY2hlZElzQm9hcmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZElzQm9hcmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNCb2FyZCA9IHR5cGVvZiB2YWx1ZS5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgdmFsdWUuYXBwbHkgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIElTX0JPQVJEX0NBQ0hFLnNldCh2YWx1ZSwgaXNCb2FyZCk7XG4gICAgICAgIHJldHVybiBpc0JvYXJkO1xuICAgIH0sXG4gICAgZmluZFBhdGgoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IFBsYWl0Tm9kZSk6IFBhdGgge1xuICAgICAgICBjb25zdCBwYXRoOiBQYXRoID0gW107XG4gICAgICAgIGxldCBjaGlsZDogQW5jZXN0b3IgPSBub2RlO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gTk9ERV9UT19QQVJFTlQuZ2V0KGNoaWxkIGFzIFBsYWl0RWxlbWVudCk7XG4gICAgICAgICAgICBpZiAocGFyZW50ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpID0gTk9ERV9UT19JTkRFWC5nZXQoY2hpbGQgYXMgUGxhaXRFbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChpID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChpKTtcbiAgICAgICAgICAgIGNoaWxkID0gcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgdGhlIHBhdGggZm9yIFBsYWl0IG5vZGU6ICR7SlNPTi5zdHJpbmdpZnkobm9kZSl9YCk7XG4gICAgfSxcbiAgICBnZXRIb3N0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19IT1NULmdldChib2FyZCkgYXMgU1ZHU1ZHRWxlbWVudDtcbiAgICB9LFxuICAgIGdldEVsZW1lbnRIb3N0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19FTEVNRU5UX0hPU1QuZ2V0KGJvYXJkKT8uaG9zdCBhcyBTVkdTVkdFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0RWxlbWVudFVwcGVySG9zdChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fRUxFTUVOVF9IT1NULmdldChib2FyZCk/LnVwcGVySG9zdCBhcyBTVkdTVkdFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0VMRU1FTlRfSE9TVC5nZXQoYm9hcmQpPy5hY3RpdmVIb3N0IGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRSb3VnaFNWRyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fUk9VR0hfU1ZHLmdldChib2FyZCkgYXMgUm91Z2hTVkc7XG4gICAgfSxcbiAgICBnZXRDb21wb25lbnQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0NPTVBPTkVOVC5nZXQoYm9hcmQpIGFzIEJvYXJkQ29tcG9uZW50SW50ZXJmYWNlO1xuICAgIH0sXG4gICAgZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKS5uYXRpdmVFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0UmVjdGFuZ2xlKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBib2FyZC5jaGlsZHJlbiwgdHJ1ZSk7XG4gICAgfSxcbiAgICBnZXRWaWV3cG9ydENvbnRhaW5lcihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH0sXG4gICAgaXNGb2N1cyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gISFib2FyZC5zZWxlY3Rpb247XG4gICAgfSxcbiAgICBpc1JlYWRvbmx5KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBib2FyZC5vcHRpb25zLnJlYWRvbmx5O1xuICAgIH0sXG4gICAgaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiAhIUlTX1RFWFRfRURJVEFCTEUuZ2V0KGJvYXJkKTtcbiAgICB9LFxuICAgIGdldFBvaW50ZXI8VCA9IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBib2FyZC5wb2ludGVyIGFzIFQ7XG4gICAgfSxcbiAgICBpc1BvaW50ZXI8VCA9IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkOiBQbGFpdEJvYXJkLCBwb2ludGVyOiBUKSB7XG4gICAgICAgIHJldHVybiBib2FyZC5wb2ludGVyID09PSBwb2ludGVyO1xuICAgIH0sXG4gICAgaXNJblBvaW50ZXI8VCA9IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkOiBQbGFpdEJvYXJkLCBwb2ludGVyczogVFtdKSB7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gYm9hcmQucG9pbnRlciBhcyBUO1xuICAgICAgICByZXR1cm4gcG9pbnRlcnMuaW5jbHVkZXMocG9pbnQpO1xuICAgIH0sXG4gICAgZ2V0TW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19NT1ZJTkdfUE9JTlRfSU5fQk9BUkQuZ2V0KGJvYXJkKTtcbiAgICB9LFxuICAgIGlzTW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gQk9BUkRfVE9fTU9WSU5HX1BPSU5ULmdldChib2FyZCk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgaWYgKHBvaW50ICYmIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUmVjdGFuZ2xlKHBvaW50WzBdLCBwb2ludFsxXSwgcmVjdCkgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIGdldFRoZW1lQ29sb3JzPFQgZXh0ZW5kcyBUaGVtZUNvbG9yID0gVGhlbWVDb2xvcj4oYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIChib2FyZC5vcHRpb25zLnRoZW1lQ29sb3JzIHx8IFRoZW1lQ29sb3JzKSBhcyBUW107XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -85,6 +85,7 @@ export function createBoard(children, options) {
|
|
|
85
85
|
CoreTransforms.removeElements(board, elements);
|
|
86
86
|
},
|
|
87
87
|
getDeletedFragment: (data) => data,
|
|
88
|
+
getRelatedFragment: (data) => data,
|
|
88
89
|
drawElement: (context) => [],
|
|
89
90
|
redrawElement: (context, previousContext) => { },
|
|
90
91
|
destroyElement: (context) => { },
|
|
@@ -108,4 +109,4 @@ export function createBoard(children, options) {
|
|
|
108
109
|
};
|
|
109
110
|
return board;
|
|
110
111
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy9jcmVhdGUtYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsV0FBVyxDQUFDLFFBQXdCLEVBQUUsT0FBMkI7SUFDN0UsTUFBTSxLQUFLLEdBQWU7UUFDdEIsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLENBQUM7U0FDVjtRQUNELFFBQVE7UUFDUixLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUNqRCxVQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRTtZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7U0FDWjtRQUNELFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFLE9BQU8sSUFBSTtZQUNoQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLHdCQUF3QixFQUFFLEtBQUs7U0FDbEM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1FBQy9FLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRSxD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QUMsRUFBRSxHQUFFLENBQUM7UUFDMUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUMxQixTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDO1FBQ3hCLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxHQUFFLENBQUM7UUFDNUIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUN6QixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDO1FBQzNCLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUNoQyxlQUFlLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDO1FBQzlCLHFCQUFxQixFQUFFLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSztLQUMxRCxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Qm9hcmRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBQbGFpdFBvaW50ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludGVyJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0IH0gZnJvbSAnLi4vY29yZS9lbGVtZW50L2NvbnRleHQnO1xuaW1wb3J0IHsgUGxhaXRPcGVyYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wZXJhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBGTFVTSElORywgUEFUSF9SRUZTIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFBhdGhSZWYsIFBhdGhSZWZPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXRoLXJlZic7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXRoJztcbmltcG9ydCB7IFRoZW1lQ29sb3JNb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aGVtZSc7XG5pbXBvcnQgeyBDb3JlVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMvZWxlbWVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb2FyZChjaGlsZHJlbjogUGxhaXRFbGVtZW50W10sIG9wdGlvbnM/OiBQbGFpdEJvYXJkT3B0aW9ucyk6IFBsYWl0Qm9hcmQge1xuICAgIGNvbnN0IGJvYXJkOiBQbGFpdEJvYXJkID0ge1xuICAgICAgICB2aWV3cG9ydDoge1xuICAgICAgICAgICAgem9vbTogMVxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgdGhlbWU6IHsgdGhlbWVDb2xvck1vZGU6IFRoZW1lQ29sb3JNb2RlLmRlZmF1bHQgfSxcbiAgICAgICAgb3BlcmF0aW9uczogW10sXG4gICAgICAgIGhpc3Rvcnk6IHtcbiAgICAgICAgICAgIHJlZG9zOiBbXSxcbiAgICAgICAgICAgIHVuZG9zOiBbXVxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Rpb246IG51bGwsXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMgfHwge1xuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICAgICAgaGlkZVNjcm9sbGJhcjogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlZFNjcm9sbE9uTm9uRm9jdXM6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHBvaW50ZXI6IG9wdGlvbnM/LnJlYWRvbmx5ID8gUGxhaXRQb2ludGVyVHlwZS5oYW5kIDogUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24sXG4gICAgICAgIHVuZG86ICgpID0+IHt9LFxuICAgICAgICByZWRvOiAoKSA9PiB7fSxcbiAgICAgICAgYXBwbHk6IChvcGVyYXRpb246IFBsYWl0T3BlcmF0aW9uKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZiBvZiBib2FyZC5wYXRoUmVmcygpKSB7XG4gICAgICAgICAgICAgICAgUGF0aFJlZi50cmFuc2Zvcm0ocmVmLCBvcGVyYXRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib2FyZC5vcGVyYXRpb25zLnB1c2gob3BlcmF0aW9uKTtcblxuICAgICAgICAgICAgVHJhbnNmb3Jtcy50cmFuc2Zvcm0oYm9hcmQsIG9wZXJhdGlvbik7XG5cbiAgICAgICAgICAgIGlmICghRkxVU0hJTkcuZ2V0KGJvYXJkKSkge1xuICAgICAgICAgICAgICAgIEZMVVNISU5HLnNldChib2FyZCwgdHJ1ZSk7XG5cbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRkxVU0hJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLm9uQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLmFmdGVyQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLm9wZXJhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGF0aFJlZjogKHBhdGg6IFBhdGgsIG9wdGlvbnM/OiBQYXRoUmVmT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWZmaW5pdHkgPSBvcHRpb25zPy5hZmZpbml0eSB8fCAnZm9yd2FyZCc7XG4gICAgICAgICAgICBjb25zdCByZWY6IFBhdGhSZWYgPSB7XG4gICAgICAgICAgICAgICAgY3VycmVudDogcGF0aCxcbiAgICAgICAgICAgICAgICBhZmZpbml0eSxcbiAgICAgICAgICAgICAgICB1bnJlZigpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSByZWY7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhSZWZzID0gYm9hcmQucGF0aFJlZnMoKTtcbiAgICAgICAgICAgICAgICAgICAgcGF0aFJlZnMuZGVsZXRlKHJlZik7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgcmVmcyA9IGJvYXJkLnBhdGhSZWZzKCk7XG4gICAgICAgICAgICByZWZzLmFkZChyZWYpO1xuICAgICAgICAgICAgcmV0dXJuIHJlZjtcbiAgICAgICAgfSxcbiAgICAgICAgcGF0aFJlZnM6ICgpID0+IHtcbiAgICAgICAgICAgIGxldCByZWZzID0gUEFUSF9SRUZTLmdldChib2FyZCk7XG5cbiAgICAgICAgICAgIGlmICghcmVmcykge1xuICAgICAgICAgICAgICAgIHJlZnMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgUEFUSF9SRUZTLnNldChib2FyZCwgcmVmcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWZzO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZTogKCkgPT4ge30sXG4gICAgICAgIGFmdGVyQ2hhbmdlOiAoKSA9PiB7fSxcbiAgICAgICAgbW91c2Vkb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBtb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIG1vdXNlbGVhdmU6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbE1vdXNlbW92ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgbW91c2V1cDogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgZ2xvYmFsTW91c2V1cDogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAga2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7fSxcbiAgICAgICAgZ2xvYmFsS2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7fSxcbiAgICAgICAga2V5dXA6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGRibGNsaWNrOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBzZXRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHt9LFxuICAgICAgICBpbnNlcnRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHt9LFxuICAgICAgICBkZWxldGVGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gYm9hcmQuZ2V0RGVsZXRlZEZyYWdtZW50KFtdKTtcbiAgICAgICAgICAgIENvcmVUcmFuc2Zvcm1zLnJlbW92ZUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cyk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldERlbGV0ZWRGcmFnbWVudDogKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiBkYXRhLFxuICAgICAgICBkcmF3RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IFtdLFxuICAgICAgICByZWRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgcHJldmlvdXNDb250ZXh0KSA9PiB7fSxcbiAgICAgICAgZGVzdHJveUVsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7fSxcbiAgICAgICAgaXNXaXRoaW5TZWxlY3Rpb246IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIGlzUmVjdGFuZ2xlSGl0OiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBpc0hpdDogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgaXNSZWN1cnNpb246IGVsZW1lbnQgPT4gdHJ1ZSxcbiAgICAgICAgaXNNb3ZhYmxlOiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBnZXRSZWN0YW5nbGU6IGVsZW1lbnQgPT4gbnVsbCxcbiAgICAgICAgYXBwbHlUaGVtZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge30sXG4gICAgICAgIGlzQWxpZ246IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIHBvaW50ZXJEb3duOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyTW92ZTogcG9pbnRlciA9PiB7fSxcbiAgICAgICAgcG9pbnRlclVwOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyQ2FuY2VsOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyT3V0OiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyTGVhdmU6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIGdsb2JhbFBvaW50ZXJNb3ZlOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBnbG9iYWxQb2ludGVyVXA6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIGlzSW1hZ2VCaW5kaW5nQWxsb3dlZDogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gZmFsc2VcbiAgICB9O1xuICAgIHJldHVybiBib2FyZDtcbn1cbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy9jcmVhdGUtYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsV0FBVyxDQUFDLFFBQXdCLEVBQUUsT0FBMkI7SUFDN0UsTUFBTSxLQUFLLEdBQWU7UUFDdEIsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLENBQUM7U0FDVjtRQUNELFFBQVE7UUFDUixLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUNqRCxVQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRTtZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7U0FDWjtRQUNELFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFLE9BQU8sSUFBSTtZQUNoQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLHdCQUF3QixFQUFFLEtBQUs7U0FDbEM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1FBQy9FLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRSxD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LE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSztRQUN6QixXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDO1FBQzFCLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxHQUFFLENBQUM7UUFDMUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUN4QixhQUFhLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRSxDQUFDO1FBQzVCLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxHQUFFLENBQUM7UUFDekIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUMzQixpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRSxHQUFFLENBQUM7UUFDaEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUUsQ0FBQztRQUM5QixxQkFBcUIsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUs7S0FDMUQsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEJvYXJkT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnRlcic7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0T3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcGVyYXRpb24nO1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgRkxVU0hJTkcsIFBBVEhfUkVGUyB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBQYXRoUmVmLCBQYXRoUmVmT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGF0aC1yZWYnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGF0aCc7XG5pbXBvcnQgeyBUaGVtZUNvbG9yTW9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGhlbWUnO1xuaW1wb3J0IHsgQ29yZVRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zL2VsZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm9hcmQoY2hpbGRyZW46IFBsYWl0RWxlbWVudFtdLCBvcHRpb25zPzogUGxhaXRCb2FyZE9wdGlvbnMpOiBQbGFpdEJvYXJkIHtcbiAgICBjb25zdCBib2FyZDogUGxhaXRCb2FyZCA9IHtcbiAgICAgICAgdmlld3BvcnQ6IHtcbiAgICAgICAgICAgIHpvb206IDFcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHRoZW1lOiB7IHRoZW1lQ29sb3JNb2RlOiBUaGVtZUNvbG9yTW9kZS5kZWZhdWx0IH0sXG4gICAgICAgIG9wZXJhdGlvbnM6IFtdLFxuICAgICAgICBoaXN0b3J5OiB7XG4gICAgICAgICAgICByZWRvczogW10sXG4gICAgICAgICAgICB1bmRvczogW11cbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0aW9uOiBudWxsLFxuICAgICAgICBvcHRpb25zOiBvcHRpb25zIHx8IHtcbiAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGVTY3JvbGxiYXI6IGZhbHNlLFxuICAgICAgICAgICAgZGlzYWJsZWRTY3JvbGxPbk5vbkZvY3VzOiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBwb2ludGVyOiBvcHRpb25zPy5yZWFkb25seSA/IFBsYWl0UG9pbnRlclR5cGUuaGFuZCA6IFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uLFxuICAgICAgICB1bmRvOiAoKSA9PiB7fSxcbiAgICAgICAgcmVkbzogKCkgPT4ge30sXG4gICAgICAgIGFwcGx5OiAob3BlcmF0aW9uOiBQbGFpdE9wZXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZWYgb2YgYm9hcmQucGF0aFJlZnMoKSkge1xuICAgICAgICAgICAgICAgIFBhdGhSZWYudHJhbnNmb3JtKHJlZiwgb3BlcmF0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYm9hcmQub3BlcmF0aW9ucy5wdXNoKG9wZXJhdGlvbik7XG5cbiAgICAgICAgICAgIFRyYW5zZm9ybXMudHJhbnNmb3JtKGJvYXJkLCBvcGVyYXRpb24pO1xuXG4gICAgICAgICAgICBpZiAoIUZMVVNISU5HLmdldChib2FyZCkpIHtcbiAgICAgICAgICAgICAgICBGTFVTSElORy5zZXQoYm9hcmQsIHRydWUpO1xuXG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIEZMVVNISU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5vbkNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5hZnRlckNoYW5nZSgpO1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5vcGVyYXRpb25zID0gW107XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGhSZWY6IChwYXRoOiBQYXRoLCBvcHRpb25zPzogUGF0aFJlZk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFmZmluaXR5ID0gb3B0aW9ucz8uYWZmaW5pdHkgfHwgJ2ZvcndhcmQnO1xuICAgICAgICAgICAgY29uc3QgcmVmOiBQYXRoUmVmID0ge1xuICAgICAgICAgICAgICAgIGN1cnJlbnQ6IHBhdGgsXG4gICAgICAgICAgICAgICAgYWZmaW5pdHksXG4gICAgICAgICAgICAgICAgdW5yZWYoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudCB9ID0gcmVmO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoUmVmcyA9IGJvYXJkLnBhdGhSZWZzKCk7XG4gICAgICAgICAgICAgICAgICAgIHBhdGhSZWZzLmRlbGV0ZShyZWYpO1xuICAgICAgICAgICAgICAgICAgICByZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZnMgPSBib2FyZC5wYXRoUmVmcygpO1xuICAgICAgICAgICAgcmVmcy5hZGQocmVmKTtcbiAgICAgICAgICAgIHJldHVybiByZWY7XG4gICAgICAgIH0sXG4gICAgICAgIHBhdGhSZWZzOiAoKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVmcyA9IFBBVEhfUkVGUy5nZXQoYm9hcmQpO1xuXG4gICAgICAgICAgICBpZiAoIXJlZnMpIHtcbiAgICAgICAgICAgICAgICByZWZzID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgIFBBVEhfUkVGUy5zZXQoYm9hcmQsIHJlZnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVmcztcbiAgICAgICAgfSxcbiAgICAgICAgb25DaGFuZ2U6ICgpID0+IHt9LFxuICAgICAgICBhZnRlckNoYW5nZTogKCkgPT4ge30sXG4gICAgICAgIG1vdXNlZG93bjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgbW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBtb3VzZWxlYXZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBnbG9iYWxNb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIG1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbE1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbEtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGtleXVwOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHt9LFxuICAgICAgICBkYmxjbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgc2V0RnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7fSxcbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7fSxcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJvYXJkLmdldERlbGV0ZWRGcmFnbWVudChbXSk7XG4gICAgICAgICAgICBDb3JlVHJhbnNmb3Jtcy5yZW1vdmVFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICB9LFxuICAgICAgICBnZXREZWxldGVkRnJhZ21lbnQ6IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4gZGF0YSxcbiAgICAgICAgZ2V0UmVsYXRlZEZyYWdtZW50OiAoZGF0YTogUGxhaXRFbGVtZW50W10pID0+IGRhdGEsXG4gICAgICAgIGRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gW10sXG4gICAgICAgIHJlZHJhd0VsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LCBwcmV2aW91c0NvbnRleHQpID0+IHt9LFxuICAgICAgICBkZXN0cm95RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IHt9LFxuICAgICAgICBpc1dpdGhpblNlbGVjdGlvbjogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgaXNSZWN0YW5nbGVIaXQ6IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIGlzSGl0OiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBpc1JlY3Vyc2lvbjogZWxlbWVudCA9PiB0cnVlLFxuICAgICAgICBpc01vdmFibGU6IGVsZW1lbnQgPT4gZmFsc2UsXG4gICAgICAgIGdldFJlY3RhbmdsZTogZWxlbWVudCA9PiBudWxsLFxuICAgICAgICBhcHBseVRoZW1lOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7fSxcbiAgICAgICAgaXNBbGlnbjogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgcG9pbnRlckRvd246IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJNb3ZlOiBwb2ludGVyID0+IHt9LFxuICAgICAgICBwb2ludGVyVXA6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJDYW5jZWw6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJPdXQ6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIHBvaW50ZXJMZWF2ZTogcG9pbnRlciA9PiB7fSxcbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmU6IHBvaW50ZXIgPT4ge30sXG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcDogcG9pbnRlciA9PiB7fSxcbiAgICAgICAgaXNJbWFnZUJpbmRpbmdBbGxvd2VkOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBmYWxzZVxuICAgIH07XG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { isHotkey } from 'is-hotkey';
|
|
2
|
-
import { PlaitBoard, PlaitPluginKey } from '../interfaces';
|
|
2
|
+
import { MERGING, PlaitBoard, PlaitPluginKey } from '../interfaces';
|
|
3
3
|
import { BoardTransforms, Transforms } from '../transforms';
|
|
4
|
-
import { depthFirstRecursion, getSelectedElements, hotkeys } from '../utils';
|
|
4
|
+
import { depthFirstRecursion, getSelectedElements, hotkeys, throttleRAF } from '../utils';
|
|
5
5
|
export const withHotkey = (board) => {
|
|
6
|
-
const { keydown, globalKeydown } = board;
|
|
6
|
+
const { keydown, keyup, globalKeydown } = board;
|
|
7
|
+
let isShift = false;
|
|
7
8
|
board.keydown = (event) => {
|
|
8
9
|
const options = board.getPluginOptions(PlaitPluginKey.withSelection);
|
|
10
|
+
if (hotkeys.isShift(event)) {
|
|
11
|
+
isShift = true;
|
|
12
|
+
}
|
|
9
13
|
if (!PlaitBoard.isReadonly(board) && options.isMultiple && isHotkey('mod+a', event)) {
|
|
10
14
|
event.preventDefault();
|
|
11
15
|
let elements = [];
|
|
@@ -32,8 +36,53 @@ export const withHotkey = (board) => {
|
|
|
32
36
|
event.preventDefault();
|
|
33
37
|
board.deleteFragment(null);
|
|
34
38
|
}
|
|
39
|
+
if (!PlaitBoard.isReadonly(board) && selectedElements.length > 0 && (hotkeys.isArrow(event) || hotkeys.isExtendArrow(event))) {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
const offset = [0, 0];
|
|
42
|
+
const buffer = isShift ? 10 : 1;
|
|
43
|
+
switch (true) {
|
|
44
|
+
case hotkeys.isMoveUp(event) || hotkeys.isExtendUp(event): {
|
|
45
|
+
offset[1] = -buffer;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case hotkeys.isMoveDown(event) || hotkeys.isExtendDown(event): {
|
|
49
|
+
offset[1] = buffer;
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case hotkeys.isMoveBackward(event) || hotkeys.isExtendBackward(event): {
|
|
53
|
+
offset[0] = -buffer;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case hotkeys.isMoveForward(event) || hotkeys.isExtendForward(event): {
|
|
57
|
+
offset[0] = buffer;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const selectedElements = getSelectedElements(board);
|
|
62
|
+
const relatedElements = board.getRelatedFragment([]);
|
|
63
|
+
const movableElements = board.children.filter(item => board.isMovable(item));
|
|
64
|
+
throttleRAF(() => {
|
|
65
|
+
[...selectedElements, ...relatedElements]
|
|
66
|
+
.filter(element => movableElements.includes(element))
|
|
67
|
+
.forEach(element => {
|
|
68
|
+
const points = element.points || [];
|
|
69
|
+
const newPoints = points.map(p => [p[0] + offset[0], p[1] + offset[1]]);
|
|
70
|
+
Transforms.setNode(board, {
|
|
71
|
+
points: newPoints
|
|
72
|
+
}, PlaitBoard.findPath(board, element));
|
|
73
|
+
MERGING.set(board, true);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
35
77
|
keydown(event);
|
|
36
78
|
};
|
|
79
|
+
board.keyup = (event) => {
|
|
80
|
+
if (event.key === 'Shift') {
|
|
81
|
+
isShift = false;
|
|
82
|
+
}
|
|
83
|
+
MERGING.set(board, false);
|
|
84
|
+
keyup(event);
|
|
85
|
+
};
|
|
37
86
|
board.globalKeydown = (event) => {
|
|
38
87
|
if (PlaitBoard.getMovingPointInBoard(board) || PlaitBoard.isMovingPointInBoard(board)) {
|
|
39
88
|
if (isHotkey(['mod+=', 'mod++'], { byKey: true })(event)) {
|
|
@@ -61,4 +110,4 @@ export const withHotkey = (board) => {
|
|
|
61
110
|
};
|
|
62
111
|
return board;
|
|
63
112
|
};
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFZLFVBQVUsRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJN0UsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDckMsTUFBTSxPQUFPLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9HLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNqRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxtQkFBbUIsQ0FDZixLQUFLLEVBQ0wsSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixPQUFPO2lCQUNWO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBb0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsRUFDRCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDckQsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0gsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO1lBQ0wsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO1lBQ0YsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQ0ksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUM3QixnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMzQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3JFO1lBQ0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUMzQyxJQUFJLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkYsSUFBSSxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3BFLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkMsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDN0QsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckMsT0FBTzthQUNWO1NBQ0o7UUFDRCxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgQW5jZXN0b3IsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUGxhaXRQbHVnaW5LZXkgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJvYXJkVHJhbnNmb3JtcywgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZGVwdGhGaXJzdFJlY3Vyc2lvbiwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgaG90a2V5cyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0T3B0aW9uc0JvYXJkIH0gZnJvbSAnLi93aXRoLW9wdGlvbnMnO1xuaW1wb3J0IHsgV2l0aFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3dpdGgtc2VsZWN0aW9uJztcblxuZXhwb3J0IGNvbnN0IHdpdGhIb3RrZXkgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IGtleWRvd24sIGdsb2JhbEtleWRvd24gfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcblxuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgb3B0aW9ucy5pc011bHRpcGxlICYmIGlzSG90a2V5KCdtb2QrYScsIGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCBlbGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcbiAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248QW5jZXN0b3I+KFxuICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMucHVzaChub2RlIGFzIFBsYWl0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSB8fCBib2FyZC5pc1JlY3Vyc2lvbihub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJlxuICAgICAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoaG90a2V5cy5pc0RlbGV0ZUJhY2t3YXJkKGV2ZW50KSB8fCBob3RrZXlzLmlzRGVsZXRlRm9yd2FyZChldmVudCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJvYXJkLmRlbGV0ZUZyYWdtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAga2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbEtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuZ2V0TW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkKSB8fCBQbGFpdEJvYXJkLmlzTW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkKSkge1xuICAgICAgICAgICAgaWYgKGlzSG90a2V5KFsnbW9kKz0nLCAnbW9kKysnXSwgeyBieUtleTogdHJ1ZSB9KShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVab29tKGJvYXJkLCBib2FyZC52aWV3cG9ydC56b29tICsgMC4xLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSG90a2V5KFsnbW9kK3NoaWZ0Kz0nLCAnbW9kK3NoaWZ0KysnXSwgeyBieUtleTogdHJ1ZSB9KShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy5maXRWaWV3cG9ydChib2FyZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSG90a2V5KFsnbW9kKy0nLCAnbW9kK3NoaWZ0Ky0nXSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgYm9hcmQudmlld3BvcnQuem9vbSAtIDAuMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSG90a2V5KFsnbW9kKzAnLCAnbW9kK3NoaWZ0KzAnXSwgeyBieUtleTogdHJ1ZSB9KShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVab29tKGJvYXJkLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsS2V5ZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFZLE9BQU8sRUFBRSxVQUFVLEVBQWdCLGNBQWMsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkxRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWhELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQ3JDLE1BQU0sT0FBTyxHQUFJLEtBQTJCLENBQUMsZ0JBQWdCLENBQW9CLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUvRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNsQjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNqRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxtQkFBbUIsQ0FDZixLQUFL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RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPO2FBQ1Y7U0FDSjtRQUNELGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0hvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBBbmNlc3RvciwgTUVSR0lORywgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdFBsdWdpbktleSwgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJvYXJkVHJhbnNmb3JtcywgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZGVwdGhGaXJzdFJlY3Vyc2lvbiwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgaG90a2V5cywgdGhyb3R0bGVSQUYgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcbmltcG9ydCB7IFdpdGhQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi93aXRoLXNlbGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCB3aXRoSG90a2V5ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlkb3duLCBrZXl1cCwgZ2xvYmFsS2V5ZG93biB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgaXNTaGlmdCA9IGZhbHNlO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcblxuICAgICAgICBpZiAoaG90a2V5cy5pc1NoaWZ0KGV2ZW50KSkge1xuICAgICAgICAgICAgaXNTaGlmdCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgb3B0aW9ucy5pc011bHRpcGxlICYmIGlzSG90a2V5KCdtb2QrYScsIGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCBlbGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcbiAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248QW5jZXN0b3I+KFxuICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMucHVzaChub2RlIGFzIFBsYWl0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSB8fCBib2FyZC5pc1JlY3Vyc2lvbihub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJlxuICAgICAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoaG90a2V5cy5pc0RlbGV0ZUJhY2t3YXJkKGV2ZW50KSB8fCBob3RrZXlzLmlzRGVsZXRlRm9yd2FyZChldmVudCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGJvYXJkLmRlbGV0ZUZyYWdtZW50KG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiAoaG90a2V5cy5pc0Fycm93KGV2ZW50KSB8fCBob3RrZXlzLmlzRXh0ZW5kQXJyb3coZXZlbnQpKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IFswLCAwXTtcbiAgICAgICAgICAgIGNvbnN0IGJ1ZmZlciA9IGlzU2hpZnQgPyAxMCA6IDE7XG4gICAgICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIGhvdGtleXMuaXNNb3ZlVXAoZXZlbnQpIHx8IGhvdGtleXMuaXNFeHRlbmRVcChldmVudCk6IHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WzFdID0gLWJ1ZmZlcjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgaG90a2V5cy5pc01vdmVEb3duKGV2ZW50KSB8fCBob3RrZXlzLmlzRXh0ZW5kRG93bihldmVudCk6IHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WzFdID0gYnVmZmVyO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBob3RrZXlzLmlzTW92ZUJhY2t3YXJkKGV2ZW50KSB8fCBob3RrZXlzLmlzRXh0ZW5kQmFja3dhcmQoZXZlbnQpOiB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFswXSA9IC1idWZmZXI7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIGhvdGtleXMuaXNNb3ZlRm9yd2FyZChldmVudCkgfHwgaG90a2V5cy5pc0V4dGVuZEZvcndhcmQoZXZlbnQpOiB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFswXSA9IGJ1ZmZlcjtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgcmVsYXRlZEVsZW1lbnRzID0gYm9hcmQuZ2V0UmVsYXRlZEZyYWdtZW50KFtdKTtcbiAgICAgICAgICAgIGNvbnN0IG1vdmFibGVFbGVtZW50cyA9IGJvYXJkLmNoaWxkcmVuLmZpbHRlcihpdGVtID0+IGJvYXJkLmlzTW92YWJsZShpdGVtKSk7XG5cbiAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICBbLi4uc2VsZWN0ZWRFbGVtZW50cywgLi4ucmVsYXRlZEVsZW1lbnRzXVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gbW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGVsZW1lbnQucG9pbnRzIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9pbnRzID0gcG9pbnRzLm1hcChwID0+IFtwWzBdICsgb2Zmc2V0WzBdLCBwWzFdICsgb2Zmc2V0WzFdXSkgYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogbmV3UG9pbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXl1cCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnU2hpZnQnKSB7XG4gICAgICAgICAgICBpc1NoaWZ0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAga2V5dXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxLZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZCkgfHwgUGxhaXRCb2FyZC5pc01vdmluZ1BvaW50SW5Cb2FyZChib2FyZCkpIHtcbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCs9JywgJ21vZCsrJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgYm9hcmQudmlld3BvcnQuem9vbSArIDAuMSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCtzaGlmdCs9JywgJ21vZCtzaGlmdCsrJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMuZml0Vmlld3BvcnQoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCstJywgJ21vZCtzaGlmdCstJ10pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gLSAwLjEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCswJywgJ21vZCtzaGlmdCswJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbEtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
@@ -35,7 +35,8 @@ export function withMoving(board) {
|
|
|
35
35
|
const hitElement = getHitElementByPoint(board, point);
|
|
36
36
|
if (hitElement && movableElements.includes(hitElement)) {
|
|
37
37
|
if (selectedMovableElements.includes(hitElement)) {
|
|
38
|
-
|
|
38
|
+
const relatedElements = board.getRelatedFragment([]);
|
|
39
|
+
activeElements = [...selectedMovableElements, ...relatedElements];
|
|
39
40
|
}
|
|
40
41
|
else {
|
|
41
42
|
activeElements = [hitElement];
|
|
@@ -129,4 +130,4 @@ export function withMoving(board) {
|
|
|
129
130
|
}
|
|
130
131
|
return board;
|
|
131
132
|
}
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtbW92aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWlCO0lBQ3hD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SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQk9BUkRfVE9fSE9TVCB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBpc0luUGxhaXRCb2FyZCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICcuLi91dGlscy9ib2FyZCc7XG5pbXBvcnQgeyBpc01haW5Qb2ludGVyLCB0b1BvaW50IH0gZnJvbSAnLi4vdXRpbHMvZG9tL2NvbW1vbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldEhpdEVsZW1lbnRCeVBvaW50LCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQtZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgdGhyb3R0bGVSQUYgfSBmcm9tICcuLi91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgYWRkTW92aW5nRWxlbWVudHMsIGdldE1vdmluZ0VsZW1lbnRzLCByZW1vdmVNb3ZpbmdFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL21vdmluZy1lbGVtZW50JztcbmltcG9ydCB7IE1FUkdJTkcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2hpc3RvcnknO1xuaW1wb3J0IHsgaXNQcmV2ZW50VG91Y2hNb3ZlLCBwcmV2ZW50VG91Y2hNb3ZlLCBoYW5kbGVUb3VjaFRhcmdldCwgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cywgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRQb2ludCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFsaWduUmVhY3Rpb24gfSBmcm9tICcuLi91dGlscy9yZWFjdGlvbi1tYW5hZ2VyJztcbmltcG9ydCB7IFBsYWl0UG9pbnRlclR5cGUsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQUNUSVZFX01PVklOR19DTEFTU19OQU1FLCBQUkVTU19BTkRfTU9WRV9CVUZGRVIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1vdmluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBnbG9iYWxQb2ludGVyVXAsIGdsb2JhbFBvaW50ZXJNb3ZlIH0gPSBib2FyZDtcblxuICAgIGxldCBvZmZzZXRYID0gMDtcbiAgICBsZXQgb2Zmc2V0WSA9IDA7XG4gICAgbGV0IGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRQb2ludDogUG9pbnQgfCBudWxsO1xuICAgIGxldCBhY3RpdmVFbGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcbiAgICBsZXQgYWxpZ25HOiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBhY3RpdmVFbGVtZW50c1JlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyRG93biA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBCT0FSRF9UT19IT1NULmdldChib2FyZCk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgaG9zdCEpKTtcbiAgICAgICAgbGV0IG1vdmFibGVFbGVtZW50cyA9IGJvYXJkLmNoaWxkcmVuLmZpbHRlcihpdGVtID0+IGJvYXJkLmlzTW92YWJsZShpdGVtKSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pICYmXG4gICAgICAgICAgICBtb3ZhYmxlRWxlbWVudHMubGVuZ3RoICYmXG4gICAgICAgICAgICAhaXNQcmV2ZW50VG91Y2hNb3ZlKGJvYXJkKSAmJlxuICAgICAgICAgICAgaXNNYWluUG9pbnRlcihldmVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gcG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE1vdmFibGVFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcihpdGVtID0+IG1vdmFibGVFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSk7XG4gICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0RWxlbWVudEJ5UG9pbnQoYm9hcmQsIHBvaW50KTtcbiAgICAgICAgICAgIGlmIChoaXRFbGVtZW50ICYmIG1vdmFibGVFbGVtZW50cy5pbmNsdWRlcyhoaXRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZE1vdmFibGVFbGVtZW50cy5pbmNsdWRlcyhoaXRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IHNlbGVjdGVkTW92YWJsZUVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW2hpdEVsZW1lbnRdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhY3RpdmVFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aXZlRWxlbWVudHNSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBhY3RpdmVFbGVtZW50cywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50ICYmIGFjdGl2ZUVsZW1lbnRzLmxlbmd0aCAmJiAhUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoIWlzUHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICBpc1ByZXZlbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFsaWduRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBob3N0ISkpO1xuICAgICAgICAgICAgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoLi4uZW5kUG9pbnQsIC4uLnN0YXJ0UG9pbnQpO1xuICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gUFJFU1NfQU5EX01PVkVfQlVGRkVSIHx8IGdldE1vdmluZ0VsZW1lbnRzKGJvYXJkKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UmVjdGFuZ2xlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYWN0aXZlRWxlbWVudHNSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBhY3RpdmVFbGVtZW50c1JlY3RhbmdsZS54ICsgb2Zmc2V0WCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlLnkgKyBvZmZzZXRZXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWN0aW9uTWFuYWdlciA9IG5ldyBBbGlnblJlYWN0aW9uKGJvYXJkLCBhY3RpdmVFbGVtZW50cywgbmV3UmVjdGFuZ2xlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmID0gcmVhY3Rpb25NYW5hZ2VyLmhhbmRsZUFsaWduKCk7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFggLT0gcmVmLmRlbHRhWDtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WSAtPSByZWYuZGVsdGFZO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbkcgPSByZWYuZztcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25HLmNsYXNzTGlzdC5hZGQoQUNUSVZFX01PVklOR19DTEFTU19OQU1FKTtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGFsaWduRyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVG91Y2hUYXJnZXQoYm9hcmQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cy5tYXAoYWN0aXZlRWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBhY3RpdmVFbGVtZW50LnBvaW50cyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IGFjdGl2ZUVsZW1lbnQucG9pbnRzIVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1BvaW50cyA9IHBvaW50cy5tYXAocCA9PiBbcFswXSArIG9mZnNldFgsIHBbMV0gKyBvZmZzZXRZXSkgYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlRWxlbWVudC5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IG5ld1BvaW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGFkZE1vdmluZ0VsZW1lbnRzKGJvYXJkLCBjdXJyZW50RWxlbWVudHMgYXMgUGxhaXRFbGVtZW50W10pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAvLyDpmLvmraIgbW92ZSDov4fnqIvkuK3op6blj5HnlLvluIPmu5rliqjooYzkuLpcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNhbmNlbE1vdmUoYm9hcmQpO1xuICAgICAgICB9XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgYWxpZ25HPy5yZW1vdmUoKTtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIGFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlID0gbnVsbDtcbiAgICAgICAgb2Zmc2V0WCA9IDA7XG4gICAgICAgIG9mZnNldFkgPSAwO1xuICAgICAgICBhY3RpdmVFbGVtZW50cyA9IFtdO1xuICAgICAgICByZW1vdmVNb3ZpbmdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtbW92aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQWlCO0lBQ3hD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QzFCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCT0FSRF9UT19IT1NUIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IGlzSW5QbGFpdEJvYXJkLCB0cmFuc2Zvcm1Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2JvYXJkJztcbmltcG9ydCB7IGlzTWFpblBvaW50ZXIsIHRvUG9pbnQgfSBmcm9tICcuLi91dGlscy9kb20vY29tbW9uJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0SGl0RWxlbWVudEJ5UG9pbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Tm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyB0aHJvdHRsZVJBRiB9IGZyb20gJy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBhZGRNb3ZpbmdFbGVtZW50cywgZ2V0TW92aW5nRWxlbWVudHMsIHJlbW92ZU1vdmluZ0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvbW92aW5nLWVsZW1lbnQnO1xuaW1wb3J0IHsgTUVSR0lORyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaGlzdG9yeSc7XG5pbXBvcnQgeyBpc1ByZXZlbnRUb3VjaE1vdmUsIHByZXZlbnRUb3VjaE1vdmUsIGhhbmRsZVRvdWNoVGFyZ2V0LCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzLCBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWxpZ25SZWFjdGlvbiB9IGZyb20gJy4uL3V0aWxzL3JlYWN0aW9uLW1hbmFnZXInO1xuaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBQ1RJVkVfTU9WSU5HX0NMQVNTX05BTUUsIFBSRVNTX0FORF9NT1ZFX0JVRkZFUiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCwgZ2xvYmFsUG9pbnRlck1vdmUgfSA9IGJvYXJkO1xuXG4gICAgbGV0IG9mZnNldFggPSAwO1xuICAgIGxldCBvZmZzZXRZID0gMDtcbiAgICBsZXQgaXNQcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IG51bGw7XG4gICAgbGV0IGFjdGl2ZUVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBhbGlnbkc6IFNWR0dFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaG9zdCA9IEJPQVJEX1RPX0hPU1QuZ2V0KGJvYXJkKTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBob3N0ISkpO1xuICAgICAgICBsZXQgbW92YWJsZUVsZW1lbnRzID0gYm9hcmQuY2hpbGRyZW4uZmlsdGVyKGl0ZW0gPT4gYm9hcmQuaXNNb3ZhYmxlKGl0ZW0pKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiZcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbikgJiZcbiAgICAgICAgICAgIG1vdmFibGVFbGVtZW50cy5sZW5ndGggJiZcbiAgICAgICAgICAgICFpc1ByZXZlbnRUb3VjaE1vdmUoYm9hcmQpICYmXG4gICAgICAgICAgICBpc01haW5Qb2ludGVyKGV2ZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTW92YWJsZUVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKGl0ZW0gPT4gbW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGl0ZW0pKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRFbGVtZW50QnlQb2ludChib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgaWYgKGhpdEVsZW1lbnQgJiYgbW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGhpdEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGhpdEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWRFbGVtZW50cyA9IGJvYXJkLmdldFJlbGF0ZWRGcmFnbWVudChbXSk7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gWy4uLnNlbGVjdGVkTW92YWJsZUVsZW1lbnRzLCAuLi5yZWxhdGVkRWxlbWVudHNdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW2hpdEVsZW1lbnRdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhY3RpdmVFbGVtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWN0aXZlRWxlbWVudHNSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBhY3RpdmVFbGVtZW50cywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50ICYmIGFjdGl2ZUVsZW1lbnRzLmxlbmd0aCAmJiAhUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoIWlzUHJldmVudERlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICBpc1ByZXZlbnREZWZhdWx0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFsaWduRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBob3N0ISkpO1xuICAgICAgICAgICAgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQoLi4uZW5kUG9pbnQsIC4uLnN0YXJ0UG9pbnQpO1xuICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gUFJFU1NfQU5EX01PVkVfQlVGRkVSIHx8IGdldE1vdmluZ0VsZW1lbnRzKGJvYXJkKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UmVjdGFuZ2xlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uYWN0aXZlRWxlbWVudHNSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBhY3RpdmVFbGVtZW50c1JlY3RhbmdsZS54ICsgb2Zmc2V0WCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IGFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlLnkgKyBvZmZzZXRZXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWN0aW9uTWFuYWdlciA9IG5ldyBBbGlnblJlYWN0aW9uKGJvYXJkLCBhY3RpdmVFbGVtZW50cywgbmV3UmVjdGFuZ2xlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmID0gcmVhY3Rpb25NYW5hZ2VyLmhhbmRsZUFsaWduKCk7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFggLT0gcmVmLmRlbHRhWDtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0WSAtPSByZWYuZGVsdGFZO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbkcgPSByZWYuZztcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25HLmNsYXNzTGlzdC5hZGQoQUNUSVZFX01PVklOR19DTEFTU19OQU1FKTtcbiAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCkuYXBwZW5kKGFsaWduRyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVG91Y2hUYXJnZXQoYm9hcmQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cy5tYXAoYWN0aXZlRWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBhY3RpdmVFbGVtZW50LnBvaW50cyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IGFjdGl2ZUVsZW1lbnQucG9pbnRzIVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1BvaW50cyA9IHBvaW50cy5tYXAocCA9PiBbcFswXSArIG9mZnNldFgsIHBbMV0gKyBvZmZzZXRZXSkgYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlRWxlbWVudC5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IG5ld1BvaW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGFkZE1vdmluZ0VsZW1lbnRzKGJvYXJkLCBjdXJyZW50RWxlbWVudHMgYXMgUGxhaXRFbGVtZW50W10pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAvLyDpmLvmraIgbW92ZSDov4fnqIvkuK3op6blj5HnlLvluIPmu5rliqjooYzkuLpcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNhbmNlbE1vdmUoYm9hcmQpO1xuICAgICAgICB9XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgYWxpZ25HPy5yZW1vdmUoKTtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIGFjdGl2ZUVsZW1lbnRzUmVjdGFuZ2xlID0gbnVsbDtcbiAgICAgICAgb2Zmc2V0WCA9IDA7XG4gICAgICAgIG9mZnNldFkgPSAwO1xuICAgICAgICBhY3RpdmVFbGVtZW50cyA9IFtdO1xuICAgICAgICByZW1vdmVNb3ZpbmdFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
|