@plait/core 0.24.0-next.6 → 0.24.0-next.8

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.
@@ -1,7 +1,7 @@
1
1
  import { isHotkey } from 'is-hotkey';
2
2
  import { PlaitBoard, PlaitPluginKey } from '../interfaces';
3
3
  import { BoardTransforms, Transforms } from '../transforms';
4
- import { depthFirstRecursion } from '../utils';
4
+ import { depthFirstRecursion, getSelectedElements, hotkeys } from '../utils';
5
5
  export const withHotkey = (board) => {
6
6
  const { keydown, globalKeydown } = board;
7
7
  board.keydown = (event) => {
@@ -25,6 +25,11 @@ export const withHotkey = (board) => {
25
25
  Transforms.setSelectionWithTemporaryElements(board, elements);
26
26
  return;
27
27
  }
28
+ const selectedElements = getSelectedElements(board);
29
+ if (!PlaitBoard.isReadonly(board) && selectedElements.length > 0 && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
30
+ event.preventDefault();
31
+ board.deleteFragment(null);
32
+ }
28
33
  keydown(event);
29
34
  };
30
35
  board.globalKeydown = (event) => {
@@ -54,4 +59,4 @@ export const withHotkey = (board) => {
54
59
  };
55
60
  return board;
56
61
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFZLFVBQVUsRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFekMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxNQUFNLE9BQU8sR0FBSSxLQUEyQixDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFL0csSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2pGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLFFBQVEsR0FBbUIsRUFBRSxDQUFDO1lBQ2xDLG1CQUFtQixDQUNmLEtBQUssRUFDTCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzFCLE9BQU87aUJBQ1Y7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFvQixDQUFDLENBQUM7WUFDeEMsQ0FBQyxFQUNELElBQUksQ0FBQyxFQUFFO2dCQUNILElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNyRCxPQUFPLElBQUksQ0FBQztpQkFDZjtxQkFBTTtvQkFDSCxPQUFPLEtBQUssQ0FBQztpQkFDaEI7WUFDTCxDQUFDLEVBQ0QsSUFBSSxDQUNQLENBQUM7WUFFRixVQUFVLENBQUMsaUNBQWlDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlELE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1FBQzNDLElBQUksVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRixJQUFJLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN0RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDcEUsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxPQUFPO2FBQ1Y7WUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO2dCQUM3RCxPQUFPO2FBQ1Y7WUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPO2FBQ1Y7U0FDSjtRQUNELGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0hvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdFBsdWdpbktleSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQm9hcmRUcmFuc2Zvcm1zLCBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBkZXB0aEZpcnN0UmVjdXJzaW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXRPcHRpb25zQm9hcmQgfSBmcm9tICcuL3dpdGgtb3B0aW9ucyc7XG5pbXBvcnQgeyBXaXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vd2l0aC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgY29uc3Qgd2l0aEhvdGtleSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHsga2V5ZG93biwgZ2xvYmFsS2V5ZG93biB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5rZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24pO1xuXG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiBvcHRpb25zLmlzTXVsdGlwbGUgJiYgaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgbGV0IGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuICAgICAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbjxBbmNlc3Rvcj4oXG4gICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQobm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50cy5wdXNoKG5vZGUgYXMgUGxhaXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpIHx8IGJvYXJkLmlzUmVjdXJzaW9uKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb25XaXRoVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpIHx8IFBsYWl0Qm9hcmQuaXNNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrPScsICdtb2QrKyddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gKyAwLjEsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2Qrc2hpZnQrPScsICdtb2Qrc2hpZnQrKyddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLmZpdFZpZXdwb3J0KGJvYXJkKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrLScsICdtb2Qrc2hpZnQrLSddKShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVab29tKGJvYXJkLCBib2FyZC52aWV3cG9ydC56b29tIC0gMC4xKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrMCcsICdtb2Qrc2hpZnQrMCddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxLZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFZLFVBQVUsRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJN0UsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDckMsTUFBTSxPQUFPLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9HLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNqRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxtQkFBbUIsQ0FDZixLQUFLLEVBQ0wsSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixPQUFPO2lCQUNWO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBb0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsRUFDRCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDckQsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0gsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO1lBQ0wsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO1lBRUYsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDM0MsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25GLElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwRSxPQUFPO2FBQ1Y7WUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzdELE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDVjtTQUNKO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzSG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IEFuY2VzdG9yLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luS2V5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCb2FyZFRyYW5zZm9ybXMsIFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGRlcHRoRmlyc3RSZWN1cnNpb24sIGdldFNlbGVjdGVkRWxlbWVudHMsIGhvdGtleXMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcbmltcG9ydCB7IFdpdGhQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi93aXRoLXNlbGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCB3aXRoSG90a2V5ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlkb3duLCBnbG9iYWxLZXlkb3duIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG5cbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIG9wdGlvbnMuaXNNdWx0aXBsZSAmJiBpc0hvdGtleSgnbW9kK2EnLCBldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBsZXQgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uPEFuY2VzdG9yPihcbiAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2gobm9kZSBhcyBQbGFpdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQobm9kZSkgfHwgYm9hcmQuaXNSZWN1cnNpb24obm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAwICYmIChob3RrZXlzLmlzRGVsZXRlQmFja3dhcmQoZXZlbnQpIHx8IGhvdGtleXMuaXNEZWxldGVGb3J3YXJkKGV2ZW50KSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBib2FyZC5kZWxldGVGcmFnbWVudChudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxLZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZCkgfHwgUGxhaXRCb2FyZC5pc01vdmluZ1BvaW50SW5Cb2FyZChib2FyZCkpIHtcbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCs9JywgJ21vZCsrJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgYm9hcmQudmlld3BvcnQuem9vbSArIDAuMSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCtzaGlmdCs9JywgJ21vZCtzaGlmdCsrJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMuZml0Vmlld3BvcnQoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCstJywgJ21vZCtzaGlmdCstJ10pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gLSAwLjEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0hvdGtleShbJ21vZCswJywgJ21vZCtzaGlmdCswJ10sIHsgYnlLZXk6IHRydWUgfSkoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlWm9vbShib2FyZCwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbEtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
@@ -6,9 +6,9 @@ import { Transforms } from '../transforms';
6
6
  import { getHitElementOfRoot, getSelectedElements } from '../utils/selected-element';
7
7
  import { PlaitNode } from '../interfaces/node';
8
8
  import { throttleRAF } from '../utils/common';
9
- import { addMovingElements, removeMovingElements } from '../utils/moving-element';
9
+ import { addMovingElements, getMovingElements, removeMovingElements } from '../utils/moving-element';
10
10
  import { MERGING } from '../interfaces/history';
11
- import { isPreventTouchMove } from '../utils';
11
+ import { isPreventTouchMove, preventTouchMove, handleTouchTarget } from '../utils';
12
12
  export function withMoving(board) {
13
13
  const { pointerDown, pointerMove, globalPointerUp, globalPointerMove } = board;
14
14
  let offsetX = 0;
@@ -31,6 +31,9 @@ export function withMoving(board) {
31
31
  else if (hitElement) {
32
32
  activeElements = [hitElement];
33
33
  }
34
+ if (activeElements.length > 0) {
35
+ preventTouchMove(board, event, true);
36
+ }
34
37
  }
35
38
  pointerDown(event);
36
39
  };
@@ -44,8 +47,9 @@ export function withMoving(board) {
44
47
  offsetX = endPoint[0] - startPoint[0];
45
48
  offsetY = endPoint[1] - startPoint[1];
46
49
  const offsetBuffer = 5;
47
- if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer) {
50
+ if (Math.abs(offsetX) > offsetBuffer || Math.abs(offsetY) > offsetBuffer || getMovingElements(board).length > 0) {
48
51
  throttleRAF(() => {
52
+ handleTouchTarget(board);
49
53
  const currentElements = activeElements.map(activeElement => {
50
54
  const points = activeElement.points || [];
51
55
  const [x, y] = activeElement.points[0];
@@ -82,6 +86,7 @@ export function withMoving(board) {
82
86
  if (startPoint) {
83
87
  cancelMove(board);
84
88
  }
89
+ preventTouchMove(board, event, false);
85
90
  globalPointerUp(event);
86
91
  };
87
92
  function cancelMove(board) {
@@ -95,4 +100,4 @@ export function withMoving(board) {
95
100
  }
96
101
  return board;
97
102
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtbW92aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQjtJQUN4QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFL0UsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUM3QixJQUFJLFVBQXdCLENBQUM7SUFDN0IsSUFBSSxjQUFjLEdBQW1CLEVBQUUs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Q0FBQyxDQUFDO2FBQ3JCO1NBQ0o7UUFDRCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQzVCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLFVBQVUsRUFBRTtZQUNaLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtRQUNELGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixTQUFTLFVBQVUsQ0FBQyxLQUFpQjtRQUNqQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDWixPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ1osY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQixVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQk9BUkRfVE9fSE9TVCB9IGZyb20gJy4uL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBpc0luUGxhaXRCb2FyZCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICcuLi91dGlscy9ib2FyZCc7XG5pbXBvcnQgeyB0b1BvaW50IH0gZnJvbSAnLi4vdXRpbHMvZG9tL2NvbW1vbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldEhpdEVsZW1lbnRPZlJvb3QsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Tm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyB0aHJvdHRsZVJBRiB9IGZyb20gJy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBhZGRNb3ZpbmdFbGVtZW50cywgcmVtb3ZlTW92aW5nRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9tb3ZpbmctZWxlbWVudCc7XG5pbXBvcnQgeyBNRVJHSU5HIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9oaXN0b3J5JztcbmltcG9ydCB7IFJhbmdlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBpc1ByZXZlbnRUb3VjaE1vdmUgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgY29uc3QgeyBwb2ludGVyRG93biwgcG9pbnRlck1vdmUsIGdsb2JhbFBvaW50ZXJVcCwgZ2xvYmFsUG9pbnRlck1vdmUgfSA9IGJvYXJkO1xuXG4gICAgbGV0IG9mZnNldFggPSAwO1xuICAgIGxldCBvZmZzZXRZID0gMDtcbiAgICBsZXQgaXNQcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IG51bGw7XG4gICAgbGV0IGFjdGl2ZUVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIGhvc3QhKSk7XG4gICAgICAgIGNvbnN0IHJhbmdlID0geyBhbmNob3I6IHBvaW50LCBmb2N1czogcG9pbnQgfSBhcyBSYW5nZTtcbiAgICAgICAgbGV0IG1vdmFibGVFbGVtZW50cyA9IGJvYXJkLmNoaWxkcmVuLmZpbHRlcihpdGVtID0+IGJvYXJkLmlzTW92YWJsZShpdGVtKSk7XG4gICAgICAgIGlmIChtb3ZhYmxlRWxlbWVudHMubGVuZ3RoICYmICFpc1ByZXZlbnRUb3VjaE1vdmUoYm9hcmQpKSB7XG4gICAgICAgICAgICBzdGFydFBvaW50ID0gcG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFJvb3RFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcihpdGVtID0+IG1vdmFibGVFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSk7XG4gICAgICAgICAgICBjb25zdCBoaXRFbGVtZW50ID0gZ2V0SGl0RWxlbWVudE9mUm9vdChib2FyZCwgbW92YWJsZUVsZW1lbnRzLCByYW5nZSk7XG4gICAgICAgICAgICBpZiAoaGl0RWxlbWVudCAmJiBzZWxlY3RlZFJvb3RFbGVtZW50cy5pbmNsdWRlcyhoaXRFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gc2VsZWN0ZWRSb290RWxlbWVudHM7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGhpdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IFtoaXRFbGVtZW50XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAoc3RhcnRQb2ludCAmJiBhY3RpdmVFbGVtZW50cy5sZW5ndGggJiYgIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgaWYgKCFpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgaXNQcmV2ZW50RGVmYXVsdCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBob3N0ID0gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBob3N0ISkpO1xuICAgICAgICAgICAgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBjb25zdCBvZmZzZXRCdWZmZXIgPSA1O1xuICAgICAgICAgICAgaWYgKE1hdGguYWJzKG9mZnNldFgpID4gb2Zmc2V0QnVmZmVyIHx8IE1hdGguYWJzKG9mZnNldFkpID4gb2Zmc2V0QnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cy5tYXAoYWN0aXZlRWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBhY3RpdmVFbGVtZW50LnBvaW50cyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IGFjdGl2ZUVsZW1lbnQucG9pbnRzIVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1BvaW50cyA9IHBvaW50cy5tYXAocCA9PiBbcFswXSArIG9mZnNldFgsIHBbMV0gKyBvZmZzZXRZXSkgYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlRWxlbWVudC5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IG5ld1BvaW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGFkZE1vdmluZ0VsZW1lbnRzKGJvYXJkLCBjdXJyZW50RWxlbWVudHMgYXMgUGxhaXRFbGVtZW50W10pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAvLyDpmLvmraIgbW92ZSDov4fnqIvkuK3op6blj5HnlLvluIPmu5rliqjooYzkuLpcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNhbmNlbE1vdmUoYm9hcmQpO1xuICAgICAgICB9XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIG9mZnNldFggPSAwO1xuICAgICAgICBvZmZzZXRZID0gMDtcbiAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbXTtcbiAgICAgICAgcmVtb3ZlTW92aW5nRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKCdlbGVtZW50LW1vdmluZycpO1xuICAgIH1cblxuICAgIHJldHVybiBib2FyZDtcbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtbW92aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFpQjtJQUN4QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFL0UsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUM3QixJQUFJLFVB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aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBpc0luUGxhaXRCb2FyZCwgdHJhbnNmb3JtUG9pbnQgfSBmcm9tICcuLi91dGlscy9ib2FyZCc7XG5pbXBvcnQgeyB0b1BvaW50IH0gZnJvbSAnLi4vdXRpbHMvZG9tL2NvbW1vbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IGdldEhpdEVsZW1lbnRPZlJvb3QsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICcuLi91dGlscy9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Tm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyB0aHJvdHRsZVJBRiB9IGZyb20gJy4uL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBhZGRNb3ZpbmdFbGVtZW50cywgZ2V0TW92aW5nRWxlbWVudHMsIHJlbW92ZU1vdmluZ0VsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvbW92aW5nLWVsZW1lbnQnO1xuaW1wb3J0IHsgTUVSR0lORyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaGlzdG9yeSc7XG5pbXBvcnQgeyBSYW5nZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNQcmV2ZW50VG91Y2hNb3ZlLCBwcmV2ZW50VG91Y2hNb3ZlLCBoYW5kbGVUb3VjaFRhcmdldCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhNb3ZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgZ2xvYmFsUG9pbnRlclVwLCBnbG9iYWxQb2ludGVyTW92ZSB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgb2Zmc2V0WCA9IDA7XG4gICAgbGV0IG9mZnNldFkgPSAwO1xuICAgIGxldCBpc1ByZXZlbnREZWZhdWx0ID0gZmFsc2U7XG4gICAgbGV0IHN0YXJ0UG9pbnQ6IFBvaW50IHwgbnVsbDtcbiAgICBsZXQgYWN0aXZlRWxlbWVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG5cbiAgICBib2FyZC5wb2ludGVyRG93biA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBCT0FSRF9UT19IT1NULmdldChib2FyZCk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgaG9zdCEpKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9IGFzIFJhbmdlO1xuICAgICAgICBsZXQgbW92YWJsZUVsZW1lbnRzID0gYm9hcmQuY2hpbGRyZW4uZmlsdGVyKGl0ZW0gPT4gYm9hcmQuaXNNb3ZhYmxlKGl0ZW0pKTtcbiAgICAgICAgaWYgKG1vdmFibGVFbGVtZW50cy5sZW5ndGggJiYgIWlzUHJldmVudFRvdWNoTW92ZShib2FyZCkpIHtcbiAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUm9vdEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKGl0ZW0gPT4gbW92YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGl0ZW0pKTtcbiAgICAgICAgICAgIGNvbnN0IGhpdEVsZW1lbnQgPSBnZXRIaXRFbGVtZW50T2ZSb290KGJvYXJkLCBtb3ZhYmxlRWxlbWVudHMsIHJhbmdlKTtcbiAgICAgICAgICAgIGlmIChoaXRFbGVtZW50ICYmIHNlbGVjdGVkUm9vdEVsZW1lbnRzLmluY2x1ZGVzKGhpdEVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBzZWxlY3RlZFJvb3RFbGVtZW50cztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaGl0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW2hpdEVsZW1lbnRdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBwcmV2ZW50VG91Y2hNb3ZlKGJvYXJkLCBldmVudCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGVyRG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQgJiYgYWN0aXZlRWxlbWVudHMubGVuZ3RoICYmICFQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkpIHtcbiAgICAgICAgICAgIGlmICghaXNQcmV2ZW50RGVmYXVsdCkge1xuICAgICAgICAgICAgICAgIGlzUHJldmVudERlZmF1bHQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaG9zdCA9IEJPQVJEX1RPX0hPU1QuZ2V0KGJvYXJkKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgaG9zdCEpKTtcbiAgICAgICAgICAgIG9mZnNldFggPSBlbmRQb2ludFswXSAtIHN0YXJ0UG9pbnRbMF07XG4gICAgICAgICAgICBvZmZzZXRZID0gZW5kUG9pbnRbMV0gLSBzdGFydFBvaW50WzFdO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0QnVmZmVyID0gNTtcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyhvZmZzZXRYKSA+IG9mZnNldEJ1ZmZlciB8fCBNYXRoLmFicyhvZmZzZXRZKSA+IG9mZnNldEJ1ZmZlciB8fCBnZXRNb3ZpbmdFbGVtZW50cyhib2FyZCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlVG91Y2hUYXJnZXQoYm9hcmQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudHMgPSBhY3RpdmVFbGVtZW50cy5tYXAoYWN0aXZlRWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludHMgPSBhY3RpdmVFbGVtZW50LnBvaW50cyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFt4LCB5XSA9IGFjdGl2ZUVsZW1lbnQucG9pbnRzIVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1BvaW50cyA9IHBvaW50cy5tYXAocCA9PiBbcFswXSArIG9mZnNldFgsIHBbMV0gKyBvZmZzZXRZXSkgYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYm9hcmQuY2hpbGRyZW4uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlRWxlbWVudC5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IG5ld1BvaW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBbaW5kZXhdKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ2VsZW1lbnQtbW92aW5nJyk7XG4gICAgICAgICAgICAgICAgICAgIGFkZE1vdmluZ0VsZW1lbnRzKGJvYXJkLCBjdXJyZW50RWxlbWVudHMgYXMgUGxhaXRFbGVtZW50W10pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ByZXZlbnREZWZhdWx0KSB7XG4gICAgICAgICAgICAvLyDpmLvmraIgbW92ZSDov4fnqIvkuK3op6blj5HnlLvluIPmu5rliqjooYzkuLpcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBpblBsYWl0Qm9hcmRFbGVtZW50ID0gaXNJblBsYWl0Qm9hcmQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpO1xuICAgICAgICAgICAgaWYgKCFpblBsYWl0Qm9hcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY2FuY2VsTW92ZShib2FyZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsUG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyVXAgPSBldmVudCA9PiB7XG4gICAgICAgIGlzUHJldmVudERlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNhbmNlbE1vdmUoYm9hcmQpO1xuICAgICAgICB9XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNhbmNlbE1vdmUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgc3RhcnRQb2ludCA9IG51bGw7XG4gICAgICAgIG9mZnNldFggPSAwO1xuICAgICAgICBvZmZzZXRZID0gMDtcbiAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbXTtcbiAgICAgICAgcmVtb3ZlTW92aW5nRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKCdlbGVtZW50LW1vdmluZycpO1xuICAgIH1cblxuICAgIHJldHVybiBib2FyZDtcbn1cbiJdfQ==
@@ -7,7 +7,7 @@ import { cacheSelectedElements, clearSelectedElement, getHitElements, getSelecte
7
7
  import { PlaitPointerType, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR } from '../interfaces';
8
8
  import { getRectangleByElements } from '../utils/element';
9
9
  import { BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_TEMPORARY_ELEMENTS } from '../utils/weak-maps';
10
- import { ATTACHED_ELEMENT_CLASS_NAME } from '../constants/selection';
10
+ import { ACTIVE_STROKE_WIDTH, ATTACHED_ELEMENT_CLASS_NAME } from '../constants/selection';
11
11
  import { drawRectangle, preventTouchMove, throttleRAF } from '../utils';
12
12
  import { PlaitPluginKey } from '../interfaces/plugin-key';
13
13
  export function withSelection(board) {
@@ -41,7 +41,7 @@ export function withSelection(board) {
41
41
  options.isMultiple &&
42
42
  !options.isDisabledSelect) {
43
43
  start = point;
44
- preventTouchMove(board, true);
44
+ preventTouchMove(board, event, true);
45
45
  }
46
46
  Transforms.setSelection(board, { ranges: [range] });
47
47
  pointerDown(event);
@@ -93,7 +93,7 @@ export function withSelection(board) {
93
93
  start = null;
94
94
  end = null;
95
95
  needPreventNativeSelectionWhenMoving = false;
96
- preventTouchMove(board, false);
96
+ preventTouchMove(board, event, false);
97
97
  globalPointerUp(event);
98
98
  };
99
99
  board.onChange = () => {
@@ -172,10 +172,10 @@ export function clearSelectionMoving(board) {
172
172
  }
173
173
  export function createSelectionOuterG(board, selectElements) {
174
174
  const rectangle = getRectangleByElements(board, selectElements, false);
175
- return drawRectangle(board, RectangleClient.getOutlineRectangle(rectangle, -2.5), {
175
+ return drawRectangle(board, RectangleClient.inflate(rectangle, ACTIVE_STROKE_WIDTH), {
176
176
  stroke: SELECTION_BORDER_COLOR,
177
- strokeWidth: 1,
177
+ strokeWidth: ACTIVE_STROKE_WIDTH,
178
178
  fillStyle: 'solid'
179
179
  });
180
180
  }
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zZWxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0gsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPMUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQjtJQUMzQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFNUUsSUFBSSxLQUFLLEdBQWlCLElBQUksQ0FBQztJQUMvQixJQUFJLEdBQUcsR0FBaUIsSUFBSSxDQUFDO0lBQzdCLElBQUksZ0JBQTZCLENBQUM7SUFDbEMsSUFBSSxlQUE0QixDQUFDO0lBQ2pDLElBQUksd0JBQXdDLENBQUM7SUFFN0MsZ0ZBQWdGO0lBQ2hGLElBQUksb0NBQW9DLEdBQUcsS0FBSyxDQUFDO0lBRWpELEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDeEMsSUFBSSxLQUFLLENBQUMsTUFBTSxZQUFZLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLEVBQUU7WUFDdkYsb0NBQW9DLEdBQUcsSUFBSSxDQUFDO1NBQy9DO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsT0FBTztTQUNWO1FBRUQsTUFBTSxPQUFPLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9HLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLEtBQUssR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNwRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFDSSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7WUFDdkQsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxVQUFVO1lBQ2xCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUMzQjtZQUNFLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDZCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakM7UUFFRCxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQzlDLElBQUksb0NBQW9DLEVBQUU7WUFDdEMsbUNBQW1DO1lBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtRQUVELElBQUksS0FBSyxFQUFFO1lBQ1AsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hHLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25ELEdBQUcsR0FBRyxXQUFXLENBQUM7Z0JBQ2xCLFdBQVcsQ0FBQyxHQUFHLEVBQUU7b0JBQ2IsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO3dCQUNkLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDL0U7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO29CQUMvQyxNQUFNLEVBQUUsc0JBQXNCO29CQUM5QixXQUFXLEVBQUUsQ0FBQztvQkFDZCxJQUFJLEVBQUUsb0JBQW9CO29CQUMxQixTQUFTLEVBQUUsT0FBTztpQkFDckIsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdEQ7U0FDSjtRQUNELGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDNUMsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO1lBQ2QsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDM0Isb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLFlBQVksSUFBSSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdHLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLFlBQVksSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQU0sWUFBWSxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7WUFDckgsZ0RBQWdEO1lBQ2hELGtGQUFrRjtZQUNsRixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsaUJBQWlCLElBQUksWUFBWSxFQUFFO2dCQUM1RCxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN4QztTQUNKO1FBRUQsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNiLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDWCxvQ0FBb0MsR0FBRyxLQUFLLENBQUM7UUFDN0MsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9CLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNsQixNQUFNLE9BQU8sR0FBSSxLQUEyQixDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0csSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzFCLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO1FBRUQsK0JBQStCO1FBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEUsSUFBSTtnQkFDQSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsRUFBRTtvQkFDaEUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUMxQixNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0RCxJQUFJLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFFN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzVDLFFBQVEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM1QjtvQkFDRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQ3ZDLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztvQkFDcEMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUN6RSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTt3QkFDaEQsZUFBZSxHQUFHLHFCQUFxQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDekQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7cUJBQ3JEO29CQUNELHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDSCxzREFBc0Q7b0JBQ3RELFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQ1osTUFBTSx1QkFBdUIsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDM0QsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs0QkFDdEUsTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUM3RyxJQUFJLHFCQUFxQixFQUFFO2dDQUN2QixlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0NBQzFCLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztnQ0FDeEUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQ0FDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7NkJBQ3JEO3lCQUNKOzZCQUFNOzRCQUNILGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQzt5QkFDN0I7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ047YUFDSjtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEI7U0FDSjtRQUNELFFBQVEsRUFBRSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUQsS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsRUFBRTtRQUMzRixVQUFVLEVBQUUsSUFBSTtRQUNoQixnQkFBZ0IsRUFBRSxLQUFLO0tBQzFCLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBaUI7SUFDbEQsT0FBTywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFpQjtJQUNyRCwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFpQjtJQUMvQyxPQUFPLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFpQjtJQUNoRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFpQjtJQUNsRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3pFLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEtBQWlCLEVBQUUsY0FBOEI7SUFDbkYsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzlFLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsV0FBVyxFQUFFLENBQUM7UUFDZCxTQUFTLEVBQUUsT0FBTztLQUNyQixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnLi4vdXRpbHMvYm9hcmQnO1xuaW1wb3J0IHsgaXNNYWluUG9pbnRlciwgdG9Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IGNhY2hlU2VsZWN0ZWRFbGVtZW50cywgY2xlYXJTZWxlY3RlZEVsZW1lbnQsIGdldEhpdEVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQtZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBsYWl0UG9pbnRlclR5cGUsIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsIFNFTEVDVElPTl9GSUxMX0NPTE9SIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HLCBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgQVRUQUNIRURfRUxFTUVOVF9DTEFTU19OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBkcmF3UmVjdGFuZ2xlLCBwcmV2ZW50VG91Y2hNb3ZlLCB0aHJvdHRsZVJBRiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0T3B0aW9uc0JvYXJkLCBQbGFpdFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3dpdGgtb3B0aW9ucyc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbktleSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGx1Z2luLWtleSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aFBsdWdpbk9wdGlvbnMgZXh0ZW5kcyBQbGFpdFBsdWdpbk9wdGlvbnMge1xuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZFNlbGVjdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTZWxlY3Rpb24oYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBnbG9iYWxQb2ludGVyTW92ZSwgZ2xvYmFsUG9pbnRlclVwLCBvbkNoYW5nZSB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgc3RhcnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGVuZDogUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgc2VsZWN0aW9uTW92aW5nRzogU1ZHR0VsZW1lbnQ7XG4gICAgbGV0IHNlbGVjdGlvbk91dGVyRzogU1ZHR0VsZW1lbnQ7XG4gICAgbGV0IHByZXZpb3VzU2VsZWN0ZWRFbGVtZW50czogUGxhaXRFbGVtZW50W107XG5cbiAgICAvLyBwcmV2ZW50IHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZCB3aGVuIHVzZXIgcHJlc3NlZCBtYWluIHBvaW50ZXIgYW5kIGlzIG1vdmluZ1xuICAgIGxldCBuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcgPSBmYWxzZTtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgIWV2ZW50LnRhcmdldC5jbG9zZXN0KCcucGxhaXQtcmljaHRleHQtY29udGFpbmVyJykpIHtcbiAgICAgICAgICAgIG5lZWRQcmV2ZW50TmF0aXZlU2VsZWN0aW9uV2hlbk1vdmluZyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzTWFpblBvaW50ZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBwb2ludGVyRG93bihldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcblxuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9O1xuICAgICAgICBjb25zdCBoaXRFbGVtZW50cyA9IGdldEhpdEVsZW1lbnRzKGJvYXJkLCB7IHJhbmdlczogW3JhbmdlXSB9KTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuXG4gICAgICAgIGlmIChoaXRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhoaXRFbGVtZW50c1swXSkgJiYgIW9wdGlvbnMuaXNEaXNhYmxlZFNlbGVjdCkge1xuICAgICAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSAmJlxuICAgICAgICAgICAgaGl0RWxlbWVudHMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICBvcHRpb25zLmlzTXVsdGlwbGUgJiZcbiAgICAgICAgICAgICFvcHRpb25zLmlzRGlzYWJsZWRTZWxlY3RcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBzdGFydCA9IHBvaW50O1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgeyByYW5nZXM6IFtyYW5nZV0gfSk7XG5cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxQb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcpIHtcbiAgICAgICAgICAgIC8vIHByZXZlbnQgdGV4dCBmcm9tIGJlaW5nIHNlbGVjdGVkXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgICAgICBjb25zdCBtb3ZlZFRhcmdldCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbc3RhcnQsIG1vdmVkVGFyZ2V0XSk7XG4gICAgICAgICAgICBzZWxlY3Rpb25Nb3ZpbmdHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGlmIChNYXRoLmh5cG90KHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLmhlaWdodCkgPiA1KSB7XG4gICAgICAgICAgICAgICAgZW5kID0gbW92ZWRUYXJnZXQ7XG4gICAgICAgICAgICAgICAgdGhyb3R0bGVSQUYoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgeyByYW5nZXM6IFt7IGFuY2hvcjogc3RhcnQsIGZvY3VzOiBlbmQgfV0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3Rpb25Nb3ZpbmcoYm9hcmQpO1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vdmluZ0cgPSBkcmF3UmVjdGFuZ2xlKGJvYXJkLCByZWN0YW5nbGUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogU0VMRUNUSU9OX0ZJTExfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKHNlbGVjdGlvbk1vdmluZ0cpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdsb2JhbFBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2VsZWN0aW9uTW92aW5nRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGlvbk1vdmluZyhib2FyZCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbihib2FyZCwgeyByYW5nZXM6IFt7IGFuY2hvcjogc3RhcnQsIGZvY3VzOiBlbmQgfV0gfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0ZvY3VzKGJvYXJkKSkge1xuICAgICAgICAgICAgY29uc3QgaXNJbkJvYXJkID0gZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSAmJiBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNJbkRvY3VtZW50ID0gZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSAmJiBkb2N1bWVudC5jb250YWlucyhldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNBdHRhY2hlZEVsZW1lbnQgPSBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ICYmIGV2ZW50LnRhcmdldC5jbG9zZXN0KGAuJHtBVFRBQ0hFRF9FTEVNRU5UX0NMQVNTX05BTUV9YCk7XG4gICAgICAgICAgICAvLyBDbGVhciBzZWxlY3Rpb24gd2hlbiBtb3VzZSBib2FyZCBvdXRzaWRlIGFyZWFcbiAgICAgICAgICAgIC8vIFRoZSBmcmFtZXdvcmsgbmVlZHMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGJvYXJkIGlzIGZvY3VzZWQgdGhyb3VnaCBzZWxlY3Rpb25cbiAgICAgICAgICAgIGlmICghaXNJbkJvYXJkICYmICFzdGFydCAmJiAhaXNBdHRhY2hlZEVsZW1lbnQgJiYgaXNJbkRvY3VtZW50KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhcnQgPSBudWxsO1xuICAgICAgICBlbmQgPSBudWxsO1xuICAgICAgICBuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcgPSBmYWxzZTtcbiAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZmFsc2UpO1xuICAgICAgICBnbG9iYWxQb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5vbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG4gICAgICAgIGlmIChvcHRpb25zLmlzRGlzYWJsZWRTZWxlY3QpIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjYWxjIHNlbGVjdGVkIGVsZW1lbnRzIGVudHJ5XG4gICAgICAgIGlmIChib2FyZC5wb2ludGVyICE9PSBQbGFpdFBvaW50ZXJUeXBlLmhhbmQgJiYgIW9wdGlvbnMuaXNEaXNhYmxlZFNlbGVjdCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoYm9hcmQub3BlcmF0aW9ucy5maW5kKHZhbHVlID0+IHZhbHVlLnR5cGUgPT09ICdzZXRfc2VsZWN0aW9uJykpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcG9yYXJ5RWxlbWVudHMgPSBnZXRUZW1wb3JhcnlFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBlbGVtZW50cyA9IHRlbXBvcmFyeUVsZW1lbnRzID8gdGVtcG9yYXJ5RWxlbWVudHMgOiBnZXRIaXRFbGVtZW50cyhib2FyZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmlzTXVsdGlwbGUgJiYgZWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMgPSBbZWxlbWVudHNbMF1dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlU2VsZWN0ZWRFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1NlbGVjdGVkRWxlbWVudHMgPSBlbGVtZW50cztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPiAwICYmIGhlaWdodCA+IDAgJiYgZWxlbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHID0gY3JlYXRlU2VsZWN0aW9uT3V0ZXJHKGJvYXJkLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcuY2xhc3NMaXN0LmFkZCgnc2VsZWN0aW9uLW91dGVyJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChzZWxlY3Rpb25PdXRlckcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZVRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyB3YWl0IG5vZGUgZGVzdHJveSBhbmQgcmVtb3ZlIHNlbGVjdGVkIGVsZW1lbnQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50U2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCAmJiBjdXJyZW50U2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50Q2hhbmdlID0gY3VycmVudFNlbGVjdGVkRWxlbWVudHMuc29tZShpdGVtID0+ICFwcmV2aW91c1NlbGVjdGVkRWxlbWVudHMuaW5jbHVkZXMoaXRlbSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHID0gY3JlYXRlU2VsZWN0aW9uT3V0ZXJHKGJvYXJkLCBjdXJyZW50U2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRy5jbGFzc0xpc3QuYWRkKCdzZWxlY3Rpb24tb3V0ZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmQoc2VsZWN0aW9uT3V0ZXJHKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb25DaGFuZ2UoKTtcbiAgICB9O1xuXG4gICAgKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5zZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uLCB7XG4gICAgICAgIGlzTXVsdGlwbGU6IHRydWUsXG4gICAgICAgIGlzRGlzYWJsZWRTZWxlY3Q6IGZhbHNlXG4gICAgfSk7XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wb3JhcnlFbGVtZW50cyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIHJldHVybiBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMuZ2V0KGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlbGV0ZVRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgQk9BUkRfVE9fVEVNUE9SQVJZX0VMRU1FTlRTLmRlbGV0ZShib2FyZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvbk1vdmluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIHJldHVybiAhIUJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcuZ2V0KGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlbGVjdGlvbk1vdmluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1tb3ZpbmcnKTtcbiAgICBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HLnNldChib2FyZCwgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhclNlbGVjdGlvbk1vdmluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGlvbi1tb3ZpbmcnKTtcbiAgICBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HLmRlbGV0ZShib2FyZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3Rpb25PdXRlckcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNlbGVjdEVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkge1xuICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIHNlbGVjdEVsZW1lbnRzLCBmYWxzZSk7XG4gICAgcmV0dXJuIGRyYXdSZWN0YW5nbGUoYm9hcmQsIFJlY3RhbmdsZUNsaWVudC5nZXRPdXRsaW5lUmVjdGFuZ2xlKHJlY3RhbmdsZSwgLTIuNSksIHtcbiAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgfSk7XG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zZWxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0gsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPMUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQjtJQUMzQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFNUUsSUFBSSxL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bnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnLi4vdXRpbHMvYm9hcmQnO1xuaW1wb3J0IHsgaXNNYWluUG9pbnRlciwgdG9Qb2ludCB9IGZyb20gJy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IGNhY2hlU2VsZWN0ZWRFbGVtZW50cywgY2xlYXJTZWxlY3RlZEVsZW1lbnQsIGdldEhpdEVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0ZWQtZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnQsIFBsYWl0UG9pbnRlclR5cGUsIFNFTEVDVElPTl9CT1JERVJfQ09MT1IsIFNFTEVDVElPTl9GSUxMX0NPTE9SIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi4vdXRpbHMvZWxlbWVudCc7XG5pbXBvcnQgeyBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HLCBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMgfSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgQUNUSVZFX1NUUk9LRV9XSURUSCwgQVRUQUNIRURfRUxFTUVOVF9DTEFTU19OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBkcmF3UmVjdGFuZ2xlLCBwcmV2ZW50VG91Y2hNb3ZlLCB0aHJvdHRsZVJBRiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0T3B0aW9uc0JvYXJkLCBQbGFpdFBsdWdpbk9wdGlvbnMgfSBmcm9tICcuL3dpdGgtb3B0aW9ucyc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbktleSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGx1Z2luLWtleSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aFBsdWdpbk9wdGlvbnMgZXh0ZW5kcyBQbGFpdFBsdWdpbk9wdGlvbnMge1xuICAgIGlzTXVsdGlwbGU6IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZFNlbGVjdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTZWxlY3Rpb24oYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCB7IHBvaW50ZXJEb3duLCBnbG9iYWxQb2ludGVyTW92ZSwgZ2xvYmFsUG9pbnRlclVwLCBvbkNoYW5nZSB9ID0gYm9hcmQ7XG5cbiAgICBsZXQgc3RhcnQ6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGVuZDogUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgc2VsZWN0aW9uTW92aW5nRzogU1ZHR0VsZW1lbnQ7XG4gICAgbGV0IHNlbGVjdGlvbk91dGVyRzogU1ZHR0VsZW1lbnQ7XG4gICAgbGV0IHByZXZpb3VzU2VsZWN0ZWRFbGVtZW50czogUGxhaXRFbGVtZW50W107XG5cbiAgICAvLyBwcmV2ZW50IHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZCB3aGVuIHVzZXIgcHJlc3NlZCBtYWluIHBvaW50ZXIgYW5kIGlzIG1vdmluZ1xuICAgIGxldCBuZWVkUHJldmVudE5hdGl2ZVNlbGVjdGlvbldoZW5Nb3ZpbmcgPSBmYWxzZTtcblxuICAgIGJvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgIWV2ZW50LnRhcmdldC5jbG9zZXN0KCcucGxhaXQtcmljaHRleHQtY29udGFpbmVyJykpIHtcbiAgICAgICAgICAgIG5lZWRQcmV2ZW50TmF0aXZlU2VsZWN0aW9uV2hlbk1vdmluZyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzTWFpblBvaW50ZXIoZXZlbnQpKSB7XG4gICAgICAgICAgICBwb2ludGVyRG93bihldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcblxuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB7IGFuY2hvcjogcG9pbnQsIGZvY3VzOiBwb2ludCB9O1xuICAgICAgICBjb25zdCBoaXRFbGVtZW50cyA9IGdldEhpdEVsZW1lbnRzKGJvYXJkLCB7IHJhbmdlczogW3JhbmdlXSB9KTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuXG4gICAgICAgIGlmIChoaXRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhoaXRFbGVtZW50c1swXSkgJiYgIW9wdGlvbnMuaXNEaXNhYmxlZFNlbGVjdCkge1xuICAgICAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSAmJlxuICAgICAgICAgICAgaGl0RWxlbWVudHMubGVuZ3RoID09PSAwICYmXG4gICAgICAgICAgICBvcHRpb25zLmlzTXVsdGlwbGUgJiZcbiAgICAgICAgICAgICFvcHRpb25zLmlzRGlzYWJsZWRTZWxlY3RcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBzdGFydCA9IHBvaW50O1xuICAgICAgICAgICAgcHJldmVudFRvdWNoTW92ZShib2FyZCwgZXZlbnQsIHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIHsgcmFuZ2VzOiBbcmFuZ2VdIH0pO1xuXG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsUG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAobmVlZFByZXZlbnROYXRpdmVTZWxlY3Rpb25XaGVuTW92aW5nKSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IHRleHQgZnJvbSBiZWluZyBzZWxlY3RlZFxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGFydCkge1xuICAgICAgICAgICAgY29uc3QgbW92ZWRUYXJnZXQgPSB0cmFuc2Zvcm1Qb2ludChib2FyZCwgdG9Qb2ludChldmVudC54LCBldmVudC55LCBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpKSk7XG4gICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3N0YXJ0LCBtb3ZlZFRhcmdldF0pO1xuICAgICAgICAgICAgc2VsZWN0aW9uTW92aW5nRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZiAoTWF0aC5oeXBvdChyZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQpID4gNSkge1xuICAgICAgICAgICAgICAgIGVuZCA9IG1vdmVkVGFyZ2V0O1xuICAgICAgICAgICAgICAgIHRocm90dGxlUkFGKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IHN0YXJ0LCBmb2N1czogZW5kIH1dIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0aW9uTW92aW5nKGJvYXJkKTtcbiAgICAgICAgICAgICAgICBzZWxlY3Rpb25Nb3ZpbmdHID0gZHJhd1JlY3RhbmdsZShib2FyZCwgcmVjdGFuZ2xlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogU0VMRUNUSU9OX0JPUkRFUl9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFNFTEVDVElPTl9GSUxMX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChzZWxlY3Rpb25Nb3ZpbmdHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxQb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbFBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzdGFydCAmJiBlbmQpIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbk1vdmluZ0c/LnJlbW92ZSgpO1xuICAgICAgICAgICAgY2xlYXJTZWxlY3Rpb25Nb3ZpbmcoYm9hcmQpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb24oYm9hcmQsIHsgcmFuZ2VzOiBbeyBhbmNob3I6IHN0YXJ0LCBmb2N1czogZW5kIH1dIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNGb2N1cyhib2FyZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzSW5Cb2FyZCA9IGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUgJiYgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IGlzSW5Eb2N1bWVudCA9IGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUgJiYgZG9jdW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IGlzQXR0YWNoZWRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJiBldmVudC50YXJnZXQuY2xvc2VzdChgLiR7QVRUQUNIRURfRUxFTUVOVF9DTEFTU19OQU1FfWApO1xuICAgICAgICAgICAgLy8gQ2xlYXIgc2VsZWN0aW9uIHdoZW4gbW91c2UgYm9hcmQgb3V0c2lkZSBhcmVhXG4gICAgICAgICAgICAvLyBUaGUgZnJhbWV3b3JrIG5lZWRzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBib2FyZCBpcyBmb2N1c2VkIHRocm91Z2ggc2VsZWN0aW9uXG4gICAgICAgICAgICBpZiAoIWlzSW5Cb2FyZCAmJiAhc3RhcnQgJiYgIWlzQXR0YWNoZWRFbGVtZW50ICYmIGlzSW5Eb2N1bWVudCkge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uKGJvYXJkLCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0ID0gbnVsbDtcbiAgICAgICAgZW5kID0gbnVsbDtcbiAgICAgICAgbmVlZFByZXZlbnROYXRpdmVTZWxlY3Rpb25XaGVuTW92aW5nID0gZmFsc2U7XG4gICAgICAgIHByZXZlbnRUb3VjaE1vdmUoYm9hcmQsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcChldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLm9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gKGJvYXJkIGFzIFBsYWl0T3B0aW9uc0JvYXJkKS5nZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcbiAgICAgICAgaWYgKG9wdGlvbnMuaXNEaXNhYmxlZFNlbGVjdCkge1xuICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNhbGMgc2VsZWN0ZWQgZWxlbWVudHMgZW50cnlcbiAgICAgICAgaWYgKGJvYXJkLnBvaW50ZXIgIT09IFBsYWl0UG9pbnRlclR5cGUuaGFuZCAmJiAhb3B0aW9ucy5pc0Rpc2FibGVkU2VsZWN0KSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmIChib2FyZC5vcGVyYXRpb25zLmZpbmQodmFsdWUgPT4gdmFsdWUudHlwZSA9PT0gJ3NldF9zZWxlY3Rpb24nKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZW1wb3JhcnlFbGVtZW50cyA9IGdldFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRzID0gdGVtcG9yYXJ5RWxlbWVudHMgPyB0ZW1wb3JhcnlFbGVtZW50cyA6IGdldEhpdEVsZW1lbnRzKGJvYXJkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuaXNNdWx0aXBsZSAmJiBlbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyA9IFtlbGVtZW50c1swXV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY2FjaGVTZWxlY3RlZEVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzU2VsZWN0ZWRFbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGVsZW1lbnRzLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCAmJiBlbGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcgPSBjcmVhdGVTZWxlY3Rpb25PdXRlckcoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk91dGVyRy5jbGFzc0xpc3QuYWRkKCdzZWxlY3Rpb24tb3V0ZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKHNlbGVjdGlvbk91dGVyRyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdhaXQgbm9kZSBkZXN0cm95IGFuZCByZW1vdmUgc2VsZWN0ZWQgZWxlbWVudCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNlbGVjdGVkRWxlbWVudHMubGVuZ3RoICYmIGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRDaGFuZ2UgPSBjdXJyZW50U2VsZWN0ZWRFbGVtZW50cy5zb21lKGl0ZW0gPT4gIXByZXZpb3VzU2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudENoYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25PdXRlckcgPSBjcmVhdGVTZWxlY3Rpb25PdXRlckcoYm9hcmQsIGN1cnJlbnRTZWxlY3RlZEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1vdXRlcicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChzZWxlY3Rpb25PdXRlckcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uT3V0ZXJHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZSgpO1xuICAgIH07XG5cbiAgICAoYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLnNldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24sIHtcbiAgICAgICAgaXNNdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgaXNEaXNhYmxlZFNlbGVjdDogZmFsc2VcbiAgICB9KTtcblxuICAgIHJldHVybiBib2FyZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgcmV0dXJuIEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUy5nZXQoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMuZGVsZXRlKGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgcmV0dXJuICEhQk9BUkRfVE9fSVNfU0VMRUNUSU9OX01PVklORy5nZXQoYm9hcmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LmFkZCgnc2VsZWN0aW9uLW1vdmluZycpO1xuICAgIEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcuc2V0KGJvYXJkLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyU2VsZWN0aW9uTW92aW5nKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0aW9uLW1vdmluZycpO1xuICAgIEJPQVJEX1RPX0lTX1NFTEVDVElPTl9NT1ZJTkcuZGVsZXRlKGJvYXJkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdGlvbk91dGVyRyhib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0RWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSB7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgc2VsZWN0RWxlbWVudHMsIGZhbHNlKTtcbiAgICByZXR1cm4gZHJhd1JlY3RhbmdsZShib2FyZCwgUmVjdGFuZ2xlQ2xpZW50LmluZmxhdGUocmVjdGFuZ2xlLCBBQ1RJVkVfU1RST0tFX1dJRFRIKSwge1xuICAgICAgICBzdHJva2U6IFNFTEVDVElPTl9CT1JERVJfQ09MT1IsXG4gICAgICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { PlaitBoard } from "../interfaces/board";
2
+ import { removeSelectedElement } from "../utils/selected-element";
3
+ import { removeNode } from "./node";
4
+ export const removeElements = (board, elements) => {
5
+ elements
6
+ .map(element => {
7
+ const path = PlaitBoard.findPath(board, element);
8
+ const ref = board.pathRef(path);
9
+ return () => {
10
+ removeNode(board, ref.current);
11
+ ref.unref();
12
+ removeSelectedElement(board, element);
13
+ };
14
+ })
15
+ .forEach(action => {
16
+ action();
17
+ });
18
+ };
19
+ export const CoreTransforms = {
20
+ removeElements
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3RyYW5zZm9ybXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQXdCLEVBQUUsRUFBRTtJQUMxRSxRQUFRO1NBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1gsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxPQUFPLEdBQUcsRUFBRTtZQUNSLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQVEsQ0FBQyxDQUFDO1lBQ2hDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNaLHFCQUFxQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDZCxNQUFNLEVBQUUsQ0FBQztJQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLGNBQWM7Q0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9ib2FyZFwiO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgcmVtb3ZlU2VsZWN0ZWRFbGVtZW50IH0gZnJvbSBcIi4uL3V0aWxzL3NlbGVjdGVkLWVsZW1lbnRcIjtcbmltcG9ydCB7IHJlbW92ZU5vZGUgfSBmcm9tIFwiLi9ub2RlXCI7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgZWxlbWVudHNcbiAgICAgICAgLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlbW92ZU5vZGUoYm9hcmQsIHJlZi5jdXJyZW50ISk7XG4gICAgICAgICAgICAgICAgcmVmLnVucmVmKCk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlU2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICBhY3Rpb24oKTtcbiAgICAgICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgQ29yZVRyYW5zZm9ybXMgPSB7XG4gICAgcmVtb3ZlRWxlbWVudHNcbn07XG4iXX0=
@@ -3,10 +3,11 @@ import { NodeTransforms } from './node';
3
3
  import { SelectionTransforms } from './selection';
4
4
  import { ViewportTransforms } from './viewport';
5
5
  export { BoardTransforms } from './board';
6
+ export { CoreTransforms } from './element';
6
7
  export const Transforms = {
7
8
  ...GeneralTransforms,
8
9
  ...ViewportTransforms,
9
10
  ...SelectionTransforms,
10
11
  ...NodeTransforms
11
12
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtGO0lBQ3JHLEdBQUcsaUJBQWlCO0lBQ3BCLEdBQUcsa0JBQWtCO0lBQ3JCLEdBQUcsbUJBQW1CO0lBQ3RCLEdBQUcsY0FBYztDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJhbFRyYW5zZm9ybXMgfSBmcm9tICcuL2dlbmVyYWwnO1xuaW1wb3J0IHsgTm9kZVRyYW5zZm9ybXMgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uVHJhbnNmb3JtcyB9IGZyb20gJy4vc2VsZWN0aW9uJztcbmltcG9ydCB7IFZpZXdwb3J0VHJhbnNmb3JtcyB9IGZyb20gJy4vdmlld3BvcnQnO1xuXG5leHBvcnQgeyBCb2FyZFRyYW5zZm9ybXMgfSBmcm9tICcuL2JvYXJkJztcbmV4cG9ydCBjb25zdCBUcmFuc2Zvcm1zOiBHZW5lcmFsVHJhbnNmb3JtcyAmIFZpZXdwb3J0VHJhbnNmb3JtcyAmIFNlbGVjdGlvblRyYW5zZm9ybXMgJiBOb2RlVHJhbnNmb3JtcyA9IHtcbiAgICAuLi5HZW5lcmFsVHJhbnNmb3JtcyxcbiAgICAuLi5WaWV3cG9ydFRyYW5zZm9ybXMsXG4gICAgLi4uU2VsZWN0aW9uVHJhbnNmb3JtcyxcbiAgICAuLi5Ob2RlVHJhbnNmb3Jtc1xufTtcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy90cmFuc2Zvcm1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0Y7SUFDckcsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyxrQkFBa0I7SUFDckIsR0FBRyxtQkFBbUI7SUFDdEIsR0FBRyxjQUFjO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmFsVHJhbnNmb3JtcyB9IGZyb20gJy4vZ2VuZXJhbCc7XG5pbXBvcnQgeyBOb2RlVHJhbnNmb3JtcyB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25UcmFuc2Zvcm1zIH0gZnJvbSAnLi9zZWxlY3Rpb24nO1xuaW1wb3J0IHsgVmlld3BvcnRUcmFuc2Zvcm1zIH0gZnJvbSAnLi92aWV3cG9ydCc7XG5cbmV4cG9ydCB7IEJvYXJkVHJhbnNmb3JtcyB9IGZyb20gJy4vYm9hcmQnO1xuZXhwb3J0IHsgQ29yZVRyYW5zZm9ybXMgfSBmcm9tICcuL2VsZW1lbnQnO1xuXG5leHBvcnQgY29uc3QgVHJhbnNmb3JtczogR2VuZXJhbFRyYW5zZm9ybXMgJiBWaWV3cG9ydFRyYW5zZm9ybXMgJiBTZWxlY3Rpb25UcmFuc2Zvcm1zICYgTm9kZVRyYW5zZm9ybXMgPSB7XG4gICAgLi4uR2VuZXJhbFRyYW5zZm9ybXMsXG4gICAgLi4uVmlld3BvcnRUcmFuc2Zvcm1zLFxuICAgIC4uLlNlbGVjdGlvblRyYW5zZm9ybXMsXG4gICAgLi4uTm9kZVRyYW5zZm9ybXNcbn07XG4iXX0=
@@ -2,7 +2,7 @@ import { createG, createPath } from '../dom/common';
2
2
  export function drawLine(rs, start, end, options) {
3
3
  return rs.linearPath([start, end], options);
4
4
  }
5
- export function drawLinearPath(points, options) {
5
+ export function drawLinearPath(points, options, closePath) {
6
6
  const g = createG();
7
7
  const path = createPath();
8
8
  let polylinePath = '';
@@ -14,10 +14,13 @@ export function drawLinearPath(points, options) {
14
14
  polylinePath += `L ${point[0]} ${point[1]} `;
15
15
  }
16
16
  });
17
+ if (closePath) {
18
+ polylinePath += 'Z';
19
+ }
17
20
  path.setAttribute('d', polylinePath);
18
21
  path.setAttribute('stroke', `${options?.stroke}`);
19
22
  path.setAttribute('stroke-width', `${options?.strokeWidth}`);
20
- path.setAttribute('fill', `none`);
23
+ path.setAttribute('fill', `${options?.fill || 'none'}`);
21
24
  g.appendChild(path);
22
25
  return g;
23
26
  }
@@ -40,4 +43,4 @@ export function drawBezierPath(points, options) {
40
43
  g.appendChild(path);
41
44
  return g;
42
45
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RyYXcvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEVBQVksRUFBRSxLQUFZLEVBQUUsR0FBVSxFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUI7SUFDN0QsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDNUIsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2IsWUFBWSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ2hEO2FBQU07WUFDSCxZQUFZLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDaEQ7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBZSxFQUFFLE9BQWlCO0lBQzdELE1BQU0sQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBRTFCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVCxZQUFZLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDeEQ7YUFBTTtZQUNILFlBQVksSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDbkgsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ25CLEVBQUUsQ0FBQztTQUNOO0tBQ0o7SUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwQixPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRywgY3JlYXRlUGF0aCB9IGZyb20gJy4uL2RvbS9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmUocnM6IFJvdWdoU1ZHLCBzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIG9wdGlvbnM6IE9wdGlvbnMpOiBTVkdHRWxlbWVudCB7XG4gICAgcmV0dXJuIHJzLmxpbmVhclBhdGgoW3N0YXJ0LCBlbmRdLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdMaW5lYXJQYXRoKHBvaW50czogUG9pbnRbXSwgb3B0aW9ucz86IE9wdGlvbnMpIHtcbiAgICBjb25zdCBnID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHBhdGggPSBjcmVhdGVQYXRoKCk7XG5cbiAgICBsZXQgcG9seWxpbmVQYXRoID0gJyc7XG4gICAgcG9pbnRzLmZvckVhY2goKHBvaW50LCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHBvbHlsaW5lUGF0aCArPSBgTSAke3BvaW50WzBdfSAke3BvaW50WzFdfSBgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBMICR7cG9pbnRbMF19ICR7cG9pbnRbMV19IGA7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGBub25lYCk7XG4gICAgZy5hcHBlbmRDaGlsZChwYXRoKTtcblxuICAgIHJldHVybiBnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0JlemllclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGggLSAzOyBpICs9IDMpIHtcbiAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIHBvbHlsaW5lUGF0aCArPSBgTSAke3BvaW50c1swXVswXX0gJHtwb2ludHNbMF1bMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEMgJHtwb2ludHNbaSArIDFdWzBdfSAke3BvaW50c1tpICsgMV1bMV19LCAke3BvaW50c1tpICsgMl1bMF19ICR7cG9pbnRzW2kgKyAyXVsxXX0sICR7cG9pbnRzW2kgKyAzXVswXX0gJHtcbiAgICAgICAgICAgICAgICBwb2ludHNbaSArIDNdWzFdXG4gICAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGBub25lYCk7XG4gICAgZy5hcHBlbmRDaGlsZChwYXRoKTtcblxuICAgIHJldHVybiBnO1xufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RyYXcvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEVBQVksRUFBRSxLQUFZLEVBQUUsR0FBVSxFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUIsRUFBRSxTQUFtQjtJQUNsRixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUUxQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM1QixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDYixZQUFZLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDaEQ7YUFBTTtZQUNILFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNoRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDWCxZQUFZLElBQUksR0FBRyxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEIsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUI7SUFDN0QsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNULFlBQVksSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUN4RDthQUFNO1lBQ0gsWUFBWSxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNuSCxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbkIsRUFBRSxDQUFDO1NBQ047S0FDSjtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVHLCBjcmVhdGVQYXRoIH0gZnJvbSAnLi4vZG9tL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TGluZShyczogUm91Z2hTVkcsIHN0YXJ0OiBQb2ludCwgZW5kOiBQb2ludCwgb3B0aW9uczogT3B0aW9ucyk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gcnMubGluZWFyUGF0aChbc3RhcnQsIGVuZF0sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmVhclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucywgY2xvc2VQYXRoPzogYm9vbGVhbikge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBwb2ludHMuZm9yRWFjaCgocG9pbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRbMF19ICR7cG9pbnRbMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEwgJHtwb2ludFswXX0gJHtwb2ludFsxXX0gYDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGNsb3NlUGF0aCkge1xuICAgICAgICBwb2x5bGluZVBhdGggKz0gJ1onO1xuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGAke29wdGlvbnM/LmZpbGwgfHwgJ25vbmUnfWApO1xuICAgIGcuYXBwZW5kQ2hpbGQocGF0aCk7XG5cbiAgICByZXR1cm4gZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdCZXppZXJQYXRoKHBvaW50czogUG9pbnRbXSwgb3B0aW9ucz86IE9wdGlvbnMpIHtcbiAgICBjb25zdCBnID0gY3JlYXRlRygpO1xuICAgIGNvbnN0IHBhdGggPSBjcmVhdGVQYXRoKCk7XG5cbiAgICBsZXQgcG9seWxpbmVQYXRoID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoIC0gMzsgaSArPSAzKSB7XG4gICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYE0gJHtwb2ludHNbMF1bMF19ICR7cG9pbnRzWzBdWzFdfSBgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBDICR7cG9pbnRzW2kgKyAxXVswXX0gJHtwb2ludHNbaSArIDFdWzFdfSwgJHtwb2ludHNbaSArIDJdWzBdfSAke3BvaW50c1tpICsgMl1bMV19LCAke3BvaW50c1tpICsgM11bMF19ICR7XG4gICAgICAgICAgICAgICAgcG9pbnRzW2kgKyAzXVsxXVxuICAgICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZCcsIHBvbHlsaW5lUGF0aCk7XG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZScsIGAke29wdGlvbnM/LnN0cm9rZX1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLXdpZHRoJywgYCR7b3B0aW9ucz8uc3Ryb2tlV2lkdGh9YCk7XG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBgbm9uZWApO1xuICAgIGcuYXBwZW5kQ2hpbGQocGF0aCk7XG5cbiAgICByZXR1cm4gZztcbn1cbiJdfQ==
@@ -1,8 +1,35 @@
1
- import { IS_PREVENT_TOUCH_MOVE } from './weak-maps';
1
+ import { PlaitBoard } from '../interfaces/board';
2
+ import { createG } from './dom/common';
3
+ export const BOARD_TO_TOUCH_REF = new WeakMap();
2
4
  export const isPreventTouchMove = (board) => {
3
- return !!IS_PREVENT_TOUCH_MOVE.get(board);
5
+ return !!BOARD_TO_TOUCH_REF.get(board);
4
6
  };
5
- export const preventTouchMove = (board, state) => {
6
- IS_PREVENT_TOUCH_MOVE.set(board, state);
7
+ export const preventTouchMove = (board, event, state) => {
8
+ if (state && (event.target instanceof HTMLElement || event.target instanceof SVGElement)) {
9
+ BOARD_TO_TOUCH_REF.set(board, { state, target: event.target });
10
+ }
11
+ else {
12
+ const ref = BOARD_TO_TOUCH_REF.get(board);
13
+ if (ref) {
14
+ BOARD_TO_TOUCH_REF.delete(board);
15
+ ref.host?.remove();
16
+ }
17
+ }
7
18
  };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy90b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDcEQsT0FBTyxDQUFDLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxLQUFjLEVBQUUsRUFBRTtJQUNsRSxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IElTX1BSRVZFTlRfVE9VQ0hfTU9WRSB9IGZyb20gJy4vd2Vhay1tYXBzJztcblxuZXhwb3J0IGNvbnN0IGlzUHJldmVudFRvdWNoTW92ZSA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIHJldHVybiAhIUlTX1BSRVZFTlRfVE9VQ0hfTU9WRS5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHByZXZlbnRUb3VjaE1vdmUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHN0YXRlOiBCb29sZWFuKSA9PiB7XG4gICAgSVNfUFJFVkVOVF9UT1VDSF9NT1ZFLnNldChib2FyZCwgc3RhdGUpO1xufTtcbiJdfQ==
19
+ /**
20
+ * some intersection maybe cause target is removed from current browser window,
21
+ * after it was removed touch move event will not be fired
22
+ * so scroll behavior will can not be prevented in mobile browser device
23
+ * this function will prevent target element being remove.
24
+ */
25
+ export const handleTouchTarget = (board) => {
26
+ const touchRef = BOARD_TO_TOUCH_REF.get(board);
27
+ if (touchRef && !touchRef.target.contains(PlaitBoard.getElementActiveHost(board))) {
28
+ touchRef.target.style.opacity = '0';
29
+ const host = createG();
30
+ host.appendChild(touchRef.target);
31
+ touchRef.host = host;
32
+ PlaitBoard.getElementActiveHost(board).append(host);
33
+ }
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy90b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVF2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBd0IsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQW1CLEVBQUUsS0FBYyxFQUFFLEVBQUU7SUFDdkYsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxZQUFZLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxZQUFZLFVBQVUsQ0FBQyxFQUFFO1FBQ3RGLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQ2xFO1NBQU07UUFDSCxNQUFNLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxHQUFHLEVBQUU7WUFDTCxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUN0QjtLQUNKO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNuRCxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsSUFBSSxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUMvRSxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkQ7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBjcmVhdGVHIH0gZnJvbSAnLi9kb20vY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VjaFJlZiB7XG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG4gICAgc3RhdGU6IGJvb2xlYW47XG4gICAgaG9zdD86IFNWR0dFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fVE9VQ0hfUkVGID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgVG91Y2hSZWY+KCk7XG5cbmV4cG9ydCBjb25zdCBpc1ByZXZlbnRUb3VjaE1vdmUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gISFCT0FSRF9UT19UT1VDSF9SRUYuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcmV2ZW50VG91Y2hNb3ZlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBldmVudDogUG9pbnRlckV2ZW50LCBzdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgIGlmIChzdGF0ZSAmJiAoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgfHwgZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgU1ZHRWxlbWVudCkpIHtcbiAgICAgICAgQk9BUkRfVE9fVE9VQ0hfUkVGLnNldChib2FyZCwgeyBzdGF0ZSwgdGFyZ2V0OiBldmVudC50YXJnZXQgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVmID0gQk9BUkRfVE9fVE9VQ0hfUkVGLmdldChib2FyZCk7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIEJPQVJEX1RPX1RPVUNIX1JFRi5kZWxldGUoYm9hcmQpO1xuICAgICAgICAgICAgcmVmLmhvc3Q/LnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqXG4gKiBzb21lIGludGVyc2VjdGlvbiBtYXliZSBjYXVzZSB0YXJnZXQgaXMgcmVtb3ZlZCBmcm9tIGN1cnJlbnQgYnJvd3NlciB3aW5kb3csXG4gKiBhZnRlciBpdCB3YXMgcmVtb3ZlZCB0b3VjaCBtb3ZlIGV2ZW50IHdpbGwgbm90IGJlIGZpcmVkXG4gKiBzbyBzY3JvbGwgYmVoYXZpb3Igd2lsbCBjYW4gbm90IGJlIHByZXZlbnRlZCBpbiBtb2JpbGUgYnJvd3NlciBkZXZpY2VcbiAqIHRoaXMgZnVuY3Rpb24gd2lsbCBwcmV2ZW50IHRhcmdldCBlbGVtZW50IGJlaW5nIHJlbW92ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhbmRsZVRvdWNoVGFyZ2V0ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgdG91Y2hSZWYgPSBCT0FSRF9UT19UT1VDSF9SRUYuZ2V0KGJvYXJkKTtcbiAgICBpZiAodG91Y2hSZWYgJiYgIXRvdWNoUmVmLnRhcmdldC5jb250YWlucyhQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkKSkpIHtcbiAgICAgICAgdG91Y2hSZWYudGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBjcmVhdGVHKCk7XG4gICAgICAgIGhvc3QuYXBwZW5kQ2hpbGQodG91Y2hSZWYudGFyZ2V0KTtcbiAgICAgICAgdG91Y2hSZWYuaG9zdCA9IGhvc3Q7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChob3N0KTtcbiAgICB9XG59O1xuIl19
@@ -17,6 +17,5 @@ export const BOARD_TO_IS_SELECTION_MOVING = new WeakMap();
17
17
  // save no standard selected elements
18
18
  export const BOARD_TO_TEMPORARY_ELEMENTS = new WeakMap();
19
19
  export const BOARD_TO_MOVING_ELEMENT = new WeakMap();
20
- export const IS_PREVENT_TOUCH_MOVE = new WeakMap();
21
20
  export const PATH_REFS = new WeakMap();
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvd2Vhay1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXVDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxFQUF5QyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksT0FBTyxFQUE4QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRS9FLHFDQUFxQztBQUNyQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXNDLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBCb2FyZENvbXBvbmVudEludGVyZmFjZSwgQm9hcmRFbGVtZW50SG9zdEludGVyZmFjZSB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGhSZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgtcmVmJztcblxuLy8gcmVjb3JkIHJpY2h0ZXh0IHR5cGUgc3RhdHVzXG5leHBvcnQgY29uc3QgSVNfQk9BUkRfQ0FDSEUgPSBuZXcgV2Vha01hcDxPYmplY3QsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBGTFVTSElORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX0lOREVYID0gbmV3IFdlYWtNYXA8UGxhaXROb2RlLCBudW1iZXI+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX1BBUkVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0Tm9kZSwgQW5jZXN0b3I+KCk7XG5cbmV4cG9ydCBjb25zdCBJU19URVhUX0VESVRBQkxFID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX09OX0NIQU5HRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsICgpID0+IHZvaWQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19DT01QT05FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBCb2FyZENvbXBvbmVudEludGVyZmFjZT4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1JPVUdIX1NWRyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFJvdWdoU1ZHPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fSE9TVCA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFNWR1NWR0VsZW1lbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19FTEVNRU5UX0hPU1QgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBCb2FyZEVsZW1lbnRIb3N0SW50ZXJmYWNlPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fU0VMRUNURURfRUxFTUVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudFtdPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fTU9WSU5HX1BPSU5UX0lOX0JPQVJEID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUG9pbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19NT1ZJTkdfUE9JTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBQb2ludD4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1ZJRVdQT1JUX09SSUdJTkFUSU9OID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUG9pbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuLy8gc2F2ZSBubyBzdGFuZGFyZCBzZWxlY3RlZCBlbGVtZW50c1xuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudFtdPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fTU9WSU5HX0VMRU1FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnRbXT4oKTtcblxuZXhwb3J0IGNvbnN0IElTX1BSRVZFTlRfVE9VQ0hfTU9WRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIEJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBQQVRIX1JFRlM6IFdlYWtNYXA8UGxhaXRCb2FyZCwgU2V0PFBhdGhSZWY+PiA9IG5ldyBXZWFrTWFwKCk7XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvd2Vhay1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXVDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxFQUF5QyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksT0FBTyxFQUE4QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRS9FLHFDQUFxQztBQUNyQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXNDLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBCb2FyZENvbXBvbmVudEludGVyZmFjZSwgQm9hcmRFbGVtZW50SG9zdEludGVyZmFjZSB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGhSZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgtcmVmJztcblxuLy8gcmVjb3JkIHJpY2h0ZXh0IHR5cGUgc3RhdHVzXG5leHBvcnQgY29uc3QgSVNfQk9BUkRfQ0FDSEUgPSBuZXcgV2Vha01hcDxPYmplY3QsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBGTFVTSElORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX0lOREVYID0gbmV3IFdlYWtNYXA8UGxhaXROb2RlLCBudW1iZXI+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX1BBUkVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0Tm9kZSwgQW5jZXN0b3I+KCk7XG5cbmV4cG9ydCBjb25zdCBJU19URVhUX0VESVRBQkxFID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX09OX0NIQU5HRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsICgpID0+IHZvaWQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19DT01QT05FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBCb2FyZENvbXBvbmVudEludGVyZmFjZT4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1JPVUdIX1NWRyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFJvdWdoU1ZHPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fSE9TVCA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFNWR1NWR0VsZW1lbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19FTEVNRU5UX0hPU1QgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBCb2FyZEVsZW1lbnRIb3N0SW50ZXJmYWNlPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fU0VMRUNURURfRUxFTUVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudFtdPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fTU9WSU5HX1BPSU5UX0lOX0JPQVJEID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUG9pbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19NT1ZJTkdfUE9JTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBQb2ludD4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1ZJRVdQT1JUX09SSUdJTkFUSU9OID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUG9pbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19JU19TRUxFQ1RJT05fTU9WSU5HID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuLy8gc2F2ZSBubyBzdGFuZGFyZCBzZWxlY3RlZCBlbGVtZW50c1xuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1RFTVBPUkFSWV9FTEVNRU5UUyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudFtdPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fTU9WSU5HX0VMRU1FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnRbXT4oKTtcblxuZXhwb3J0IGNvbnN0IFBBVEhfUkVGUzogV2Vha01hcDxQbGFpdEJvYXJkLCBTZXQ8UGF0aFJlZj4+ID0gbmV3IFdlYWtNYXAoKTtcbiJdfQ==