@plait/core 0.51.2 → 0.51.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/board/board.component.d.ts +1 -1
  2. package/esm2022/board/board.component.mjs +7 -6
  3. package/esm2022/core/children/children.component.mjs +5 -5
  4. package/esm2022/core/element/context-change.mjs +1 -1
  5. package/esm2022/core/element/element.component.mjs +5 -5
  6. package/esm2022/core/element/plugin-element.mjs +5 -5
  7. package/esm2022/core/island/island-base.component.mjs +9 -9
  8. package/esm2022/interfaces/board.mjs +1 -1
  9. package/esm2022/interfaces/element.mjs +1 -1
  10. package/esm2022/interfaces/group.mjs +6 -0
  11. package/esm2022/interfaces/index.mjs +2 -1
  12. package/esm2022/interfaces/node.mjs +1 -1
  13. package/esm2022/interfaces/operation.mjs +1 -1
  14. package/esm2022/interfaces/path-ref.mjs +1 -1
  15. package/esm2022/interfaces/path.mjs +1 -1
  16. package/esm2022/interfaces/rectangle-client.mjs +1 -1
  17. package/esm2022/interfaces/selection.mjs +1 -1
  18. package/esm2022/plugins/create-board.mjs +1 -1
  19. package/esm2022/plugins/with-board.mjs +1 -1
  20. package/esm2022/plugins/with-group.mjs +27 -0
  21. package/esm2022/plugins/with-hand.mjs +1 -1
  22. package/esm2022/plugins/with-history.mjs +1 -1
  23. package/esm2022/plugins/with-hotkey.mjs +1 -1
  24. package/esm2022/plugins/with-moving.mjs +3 -3
  25. package/esm2022/plugins/with-selection.mjs +96 -69
  26. package/esm2022/plugins/with-viewport.mjs +1 -1
  27. package/esm2022/services/image-context.service.mjs +4 -4
  28. package/esm2022/testing/fake-events/event-objects.mjs +4 -4
  29. package/esm2022/transforms/board.mjs +1 -1
  30. package/esm2022/transforms/general.mjs +1 -1
  31. package/esm2022/transforms/node.mjs +1 -1
  32. package/esm2022/transforms/selection.mjs +2 -2
  33. package/esm2022/utils/angle.mjs +36 -0
  34. package/esm2022/utils/board.mjs +1 -1
  35. package/esm2022/utils/clipboard/clipboard.mjs +1 -1
  36. package/esm2022/utils/clipboard/common.mjs +1 -1
  37. package/esm2022/utils/clipboard/data-transfer.mjs +1 -1
  38. package/esm2022/utils/clipboard/navigator-clipboard.mjs +1 -1
  39. package/esm2022/utils/common.mjs +1 -1
  40. package/esm2022/utils/dom/common.mjs +8 -4
  41. package/esm2022/utils/dom/foreign.mjs +1 -1
  42. package/esm2022/utils/drawing/line.mjs +1 -1
  43. package/esm2022/utils/drawing/rectangle.mjs +1 -1
  44. package/esm2022/utils/element.mjs +17 -5
  45. package/esm2022/utils/group.mjs +209 -0
  46. package/esm2022/utils/history.mjs +1 -1
  47. package/esm2022/utils/hotkeys.mjs +1 -1
  48. package/esm2022/utils/id-creator.mjs +1 -1
  49. package/esm2022/utils/index.mjs +4 -1
  50. package/esm2022/utils/math.mjs +23 -8
  51. package/esm2022/utils/reaction-manager.mjs +1 -1
  52. package/esm2022/utils/selected-element.mjs +1 -1
  53. package/esm2022/utils/selection.mjs +62 -0
  54. package/esm2022/utils/to-image.mjs +1 -1
  55. package/esm2022/utils/touch.mjs +1 -1
  56. package/esm2022/utils/tree.mjs +1 -1
  57. package/esm2022/utils/viewport.mjs +1 -1
  58. package/fesm2022/plait-core.mjs +1134 -756
  59. package/fesm2022/plait-core.mjs.map +1 -1
  60. package/interfaces/element.d.ts +1 -0
  61. package/interfaces/group.d.ts +7 -0
  62. package/interfaces/index.d.ts +1 -0
  63. package/package.json +1 -1
  64. package/plugins/with-group.d.ts +2 -0
  65. package/plugins/with-selection.d.ts +0 -13
  66. package/utils/angle.d.ts +5 -0
  67. package/utils/dom/common.d.ts +2 -2
  68. package/utils/group.d.ts +22 -0
  69. package/utils/index.d.ts +3 -0
  70. package/utils/math.d.ts +9 -1
  71. package/utils/selection.d.ts +13 -0
@@ -22,4 +22,4 @@ export function updateForeignObjectWidth(target, width) {
22
22
  foreignObject.setAttribute('width', `${width}`);
23
23
  }
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RvbS9mb3JlaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLG1CQUFtQixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBYSxFQUFFLE1BQWM7SUFDbkYsSUFBSSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNyRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBNkMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ2xJLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pILElBQUksYUFBYSxFQUFFO1FBQ2YsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRCxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzNDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUE2QyxFQUFFLEtBQWE7SUFDakcsTUFBTSxhQUFhLEdBQUcsTUFBTSxZQUFZLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakgsSUFBSSxhQUFhLEVBQUU7UUFDZixhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDbkQ7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTlMgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JlaWduT2JqZWN0KHg6IG51bWJlciwgeTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIHZhciBuZXdGb3JlaWduT2JqZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnZm9yZWlnbk9iamVjdCcpO1xuICAgIG5ld0ZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd4JywgYCR7eH1gKTtcbiAgICBuZXdGb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3l9YCk7XG4gICAgbmV3Rm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7d2lkdGh9YCk7XG4gICAgbmV3Rm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke2hlaWdodH1gKTtcbiAgICByZXR1cm4gbmV3Rm9yZWlnbk9iamVjdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUZvcmVpZ25PYmplY3QodGFyZ2V0OiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCB8IFNWR0dFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBmb3JlaWduT2JqZWN0ID0gdGFyZ2V0IGluc3RhbmNlb2YgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgPyB0YXJnZXQgOiB0YXJnZXQucXVlcnlTZWxlY3RvcignZm9yZWlnbk9iamVjdCcpO1xuICAgIGlmIChmb3JlaWduT2JqZWN0KSB7XG4gICAgICAgIGZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAke3dpZHRofWApO1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7aGVpZ2h0fWApO1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneCcsIGAke3h9YCk7XG4gICAgICAgIGZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd5JywgYCR7eX1gKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGb3JlaWduT2JqZWN0V2lkdGgodGFyZ2V0OiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCB8IFNWR0dFbGVtZW50LCB3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgZm9yZWlnbk9iamVjdCA9IHRhcmdldCBpbnN0YW5jZW9mIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50ID8gdGFyZ2V0IDogdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTtcbiAgICBpZiAoZm9yZWlnbk9iamVjdCkge1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHt3aWR0aH1gKTtcbiAgICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RvbS9mb3JlaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLG1CQUFtQixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsS0FBYSxFQUFFLE1BQWM7SUFDbkYsSUFBSSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNyRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBNkMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ2xJLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pILElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELGFBQWEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRCxhQUFhLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQTZDLEVBQUUsS0FBYTtJQUNqRyxNQUFNLGFBQWEsR0FBRyxNQUFNLFlBQVksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqSCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5TIH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9yZWlnbk9iamVjdCh4OiBudW1iZXIsIHk6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICB2YXIgbmV3Rm9yZWlnbk9iamVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ2ZvcmVpZ25PYmplY3QnKTtcbiAgICBuZXdGb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneCcsIGAke3h9YCk7XG4gICAgbmV3Rm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ3knLCBgJHt5fWApO1xuICAgIG5ld0ZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAke3dpZHRofWApO1xuICAgIG5ld0ZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHtoZWlnaHR9YCk7XG4gICAgcmV0dXJuIG5ld0ZvcmVpZ25PYmplY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGb3JlaWduT2JqZWN0KHRhcmdldDogU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgfCBTVkdHRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3QgZm9yZWlnbk9iamVjdCA9IHRhcmdldCBpbnN0YW5jZW9mIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50ID8gdGFyZ2V0IDogdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTtcbiAgICBpZiAoZm9yZWlnbk9iamVjdCkge1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHt3aWR0aH1gKTtcbiAgICAgICAgZm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke2hlaWdodH1gKTtcbiAgICAgICAgZm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHt4fWApO1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3l9YCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRm9yZWlnbk9iamVjdFdpZHRoKHRhcmdldDogU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgfCBTVkdHRWxlbWVudCwgd2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IGZvcmVpZ25PYmplY3QgPSB0YXJnZXQgaW5zdGFuY2VvZiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCA/IHRhcmdldCA6IHRhcmdldC5xdWVyeVNlbGVjdG9yKCdmb3JlaWduT2JqZWN0Jyk7XG4gICAgaWYgKGZvcmVpZ25PYmplY3QpIHtcbiAgICAgICAgZm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7d2lkdGh9YCk7XG4gICAgfVxufVxuIl19
@@ -44,4 +44,4 @@ export function drawBezierPath(points, options) {
44
44
  g.appendChild(path);
45
45
  return g;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RyYXdpbmcvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEVBQVksRUFBRSxLQUFZLEVBQUUsR0FBVSxFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUIsRUFBRSxTQUFtQjtJQUNsRixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUUxQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM1QixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDYixZQUFZLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDaEQ7YUFBTTtZQUNILFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNoRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxTQUFTLEVBQUU7UUFDWCxZQUFZLElBQUksR0FBRyxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEIsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUI7SUFDN0QsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNULFlBQVksSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUN4RDthQUFNO1lBQ0gsWUFBWSxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNuSCxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDbkIsRUFBRSxDQUFDO1NBQ047S0FDSjtJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVHLCBjcmVhdGVQYXRoIH0gZnJvbSAnLi4vZG9tL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TGluZShyczogUm91Z2hTVkcsIHN0YXJ0OiBQb2ludCwgZW5kOiBQb2ludCwgb3B0aW9uczogT3B0aW9ucyk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gcnMubGluZWFyUGF0aChbc3RhcnQsIGVuZF0sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmVhclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucywgY2xvc2VQYXRoPzogYm9vbGVhbikge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBwb2ludHMuZm9yRWFjaCgocG9pbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRbMF19ICR7cG9pbnRbMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEwgJHtwb2ludFswXX0gJHtwb2ludFsxXX0gYDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGNsb3NlUGF0aCkge1xuICAgICAgICBwb2x5bGluZVBhdGggKz0gJ1onO1xuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGAke29wdGlvbnM/LmZpbGwgfHwgJ25vbmUnfWApO1xuICAgIG9wdGlvbnM/LnN0cm9rZUxpbmVEYXNoICYmIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaGFycmF5JywgYCR7b3B0aW9ucy5zdHJva2VMaW5lRGFzaH1gKTtcbiAgICBnLmFwcGVuZENoaWxkKHBhdGgpO1xuXG4gICAgcmV0dXJuIGc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3QmV6aWVyUGF0aChwb2ludHM6IFBvaW50W10sIG9wdGlvbnM/OiBPcHRpb25zKSB7XG4gICAgY29uc3QgZyA9IGNyZWF0ZUcoKTtcbiAgICBjb25zdCBwYXRoID0gY3JlYXRlUGF0aCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lUGF0aCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDM7IGkgKz0gMykge1xuICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRzWzBdWzBdfSAke3BvaW50c1swXVsxXX0gYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvbHlsaW5lUGF0aCArPSBgQyAke3BvaW50c1tpICsgMV1bMF19ICR7cG9pbnRzW2kgKyAxXVsxXX0sICR7cG9pbnRzW2kgKyAyXVswXX0gJHtwb2ludHNbaSArIDJdWzFdfSwgJHtwb2ludHNbaSArIDNdWzBdfSAke1xuICAgICAgICAgICAgICAgIHBvaW50c1tpICsgM11bMV1cbiAgICAgICAgICAgIH1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwb2x5bGluZVBhdGgpO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UnLCBgJHtvcHRpb25zPy5zdHJva2V9YCk7XG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS13aWR0aCcsIGAke29wdGlvbnM/LnN0cm9rZVdpZHRofWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsJywgYG5vbmVgKTtcbiAgICBnLmFwcGVuZENoaWxkKHBhdGgpO1xuXG4gICAgcmV0dXJuIGc7XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RyYXdpbmcvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEVBQVksRUFBRSxLQUFZLEVBQUUsR0FBVSxFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUIsRUFBRSxTQUFtQjtJQUNsRixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUUxQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM1QixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1osWUFBWSxJQUFJLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEIsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUI7SUFDN0QsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDVixZQUFZLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDSixZQUFZLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQ25ILE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNuQixFQUFFLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVHLCBjcmVhdGVQYXRoIH0gZnJvbSAnLi4vZG9tL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TGluZShyczogUm91Z2hTVkcsIHN0YXJ0OiBQb2ludCwgZW5kOiBQb2ludCwgb3B0aW9uczogT3B0aW9ucyk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gcnMubGluZWFyUGF0aChbc3RhcnQsIGVuZF0sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmVhclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucywgY2xvc2VQYXRoPzogYm9vbGVhbikge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBwb2ludHMuZm9yRWFjaCgocG9pbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRbMF19ICR7cG9pbnRbMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEwgJHtwb2ludFswXX0gJHtwb2ludFsxXX0gYDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGNsb3NlUGF0aCkge1xuICAgICAgICBwb2x5bGluZVBhdGggKz0gJ1onO1xuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGAke29wdGlvbnM/LmZpbGwgfHwgJ25vbmUnfWApO1xuICAgIG9wdGlvbnM/LnN0cm9rZUxpbmVEYXNoICYmIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaGFycmF5JywgYCR7b3B0aW9ucy5zdHJva2VMaW5lRGFzaH1gKTtcbiAgICBnLmFwcGVuZENoaWxkKHBhdGgpO1xuXG4gICAgcmV0dXJuIGc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3QmV6aWVyUGF0aChwb2ludHM6IFBvaW50W10sIG9wdGlvbnM/OiBPcHRpb25zKSB7XG4gICAgY29uc3QgZyA9IGNyZWF0ZUcoKTtcbiAgICBjb25zdCBwYXRoID0gY3JlYXRlUGF0aCgpO1xuXG4gICAgbGV0IHBvbHlsaW5lUGF0aCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDM7IGkgKz0gMykge1xuICAgICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRzWzBdWzBdfSAke3BvaW50c1swXVsxXX0gYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvbHlsaW5lUGF0aCArPSBgQyAke3BvaW50c1tpICsgMV1bMF19ICR7cG9pbnRzW2kgKyAxXVsxXX0sICR7cG9pbnRzW2kgKyAyXVswXX0gJHtwb2ludHNbaSArIDJdWzFdfSwgJHtwb2ludHNbaSArIDNdWzBdfSAke1xuICAgICAgICAgICAgICAgIHBvaW50c1tpICsgM11bMV1cbiAgICAgICAgICAgIH1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwb2x5bGluZVBhdGgpO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UnLCBgJHtvcHRpb25zPy5zdHJva2V9YCk7XG4gICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS13aWR0aCcsIGAke29wdGlvbnM/LnN0cm9rZVdpZHRofWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdmaWxsJywgYG5vbmVgKTtcbiAgICBnLmFwcGVuZENoaWxkKHBhdGgpO1xuXG4gICAgcmV0dXJuIGc7XG59XG4iXX0=
@@ -31,4 +31,4 @@ export const drawRectangle = (board, rectangle, options) => {
31
31
  setStrokeLinecap(rectangleG, 'round');
32
32
  return rectangleG;
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZHJhd2luZy9yZWN0YW5nbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLEVBQVksRUFDWixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVUsRUFDVixFQUFVLEVBQ1YsT0FBZ0IsRUFDaEIsT0FBTyxHQUFHLEtBQUssRUFDZixZQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUVqQyxJQUFJLE1BQU0sR0FBRyxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQy9CLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNkLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJLE1BQU0sR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxhQUFhLEdBQUcsVUFBVSxFQUFFO1lBQzVCLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNsRDtLQUNKO0lBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUVqQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQ1YsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxNQUFNLGNBQWMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxNQUFNLGNBQWMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxNQUFNLGNBQWMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxNQUFNLGNBQWMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMxVixPQUFPLENBQ1YsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQzdGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVHLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0QyxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBNQVhfUkFESVVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVjdGFuZ2xlLWNsaWVudCc7XG5pbXBvcnQgeyBzZXRTdHJva2VMaW5lY2FwIH0gZnJvbSAnLi4vZG9tL2NvbW1vbic7XG5cbi8qKlxuICogZHJhd1JvdW5kUmVjdGFuZ2xlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkcmF3Um91bmRSZWN0YW5nbGUoXG4gICAgcnM6IFJvdWdoU1ZHLFxuICAgIHgxOiBudW1iZXIsXG4gICAgeTE6IG51bWJlcixcbiAgICB4MjogbnVtYmVyLFxuICAgIHkyOiBudW1iZXIsXG4gICAgb3B0aW9uczogT3B0aW9ucyxcbiAgICBvdXRsaW5lID0gZmFsc2UsXG4gICAgYm9yZGVyUmFkaXVzPzogbnVtYmVyXG4pIHtcbiAgICBjb25zdCB3aWR0aCA9IE1hdGguYWJzKHgxIC0geDIpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKHkxIC0geTIpO1xuXG4gICAgbGV0IHJhZGl1cyA9IGJvcmRlclJhZGl1cyB8fCAwO1xuICAgIGlmIChyYWRpdXMgPT09IDApIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFJhZGl1cyA9IE1hdGgubWluKHdpZHRoLCBoZWlnaHQpIC8gODtcbiAgICAgICAgbGV0IHJhZGl1cyA9IGRlZmF1bHRSYWRpdXM7XG4gICAgICAgIGlmIChkZWZhdWx0UmFkaXVzID4gTUFYX1JBRElVUykge1xuICAgICAgICAgICAgcmFkaXVzID0gb3V0bGluZSA/IE1BWF9SQURJVVMgKyAyIDogTUFYX1JBRElVUztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBvaW50MSA9IFt4MSArIHJhZGl1cywgeTFdO1xuICAgIGNvbnN0IHBvaW50MiA9IFt4MiAtIHJhZGl1cywgeTFdO1xuICAgIGNvbnN0IHBvaW50MyA9IFt4MiwgeTEgKyByYWRpdXNdO1xuICAgIGNvbnN0IHBvaW50NCA9IFt4MiwgeTIgLSByYWRpdXNdO1xuICAgIGNvbnN0IHBvaW50NSA9IFt4MiAtIHJhZGl1cywgeTJdO1xuICAgIGNvbnN0IHBvaW50NiA9IFt4MSArIHJhZGl1cywgeTJdO1xuICAgIGNvbnN0IHBvaW50NyA9IFt4MSwgeTIgLSByYWRpdXNdO1xuICAgIGNvbnN0IHBvaW50OCA9IFt4MSwgeTEgKyByYWRpdXNdO1xuXG4gICAgcmV0dXJuIHJzLnBhdGgoXG4gICAgICAgIGBNJHtwb2ludDJbMF19ICR7cG9pbnQyWzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQzWzBdfSAke3BvaW50M1sxXX0gTCAke3BvaW50NFswXX0gJHtwb2ludDRbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDVbMF19ICR7cG9pbnQ1WzFdfSBMICR7cG9pbnQ2WzBdfSAke3BvaW50NlsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50N1swXX0gJHtwb2ludDdbMV19IEwgJHtwb2ludDhbMF19ICR7cG9pbnQ4WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQxWzBdfSAke3BvaW50MVsxXX0gWmAsXG4gICAgICAgIG9wdGlvbnNcbiAgICApO1xufVxuXG5leHBvcnQgY29uc3QgZHJhd1JlY3RhbmdsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IHtcbiAgICBjb25zdCByb3VnaFNWRyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgIGNvbnN0IHJlY3RhbmdsZUcgPSByb3VnaFNWRy5yZWN0YW5nbGUocmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55LCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIG9wdGlvbnMpO1xuICAgIHNldFN0cm9rZUxpbmVjYXAocmVjdGFuZ2xlRywgJ3JvdW5kJyk7XG4gICAgcmV0dXJuIHJlY3RhbmdsZUc7XG59O1xuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZHJhd2luZy9yZWN0YW5nbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLEVBQVksRUFDWixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVUsRUFDVixFQUFVLEVBQ1YsT0FBZ0IsRUFDaEIsT0FBTyxHQUFHLEtBQUssRUFDZixZQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUVqQyxJQUFJLE1BQU0sR0FBRyxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQy9CLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUMzQixJQUFJLGFBQWEsR0FBRyxVQUFVLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQzFWLE9BQU8sQ0FDVixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQixFQUFFLEVBQUU7SUFDN0YsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IE1BWF9SQURJVVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IHNldFN0cm9rZUxpbmVjYXAgfSBmcm9tICcuLi9kb20vY29tbW9uJztcblxuLyoqXG4gKiBkcmF3Um91bmRSZWN0YW5nbGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRyYXdSb3VuZFJlY3RhbmdsZShcbiAgICByczogUm91Z2hTVkcsXG4gICAgeDE6IG51bWJlcixcbiAgICB5MTogbnVtYmVyLFxuICAgIHgyOiBudW1iZXIsXG4gICAgeTI6IG51bWJlcixcbiAgICBvcHRpb25zOiBPcHRpb25zLFxuICAgIG91dGxpbmUgPSBmYWxzZSxcbiAgICBib3JkZXJSYWRpdXM/OiBudW1iZXJcbikge1xuICAgIGNvbnN0IHdpZHRoID0gTWF0aC5hYnMoeDEgLSB4Mik7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMoeTEgLSB5Mik7XG5cbiAgICBsZXQgcmFkaXVzID0gYm9yZGVyUmFkaXVzIHx8IDA7XG4gICAgaWYgKHJhZGl1cyA9PT0gMCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0UmFkaXVzID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCkgLyA4O1xuICAgICAgICBsZXQgcmFkaXVzID0gZGVmYXVsdFJhZGl1cztcbiAgICAgICAgaWYgKGRlZmF1bHRSYWRpdXMgPiBNQVhfUkFESVVTKSB7XG4gICAgICAgICAgICByYWRpdXMgPSBvdXRsaW5lID8gTUFYX1JBRElVUyArIDIgOiBNQVhfUkFESVVTO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnQxID0gW3gxICsgcmFkaXVzLCB5MV07XG4gICAgY29uc3QgcG9pbnQyID0gW3gyIC0gcmFkaXVzLCB5MV07XG4gICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ0ID0gW3gyLCB5MiAtIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ1ID0gW3gyIC0gcmFkaXVzLCB5Ml07XG4gICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgY29uc3QgcG9pbnQ3ID0gW3gxLCB5MiAtIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ4ID0gW3gxLCB5MSArIHJhZGl1c107XG5cbiAgICByZXR1cm4gcnMucGF0aChcbiAgICAgICAgYE0ke3BvaW50MlswXX0gJHtwb2ludDJbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDNbMF19ICR7cG9pbnQzWzFdfSBMICR7cG9pbnQ0WzBdfSAke3BvaW50NFsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50NVswXX0gJHtwb2ludDVbMV19IEwgJHtwb2ludDZbMF19ICR7cG9pbnQ2WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQ3WzBdfSAke3BvaW50N1sxXX0gTCAke3BvaW50OFswXX0gJHtwb2ludDhbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDFbMF19ICR7cG9pbnQxWzFdfSBaYCxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG59XG5cbmV4cG9ydCBjb25zdCBkcmF3UmVjdGFuZ2xlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHJvdWdoU1ZHID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgY29uc3QgcmVjdGFuZ2xlRyA9IHJvdWdoU1ZHLnJlY3RhbmdsZShyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnksIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLmhlaWdodCwgb3B0aW9ucyk7XG4gICAgc2V0U3Ryb2tlTGluZWNhcChyZWN0YW5nbGVHLCAncm91bmQnKTtcbiAgICByZXR1cm4gcmVjdGFuZ2xlRztcbn07XG4iXX0=
@@ -1,11 +1,14 @@
1
1
  import { PlaitBoard, RectangleClient } from '../interfaces';
2
+ import { getSelectionAngle, hasSameAngle, getRotatedBoundingRectangle, rotatePoints } from './angle';
2
3
  import { depthFirstRecursion, getIsRecursionFunc } from './tree';
3
4
  export function getRectangleByElements(board, elements, recursion) {
4
- const rectangles = [];
5
+ const rectanglesCornerPoints = [];
5
6
  const callback = (node) => {
6
7
  const nodeRectangle = board.getRectangle(node);
7
8
  if (nodeRectangle) {
8
- rectangles.push(nodeRectangle);
9
+ const cornerPoints = RectangleClient.getCornerPoints(nodeRectangle);
10
+ const rotatedCornerPoints = rotatePoints(cornerPoints, RectangleClient.getCenterPoint(nodeRectangle), node.angle || 0);
11
+ rectanglesCornerPoints.push(rotatedCornerPoints);
9
12
  }
10
13
  else {
11
14
  console.error(`can not get rectangle of element:`, node);
@@ -19,8 +22,17 @@ export function getRectangleByElements(board, elements, recursion) {
19
22
  callback(element);
20
23
  }
21
24
  });
22
- if (rectangles.length > 0) {
23
- return RectangleClient.getBoundingRectangle(rectangles);
25
+ if (rectanglesCornerPoints.length > 0) {
26
+ if (hasSameAngle(elements)) {
27
+ const angle = getSelectionAngle(elements);
28
+ return getRotatedBoundingRectangle(rectanglesCornerPoints, angle);
29
+ }
30
+ else {
31
+ const flatCornerPoints = rectanglesCornerPoints.reduce((acc, val) => {
32
+ return acc.concat(val);
33
+ }, []);
34
+ return RectangleClient.getRectangleByPoints(flatCornerPoints);
35
+ }
24
36
  }
25
37
  else {
26
38
  return {
@@ -58,4 +70,4 @@ export function findElements(board, options) {
58
70
  }, isReverse);
59
71
  return elements;
60
72
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFVBQVUsRUFBZ0IsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqRSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBaUIsRUFBRSxRQUF3QixFQUFFLFNBQWtCO0lBQ2xHLE1BQU0sVUFBVSxHQUFzQixFQUFFLENBQUM7SUFDekMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7UUFDcEMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLGFBQWEsRUFBRTtZQUNmLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDNUQ7SUFDTCxDQUFDLENBQUM7SUFDRixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZCLElBQUksU0FBUyxFQUFFO1lBQ1gsbUJBQW1CLENBQ2YsT0FBTyxFQUNQLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUN0QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQ2xDLENBQUM7U0FDTDthQUFNO1lBQ0gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQzNEO1NBQU07UUFDSCxPQUFPO1lBQ0gsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDWixDQUFDO0tBQ0w7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWlCO0lBQy9DLE9BQU8sc0JBQXNCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzFCLEtBQWlCLEVBQ2pCLEVBQVUsRUFDVixVQUEyQjtJQUUzQixJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2IsVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM1RjtJQUNELElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBTSxDQUFDO0lBQ2pFLE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUN4QixLQUFpQixFQUNqQixPQUlDO0lBRUQsSUFBSSxRQUFRLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO0lBQzVDLG1CQUFtQixDQUNmLEtBQUssRUFDTCxJQUFJLENBQUMsRUFBRTtRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFTLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUMsRUFDRCxDQUFDLEtBQWUsRUFBRSxFQUFFO1FBQ2hCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDLEVBQ0QsU0FBUyxDQUNaLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBkZXB0aEZpcnN0UmVjdXJzaW9uLCBnZXRJc1JlY3Vyc2lvbkZ1bmMgfSBmcm9tICcuL3RyZWUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdLCByZWN1cnNpb246IGJvb2xlYW4pOiBSZWN0YW5nbGVDbGllbnQge1xuICAgIGNvbnN0IHJlY3RhbmdsZXM6IFJlY3RhbmdsZUNsaWVudFtdID0gW107XG4gICAgY29uc3QgY2FsbGJhY2sgPSAobm9kZTogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVSZWN0YW5nbGUgPSBib2FyZC5nZXRSZWN0YW5nbGUobm9kZSk7XG4gICAgICAgIGlmIChub2RlUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICByZWN0YW5nbGVzLnB1c2gobm9kZVJlY3RhbmdsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBjYW4gbm90IGdldCByZWN0YW5nbGUgb2YgZWxlbWVudDpgLCBub2RlKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKHJlY3Vyc2lvbikge1xuICAgICAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbihcbiAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgIG5vZGUgPT4gY2FsbGJhY2sobm9kZSksXG4gICAgICAgICAgICAgICAgbm9kZSA9PiBib2FyZC5pc1JlY3Vyc2lvbihub2RlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHJlY3RhbmdsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEJvdW5kaW5nUmVjdGFuZ2xlKHJlY3RhbmdsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgeTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgaGVpZ2h0OiAwXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9hcmRSZWN0YW5nbGUoYm9hcmQ6IFBsYWl0Qm9hcmQpOiBSZWN0YW5nbGVDbGllbnQge1xuICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBib2FyZC5jaGlsZHJlbiwgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50QnlJZDxUIGV4dGVuZHMgUGxhaXRFbGVtZW50ID0gUGxhaXRFbGVtZW50PihcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U/OiBQbGFpdEVsZW1lbnRbXVxuKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFkYXRhU291cmNlKSB7XG4gICAgICAgIGRhdGFTb3VyY2UgPSBmaW5kRWxlbWVudHMoYm9hcmQsIHsgbWF0Y2g6IGVsZW1lbnQgPT4gdHJ1ZSwgcmVjdXJzaW9uOiBlbGVtZW50ID0+IHRydWUgfSk7XG4gICAgfVxuICAgIGxldCBlbGVtZW50ID0gZGF0YVNvdXJjZS5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5pZCA9PT0gaWQpIGFzIFQ7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRWxlbWVudHM8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudD4oXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBtYXRjaDogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICAgICAgcmVjdXJzaW9uOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgICAgICBpc1JldmVyc2U/OiBib29sZWFuO1xuICAgIH1cbik6IFRbXSB7XG4gICAgbGV0IGVsZW1lbnRzOiBUW10gPSBbXTtcbiAgICBjb25zdCBpc1JldmVyc2UgPSBvcHRpb25zLmlzUmV2ZXJzZSA/PyB0cnVlO1xuICAgIGRlcHRoRmlyc3RSZWN1cnNpb248QW5jZXN0b3I+KFxuICAgICAgICBib2FyZCxcbiAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSAmJiBvcHRpb25zLm1hdGNoKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgZWxlbWVudHMucHVzaChub2RlIGFzIFQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAodmFsdWU6IEFuY2VzdG9yKSA9PiB7XG4gICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0SXNSZWN1cnNpb25GdW5jKGJvYXJkKSh2YWx1ZSkgJiYgb3B0aW9ucy5yZWN1cnNpb24odmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBpc1JldmVyc2VcbiAgICApO1xuICAgIHJldHVybiBlbGVtZW50cztcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFVBQVUsRUFBdUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqRSxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBaUIsRUFBRSxRQUF3QixFQUFFLFNBQWtCO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQW1DLEVBQUUsQ0FBQztJQUNsRSxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQWtCLEVBQUUsRUFBRTtRQUNwQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNwRSxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FLcEgsQ0FBQztZQUNGLHNCQUFzQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBQ0YsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN2QixJQUFJLFNBQVMsRUFB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LENBQ1osQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNlc3RvciwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25BbmdsZSwgaGFzU2FtZUFuZ2xlLCBnZXRSb3RhdGVkQm91bmRpbmdSZWN0YW5nbGUsIHJvdGF0ZVBvaW50cyB9IGZyb20gJy4vYW5nbGUnO1xuaW1wb3J0IHsgZGVwdGhGaXJzdFJlY3Vyc2lvbiwgZ2V0SXNSZWN1cnNpb25GdW5jIH0gZnJvbSAnLi90cmVlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSwgcmVjdXJzaW9uOiBib29sZWFuKTogUmVjdGFuZ2xlQ2xpZW50IHtcbiAgICBjb25zdCByZWN0YW5nbGVzQ29ybmVyUG9pbnRzOiBbUG9pbnQsIFBvaW50LCBQb2ludCwgUG9pbnRdW10gPSBbXTtcbiAgICBjb25zdCBjYWxsYmFjayA9IChub2RlOiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZVJlY3RhbmdsZSA9IGJvYXJkLmdldFJlY3RhbmdsZShub2RlKTtcbiAgICAgICAgaWYgKG5vZGVSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lclBvaW50cyA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMobm9kZVJlY3RhbmdsZSk7XG4gICAgICAgICAgICBjb25zdCByb3RhdGVkQ29ybmVyUG9pbnRzID0gcm90YXRlUG9pbnRzKGNvcm5lclBvaW50cywgUmVjdGFuZ2xlQ2xpZW50LmdldENlbnRlclBvaW50KG5vZGVSZWN0YW5nbGUpLCBub2RlLmFuZ2xlIHx8IDApIGFzIFtcbiAgICAgICAgICAgICAgICBQb2ludCxcbiAgICAgICAgICAgICAgICBQb2ludCxcbiAgICAgICAgICAgICAgICBQb2ludCxcbiAgICAgICAgICAgICAgICBQb2ludFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHJlY3RhbmdsZXNDb3JuZXJQb2ludHMucHVzaChyb3RhdGVkQ29ybmVyUG9pbnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYGNhbiBub3QgZ2V0IHJlY3RhbmdsZSBvZiBlbGVtZW50OmAsIG5vZGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAocmVjdXJzaW9uKSB7XG4gICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uKFxuICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgbm9kZSA9PiBjYWxsYmFjayhub2RlKSxcbiAgICAgICAgICAgICAgICBub2RlID0+IGJvYXJkLmlzUmVjdXJzaW9uKG5vZGUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FsbGJhY2soZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmVjdGFuZ2xlc0Nvcm5lclBvaW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChoYXNTYW1lQW5nbGUoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICBjb25zdCBhbmdsZSA9IGdldFNlbGVjdGlvbkFuZ2xlKGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSb3RhdGVkQm91bmRpbmdSZWN0YW5nbGUocmVjdGFuZ2xlc0Nvcm5lclBvaW50cywgYW5nbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmxhdENvcm5lclBvaW50czogUG9pbnRbXSA9IHJlY3RhbmdsZXNDb3JuZXJQb2ludHMucmVkdWNlKChhY2M6IFBvaW50W10sIHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2MuY29uY2F0KHZhbCk7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGZsYXRDb3JuZXJQb2ludHMpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDBcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb2FyZFJlY3RhbmdsZShib2FyZDogUGxhaXRCb2FyZCk6IFJlY3RhbmdsZUNsaWVudCB7XG4gICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRCeUlkPFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEVsZW1lbnQ+KFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZT86IFBsYWl0RWxlbWVudFtdXG4pOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWRhdGFTb3VyY2UpIHtcbiAgICAgICAgZGF0YVNvdXJjZSA9IGZpbmRFbGVtZW50cyhib2FyZCwgeyBtYXRjaDogZWxlbWVudCA9PiB0cnVlLCByZWN1cnNpb246IGVsZW1lbnQgPT4gdHJ1ZSB9KTtcbiAgICB9XG4gICAgbGV0IGVsZW1lbnQgPSBkYXRhU291cmNlLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSBpZCkgYXMgVDtcbiAgICByZXR1cm4gZWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRFbGVtZW50czxUIGV4dGVuZHMgUGxhaXRFbGVtZW50ID0gUGxhaXRFbGVtZW50PihcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIG1hdGNoOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgICAgICByZWN1cnNpb246IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgICAgIGlzUmV2ZXJzZT86IGJvb2xlYW47XG4gICAgfVxuKTogVFtdIHtcbiAgICBsZXQgZWxlbWVudHM6IFRbXSA9IFtdO1xuICAgIGNvbnN0IGlzUmV2ZXJzZSA9IG9wdGlvbnMuaXNSZXZlcnNlID8/IHRydWU7XG4gICAgZGVwdGhGaXJzdFJlY3Vyc2lvbjxBbmNlc3Rvcj4oXG4gICAgICAgIGJvYXJkLFxuICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgIGlmICghUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpICYmIG9wdGlvbnMubWF0Y2gobm9kZSkpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50cy5wdXNoKG5vZGUgYXMgVCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICh2YWx1ZTogQW5jZXN0b3IpID0+IHtcbiAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRJc1JlY3Vyc2lvbkZ1bmMoYm9hcmQpKHZhbHVlKSAmJiBvcHRpb25zLnJlY3Vyc2lvbih2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGlzUmV2ZXJzZVxuICAgICk7XG4gICAgcmV0dXJuIGVsZW1lbnRzO1xufVxuIl19
@@ -0,0 +1,209 @@
1
+ import { ACTIVE_STROKE_WIDTH } from '../constants';
2
+ import { PlaitBoard, SELECTION_BORDER_COLOR } from '../interfaces';
3
+ import { PlaitGroupElement } from '../interfaces/group';
4
+ import { Transforms } from '../transforms';
5
+ import { createG } from './dom';
6
+ import { drawRectangle } from './drawing/rectangle';
7
+ import { findElements, getRectangleByElements } from './element';
8
+ import { idCreator } from './id-creator';
9
+ import { getSelectedElements } from './selected-element';
10
+ import { isSelectionMoving } from './selection';
11
+ export const getElementsInGroup = (board, group, recursion, includeGroup) => {
12
+ let result = [];
13
+ const elements = board.children.filter(value => value.groupId === group.id);
14
+ if (recursion) {
15
+ elements.forEach(item => {
16
+ if (PlaitGroupElement.isGroup(item)) {
17
+ if (includeGroup) {
18
+ result.push(item);
19
+ }
20
+ result.push(...getElementsInGroup(board, item, recursion));
21
+ }
22
+ else {
23
+ result.push(item);
24
+ }
25
+ });
26
+ }
27
+ else {
28
+ result = includeGroup ? elements : elements.filter(item => !PlaitGroupElement.isGroup(item));
29
+ }
30
+ return result;
31
+ };
32
+ export const getRectangleByGroup = (board, group, recursion) => {
33
+ const elementsInGroup = getElementsInGroup(board, group, recursion);
34
+ return getRectangleByElements(board, elementsInGroup, false);
35
+ };
36
+ export const getGroupByElement = (board, element, recursion) => {
37
+ const group = board.children.find(item => item.id === element?.groupId);
38
+ if (!group) {
39
+ return recursion ? [] : null;
40
+ }
41
+ if (recursion) {
42
+ const groups = [group];
43
+ const grandGroups = getGroupByElement(board, group, recursion);
44
+ if (grandGroups.length) {
45
+ groups.push(...grandGroups);
46
+ }
47
+ return groups;
48
+ }
49
+ else {
50
+ return group;
51
+ }
52
+ };
53
+ export const getHighestGroup = (board, element) => {
54
+ const groups = getGroupByElement(board, element, true);
55
+ if (groups.length) {
56
+ return groups[groups.length - 1];
57
+ }
58
+ return null;
59
+ };
60
+ export const getElementsInGroupByElement = (board, element) => {
61
+ const highestGroup = getHighestGroup(board, element);
62
+ if (highestGroup) {
63
+ return getElementsInGroup(board, highestGroup, true);
64
+ }
65
+ else {
66
+ return [element];
67
+ }
68
+ };
69
+ export const isSelectedElementOrGroup = (board, element) => {
70
+ const selectedElements = getSelectedElements(board);
71
+ if (PlaitGroupElement.isGroup(element)) {
72
+ return isSelectedAllElementsInGroup(board, element);
73
+ }
74
+ return selectedElements.includes(element);
75
+ };
76
+ export const isSelectedAllElementsInGroup = (board, group) => {
77
+ const selectedElements = getSelectedElements(board);
78
+ const elementsInGroup = getElementsInGroup(board, group, true);
79
+ return elementsInGroup.every(item => selectedElements.includes(item));
80
+ };
81
+ export const getSelectedGroups = (board, groups) => {
82
+ const selectedGroups = [];
83
+ groups.forEach(item => {
84
+ if (isSelectedElementOrGroup(board, item)) {
85
+ selectedGroups.push(item);
86
+ }
87
+ });
88
+ return selectedGroups;
89
+ };
90
+ export const getHighestSelectedGroup = (board, element) => {
91
+ const groups = getGroupByElement(board, element, true);
92
+ const selectedGroups = getSelectedGroups(board, groups);
93
+ if (selectedGroups.length) {
94
+ return selectedGroups[selectedGroups.length - 1];
95
+ }
96
+ return null;
97
+ };
98
+ export const getHighestSelectedGroups = (board) => {
99
+ let result = [];
100
+ const selectedElements = getSelectedElements(board);
101
+ selectedElements.forEach(item => {
102
+ if (item.groupId) {
103
+ const group = getHighestSelectedGroup(board, item);
104
+ if (group && !result.includes(group)) {
105
+ result.push(group);
106
+ }
107
+ }
108
+ });
109
+ return result;
110
+ };
111
+ export const getSelectedIsolatedElements = (board) => {
112
+ let result = [];
113
+ const selectedElements = getSelectedElements(board);
114
+ selectedElements.forEach(item => {
115
+ if (!item.groupId) {
116
+ result.push(item);
117
+ }
118
+ else {
119
+ const group = getHighestSelectedGroup(board, item);
120
+ if (!group) {
121
+ result.push(item);
122
+ }
123
+ }
124
+ });
125
+ return result;
126
+ };
127
+ export const getHighestSelectedElements = (board) => {
128
+ return [...getHighestSelectedGroups(board), ...getSelectedIsolatedElements(board)];
129
+ };
130
+ export const createGroupRectangleG = (board, elements) => {
131
+ const selectedElements = getSelectedElements(board);
132
+ const groupRectangleG = createG();
133
+ const isMoving = isSelectionMoving(board);
134
+ elements.forEach(item => {
135
+ const isRender = (!selectedElements.includes(item) && !isMoving) || isMoving;
136
+ if (item.groupId && isRender) {
137
+ const elements = getElementsInGroupByElement(board, item);
138
+ const rectangle = getRectangleByElements(board, elements, false);
139
+ groupRectangleG.append(drawRectangle(board, rectangle, {
140
+ stroke: SELECTION_BORDER_COLOR,
141
+ strokeWidth: ACTIVE_STROKE_WIDTH,
142
+ strokeLineDash: [5]
143
+ }));
144
+ }
145
+ });
146
+ return groupRectangleG;
147
+ };
148
+ export const createGroup = () => {
149
+ return {
150
+ id: idCreator(),
151
+ type: 'group'
152
+ };
153
+ };
154
+ export const nonGroupInHighestSelectedElements = (elements) => {
155
+ return elements.every(item => !item.groupId);
156
+ };
157
+ export const hasSelectedElementsInSameGroup = (elements) => {
158
+ return elements.every(item => item.groupId && item.groupId === elements[0].groupId);
159
+ };
160
+ export const canAddGroup = (highestSelectedElements) => {
161
+ if (highestSelectedElements.length > 1) {
162
+ return nonGroupInHighestSelectedElements(highestSelectedElements) || hasSelectedElementsInSameGroup(highestSelectedElements);
163
+ }
164
+ return false;
165
+ };
166
+ export const addGroup = (board) => {
167
+ const selectedGroups = getHighestSelectedGroups(board);
168
+ const selectedIsolatedElements = getSelectedIsolatedElements(board);
169
+ const highestSelectedElements = [...selectedGroups, ...selectedIsolatedElements];
170
+ const group = createGroup();
171
+ if (canAddGroup(highestSelectedElements)) {
172
+ highestSelectedElements.forEach(item => {
173
+ const path = PlaitBoard.findPath(board, item);
174
+ Transforms.setNode(board, { groupId: group.id }, path);
175
+ });
176
+ if (hasSelectedElementsInSameGroup(highestSelectedElements)) {
177
+ const newGroupId = selectedIsolatedElements[0].groupId;
178
+ Transforms.insertNode(board, {
179
+ ...group,
180
+ groupId: newGroupId
181
+ }, [board.children.length]);
182
+ }
183
+ else {
184
+ Transforms.insertNode(board, group, [board.children.length]);
185
+ }
186
+ }
187
+ };
188
+ export const canRemoveGroup = (board, selectedGroups) => {
189
+ const selectedElements = getSelectedElements(board);
190
+ return selectedElements.length > 0 && selectedGroups.length > 0;
191
+ };
192
+ export const removeGroup = (board) => {
193
+ const selectedGroups = getHighestSelectedGroups(board);
194
+ if (canRemoveGroup(board, selectedGroups)) {
195
+ selectedGroups.map(group => {
196
+ const elementsInGroup = findElements(board, {
197
+ match: item => item.groupId === group.id,
198
+ recursion: () => false
199
+ });
200
+ elementsInGroup.forEach(item => {
201
+ const path = PlaitBoard.findPath(board, item);
202
+ Transforms.setNode(board, { groupId: group.groupId || undefined }, path);
203
+ });
204
+ const groupPath = PlaitBoard.findPath(board, group);
205
+ Transforms.removeNode(board, groupPath);
206
+ });
207
+ }
208
+ };
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBZ0Isc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxLQUFpQixFQUFFLFNBQW1CLEVBQUUsWUFBc0IsRUFBRSxFQUFFO0lBQ3BILElBQUksTUFBTSxHQUFtQixFQUFFLENBQUM7SUFDaEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBRSxLQUFzQixDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFtQixDQUFDO0lBQ2hILElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLElBQUksaUJBQWlCLENB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RUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUNUSVZFX1NUUk9LRV9XSURUSCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFNFTEVDVElPTl9CT1JERVJfQ09MT1IgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBsYWl0R3JvdXAsIFBsYWl0R3JvdXBFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ncm91cCc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBjcmVhdGVHIH0gZnJvbSAnLi9kb20nO1xuaW1wb3J0IHsgZHJhd1JlY3RhbmdsZSB9IGZyb20gJy4vZHJhd2luZy9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZmluZEVsZW1lbnRzLCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzIH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vaWQtY3JlYXRvcic7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnLi9zZWxlY3RlZC1lbGVtZW50JztcbmltcG9ydCB7IGlzU2VsZWN0aW9uTW92aW5nIH0gZnJvbSAnLi9zZWxlY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudHNJbkdyb3VwID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBncm91cDogUGxhaXRHcm91cCwgcmVjdXJzaW9uPzogYm9vbGVhbiwgaW5jbHVkZUdyb3VwPzogYm9vbGVhbikgPT4ge1xuICAgIGxldCByZXN1bHQ6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgY29uc3QgZWxlbWVudHMgPSBib2FyZC5jaGlsZHJlbi5maWx0ZXIodmFsdWUgPT4gKHZhbHVlIGFzIFBsYWl0RWxlbWVudCkuZ3JvdXBJZCA9PT0gZ3JvdXAuaWQpIGFzIFBsYWl0RWxlbWVudFtdO1xuICAgIGlmIChyZWN1cnNpb24pIHtcbiAgICAgICAgZWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGlmIChQbGFpdEdyb3VwRWxlbWVudC5pc0dyb3VwKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluY2x1ZGVHcm91cCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4uZ2V0RWxlbWVudHNJbkdyb3VwKGJvYXJkLCBpdGVtLCByZWN1cnNpb24pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGluY2x1ZGVHcm91cCA/IGVsZW1lbnRzIDogKGVsZW1lbnRzLmZpbHRlcihpdGVtID0+ICFQbGFpdEdyb3VwRWxlbWVudC5pc0dyb3VwKGl0ZW0pKSBhcyBQbGFpdEVsZW1lbnRbXSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVjdGFuZ2xlQnlHcm91cCA9IChib2FyZDogUGxhaXRCb2FyZCwgZ3JvdXA6IFBsYWl0R3JvdXAsIHJlY3Vyc2lvbj86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBlbGVtZW50c0luR3JvdXAgPSBnZXRFbGVtZW50c0luR3JvdXAoYm9hcmQsIGdyb3VwLCByZWN1cnNpb24pIGFzIFBsYWl0RWxlbWVudFtdO1xuICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50c0luR3JvdXAsIGZhbHNlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRHcm91cEJ5RWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRFbGVtZW50LCByZWN1cnNpb24/OiBib29sZWFuKTogUGxhaXRHcm91cCB8IFBsYWl0R3JvdXBbXSB8IG51bGwgPT4ge1xuICAgIGNvbnN0IGdyb3VwID0gYm9hcmQuY2hpbGRyZW4uZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGVsZW1lbnQ/Lmdyb3VwSWQpO1xuICAgIGlmICghZ3JvdXApIHtcbiAgICAgICAgcmV0dXJuIHJlY3Vyc2lvbiA/IFtdIDogbnVsbDtcbiAgICB9XG4gICAgaWYgKHJlY3Vyc2lvbikge1xuICAgICAgICBjb25zdCBncm91cHMgPSBbZ3JvdXBdO1xuICAgICAgICBjb25zdCBncmFuZEdyb3VwcyA9IGdldEdyb3VwQnlFbGVtZW50KGJvYXJkLCBncm91cCwgcmVjdXJzaW9uKSBhcyBQbGFpdEdyb3VwW107XG4gICAgICAgIGlmIChncmFuZEdyb3Vwcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKC4uLmdyYW5kR3JvdXBzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ3JvdXBzIGFzIFBsYWl0R3JvdXBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZ3JvdXAgYXMgUGxhaXRHcm91cDtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGlnaGVzdEdyb3VwID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBncm91cHMgPSBnZXRHcm91cEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCwgdHJ1ZSkgYXMgUGxhaXRHcm91cFtdO1xuICAgIGlmIChncm91cHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBncm91cHNbZ3JvdXBzLmxlbmd0aCAtIDFdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50c0luR3JvdXBCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGhpZ2hlc3RHcm91cCA9IGdldEhpZ2hlc3RHcm91cChib2FyZCwgZWxlbWVudCk7XG4gICAgaWYgKGhpZ2hlc3RHcm91cCkge1xuICAgICAgICByZXR1cm4gZ2V0RWxlbWVudHNJbkdyb3VwKGJvYXJkLCBoaWdoZXN0R3JvdXAsIHRydWUpIGFzIFBsYWl0R3JvdXBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gW2VsZW1lbnRdO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpc1NlbGVjdGVkRWxlbWVudE9yR3JvdXAgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBpZiAoUGxhaXRHcm91cEVsZW1lbnQuaXNHcm91cChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gaXNTZWxlY3RlZEFsbEVsZW1lbnRzSW5Hcm91cChib2FyZCwgZWxlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2VsZWN0ZWRBbGxFbGVtZW50c0luR3JvdXAgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGdyb3VwOiBQbGFpdEdyb3VwKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGNvbnN0IGVsZW1lbnRzSW5Hcm91cCA9IGdldEVsZW1lbnRzSW5Hcm91cChib2FyZCwgZ3JvdXAsIHRydWUpO1xuICAgIHJldHVybiBlbGVtZW50c0luR3JvdXAuZXZlcnkoaXRlbSA9PiBzZWxlY3RlZEVsZW1lbnRzLmluY2x1ZGVzKGl0ZW0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEdyb3VwcyA9IChib2FyZDogUGxhaXRCb2FyZCwgZ3JvdXBzOiBQbGFpdEdyb3VwW10pOiBQbGFpdEdyb3VwW10gPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkR3JvdXBzOiBQbGFpdEdyb3VwW10gPSBbXTtcbiAgICBncm91cHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRFbGVtZW50T3JHcm91cChib2FyZCwgaXRlbSkpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkR3JvdXBzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc2VsZWN0ZWRHcm91cHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGlnaGVzdFNlbGVjdGVkR3JvdXAgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IFBsYWl0RWxlbWVudCk6IFBsYWl0R3JvdXAgfCBudWxsID0+IHtcbiAgICBjb25zdCBncm91cHMgPSBnZXRHcm91cEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCwgdHJ1ZSkgYXMgUGxhaXRHcm91cFtdO1xuICAgIGNvbnN0IHNlbGVjdGVkR3JvdXBzID0gZ2V0U2VsZWN0ZWRHcm91cHMoYm9hcmQsIGdyb3Vwcyk7XG4gICAgaWYgKHNlbGVjdGVkR3JvdXBzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWRHcm91cHNbc2VsZWN0ZWRHcm91cHMubGVuZ3RoIC0gMV07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEhpZ2hlc3RTZWxlY3RlZEdyb3VwcyA9IChib2FyZDogUGxhaXRCb2FyZCk6IFBsYWl0R3JvdXBbXSA9PiB7XG4gICAgbGV0IHJlc3VsdDogUGxhaXRHcm91cFtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZ3JvdXBJZCkge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBnZXRIaWdoZXN0U2VsZWN0ZWRHcm91cChib2FyZCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAoZ3JvdXAgJiYgIXJlc3VsdC5pbmNsdWRlcyhncm91cCkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChncm91cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkSXNvbGF0ZWRFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGxldCByZXN1bHQ6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKCFpdGVtLmdyb3VwSWQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBnZXRIaWdoZXN0U2VsZWN0ZWRHcm91cChib2FyZCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAoIWdyb3VwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEhpZ2hlc3RTZWxlY3RlZEVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuIFsuLi5nZXRIaWdoZXN0U2VsZWN0ZWRHcm91cHMoYm9hcmQpLCAuLi5nZXRTZWxlY3RlZElzb2xhdGVkRWxlbWVudHMoYm9hcmQpXTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVHcm91cFJlY3RhbmdsZUcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSk6IFNWR0dFbGVtZW50IHwgbnVsbCA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGNvbnN0IGdyb3VwUmVjdGFuZ2xlRzogU1ZHR0VsZW1lbnQgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgaXNNb3ZpbmcgPSBpc1NlbGVjdGlvbk1vdmluZyhib2FyZCk7XG5cbiAgICBlbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBpc1JlbmRlciA9ICghc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyhpdGVtKSAmJiAhaXNNb3ZpbmcpIHx8IGlzTW92aW5nO1xuICAgICAgICBpZiAoaXRlbS5ncm91cElkICYmIGlzUmVuZGVyKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGdldEVsZW1lbnRzSW5Hcm91cEJ5RWxlbWVudChib2FyZCwgaXRlbSk7XG4gICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cywgZmFsc2UpO1xuICAgICAgICAgICAgZ3JvdXBSZWN0YW5nbGVHLmFwcGVuZChcbiAgICAgICAgICAgICAgICBkcmF3UmVjdGFuZ2xlKGJvYXJkLCByZWN0YW5nbGUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBTRUxFQ1RJT05fQk9SREVSX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogQUNUSVZFX1NUUk9LRV9XSURUSCxcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZURhc2g6IFs1XVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGdyb3VwUmVjdGFuZ2xlRztcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVHcm91cCA9ICgpOiBQbGFpdEdyb3VwID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICdncm91cCdcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5vbkdyb3VwSW5IaWdoZXN0U2VsZWN0ZWRFbGVtZW50cyA9IChlbGVtZW50czogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICByZXR1cm4gZWxlbWVudHMuZXZlcnkoaXRlbSA9PiAhaXRlbS5ncm91cElkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYXNTZWxlY3RlZEVsZW1lbnRzSW5TYW1lR3JvdXAgPSAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRzLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5ncm91cElkICYmIGl0ZW0uZ3JvdXBJZCA9PT0gZWxlbWVudHNbMF0uZ3JvdXBJZCk7XG59O1xuXG5leHBvcnQgY29uc3QgY2FuQWRkR3JvdXAgPSAoaGlnaGVzdFNlbGVjdGVkRWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgaWYgKGhpZ2hlc3RTZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgcmV0dXJuIG5vbkdyb3VwSW5IaWdoZXN0U2VsZWN0ZWRFbGVtZW50cyhoaWdoZXN0U2VsZWN0ZWRFbGVtZW50cykgfHwgaGFzU2VsZWN0ZWRFbGVtZW50c0luU2FtZUdyb3VwKGhpZ2hlc3RTZWxlY3RlZEVsZW1lbnRzKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZEdyb3VwID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRHcm91cHMgPSBnZXRIaWdoZXN0U2VsZWN0ZWRHcm91cHMoYm9hcmQpO1xuICAgIGNvbnN0IHNlbGVjdGVkSXNvbGF0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkSXNvbGF0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgY29uc3QgaGlnaGVzdFNlbGVjdGVkRWxlbWVudHMgPSBbLi4uc2VsZWN0ZWRHcm91cHMsIC4uLnNlbGVjdGVkSXNvbGF0ZWRFbGVtZW50c107XG4gICAgY29uc3QgZ3JvdXAgPSBjcmVhdGVHcm91cCgpO1xuICAgIGlmIChjYW5BZGRHcm91cChoaWdoZXN0U2VsZWN0ZWRFbGVtZW50cykpIHtcbiAgICAgICAgaGlnaGVzdFNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBpdGVtKTtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBncm91cElkOiBncm91cC5pZCB9LCBwYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChoYXNTZWxlY3RlZEVsZW1lbnRzSW5TYW1lR3JvdXAoaGlnaGVzdFNlbGVjdGVkRWxlbWVudHMpKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdHcm91cElkID0gc2VsZWN0ZWRJc29sYXRlZEVsZW1lbnRzWzBdLmdyb3VwSWQ7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoXG4gICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBJZDogbmV3R3JvdXBJZFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGdyb3VwLCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY2FuUmVtb3ZlR3JvdXAgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNlbGVjdGVkR3JvdXBzOiBQbGFpdEdyb3VwW10pID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEdyb3Vwcy5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUdyb3VwID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRHcm91cHMgPSBnZXRIaWdoZXN0U2VsZWN0ZWRHcm91cHMoYm9hcmQpO1xuICAgIGlmIChjYW5SZW1vdmVHcm91cChib2FyZCwgc2VsZWN0ZWRHcm91cHMpKSB7XG4gICAgICAgIHNlbGVjdGVkR3JvdXBzLm1hcChncm91cCA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50c0luR3JvdXAgPSBmaW5kRWxlbWVudHMoYm9hcmQsIHtcbiAgICAgICAgICAgICAgICBtYXRjaDogaXRlbSA9PiBpdGVtLmdyb3VwSWQgPT09IGdyb3VwLmlkLFxuICAgICAgICAgICAgICAgIHJlY3Vyc2lvbjogKCkgPT4gZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZWxlbWVudHNJbkdyb3VwLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGl0ZW0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBncm91cElkOiBncm91cC5ncm91cElkIHx8IHVuZGVmaW5lZCB9LCBwYXRoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZ3JvdXBQYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZ3JvdXApO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlKGJvYXJkLCBncm91cFBhdGgpO1xuICAgICAgICB9KTtcbiAgICB9XG59O1xuIl19
@@ -60,4 +60,4 @@ export const PlaitHistoryBoard = {
60
60
  SAVING.set(board, prev);
61
61
  }
62
62
  };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2hpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBOEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBa0IsRUFBRSxJQUFnQyxFQUFXLEVBQUU7SUFDekYsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUU7UUFDdEQsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsRUFBa0IsRUFBRSxJQUFnQyxFQUFXLEVBQUU7SUFDeEYsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtRQUMzRCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBa0IsRUFBVyxFQUFFO0lBQ3ZELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3Qjs7T0FFRztJQUNILFFBQVEsQ0FBQyxLQUFpQjtRQUN0QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBRUgsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBRUgsY0FBYyxDQUFDLEtBQWlCLEVBQUUsRUFBYztRQUM1QyxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsRUFBRSxFQUFFLENBQUM7UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0Q7OztPQUdHO0lBRUgsYUFBYSxDQUFDLEtBQWlCLEVBQUUsRUFBYztRQUMzQyxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekIsRUFBRSxFQUFFLENBQUM7UUFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1FUkdJTkcsIFBsYWl0Qm9hcmQsIFBsYWl0T3BlcmF0aW9uLCBTQVZJTkcgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIHRvIG1lcmdlIGFuIG9wZXJhdGlvbiBpbnRvIHRoZSBwcmV2aW91cyBvcGVyYXRpb24uXG4gKi9cblxuZXhwb3J0IGNvbnN0IHNob3VsZE1lcmdlID0gKG9wOiBQbGFpdE9wZXJhdGlvbiwgcHJldjogUGxhaXRPcGVyYXRpb24gfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcbiAgICBpZiAob3AudHlwZSA9PT0gJ3NldF92aWV3cG9ydCcgJiYgb3AudHlwZSA9PT0gcHJldj8udHlwZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGFuIG9wZXJhdGlvbiBuZWVkcyB0byBiZSBzYXZlZCB0byB0aGUgaGlzdG9yeS5cbiAqL1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkU2F2ZSA9IChvcDogUGxhaXRPcGVyYXRpb24sIHByZXY6IFBsYWl0T3BlcmF0aW9uIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKG9wLnR5cGUgPT09ICdzZXRfc2VsZWN0aW9uJyB8fCBvcC50eXBlID09PSAnc2V0X3ZpZXdwb3J0Jykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYW4gb3BlcmF0aW9uIHNob3VsZCBjbGVhciB0aGUgcmVkb3Mgc3RhY2suXG4gKi9cblxuZXhwb3J0IGNvbnN0IHNob3VsZENsZWFyID0gKG9wOiBQbGFpdE9wZXJhdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgIGlmIChvcC50eXBlID09PSAnc2V0X3NlbGVjdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IFBsYWl0SGlzdG9yeUJvYXJkID0ge1xuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc2F2aW5nIGZsYWcncyBjdXJyZW50IHZhbHVlLlxuICAgICAqL1xuICAgIGlzU2F2aW5nKGJvYXJkOiBQbGFpdEJvYXJkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBTQVZJTkcuZ2V0KGJvYXJkKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtZXJnZSBmbGFnJ3MgY3VycmVudCB2YWx1ZS5cbiAgICAgKi9cblxuICAgIGlzTWVyZ2luZyhib2FyZDogUGxhaXRCb2FyZCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gTUVSR0lORy5nZXQoYm9hcmQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBBcHBseSBhIHNlcmllcyBvZiBjaGFuZ2VzIGluc2lkZSBhIHN5bmNocm9ub3VzIGBmbmAsIHdpdGhvdXQgbWVyZ2luZyBhbnkgb2ZcbiAgICAgKiB0aGUgbmV3IG9wZXJhdGlvbnMgaW50byBwcmV2aW91cyBzYXZlIHBvaW50IGluIHRoZSBoaXN0b3J5LlxuICAgICAqL1xuXG4gICAgd2l0aG91dE1lcmdpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQsIGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXYgPSBQbGFpdEhpc3RvcnlCb2FyZC5pc01lcmdpbmcoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgZmFsc2UpO1xuICAgICAgICBmbigpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgcHJldik7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBBcHBseSBhIHNlcmllcyBvZiBjaGFuZ2VzIGluc2lkZSBhIHN5bmNocm9ub3VzIGBmbmAsIHdpdGhvdXQgc2F2aW5nIGFueSBvZlxuICAgICAqIHRoZWlyIG9wZXJhdGlvbnMgaW50byB0aGUgaGlzdG9yeS5cbiAgICAgKi9cblxuICAgIHdpdGhvdXRTYXZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQsIGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXYgPSBQbGFpdEhpc3RvcnlCb2FyZC5pc1NhdmluZyhib2FyZCk7XG4gICAgICAgIFNBVklORy5zZXQoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgU0FWSU5HLnNldChib2FyZCwgcHJldik7XG4gICAgfVxufTtcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2hpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBOEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBa0IsRUFBRSxJQUFnQyxFQUFXLEVBQUU7SUFDekYsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN2RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFrQixFQUFFLElBQWdDLEVBQVcsRUFBRTtJQUN4RixJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDNUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBa0IsRUFBVyxFQUFFO0lBQ3ZELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0I7O09BRUc7SUFDSCxRQUFRLENBQUMsS0FBaUI7UUFDdEIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUVILFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUVILGNBQWMsQ0FBQyxLQUFpQixFQUFFLEVBQWM7UUFDNUMsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFCLEVBQUUsRUFBRSxDQUFDO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNEOzs7T0FHRztJQUVILGFBQWEsQ0FBQyxLQUFpQixFQUFFLEVBQWM7UUFDM0MsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEVBQUUsRUFBRSxDQUFDO1FBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNRVJHSU5HLCBQbGFpdEJvYXJkLCBQbGFpdE9wZXJhdGlvbiwgU0FWSU5HIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0byBtZXJnZSBhbiBvcGVyYXRpb24gaW50byB0aGUgcHJldmlvdXMgb3BlcmF0aW9uLlxuICovXG5cbmV4cG9ydCBjb25zdCBzaG91bGRNZXJnZSA9IChvcDogUGxhaXRPcGVyYXRpb24sIHByZXY6IFBsYWl0T3BlcmF0aW9uIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKG9wLnR5cGUgPT09ICdzZXRfdmlld3BvcnQnICYmIG9wLnR5cGUgPT09IHByZXY/LnR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciBhbiBvcGVyYXRpb24gbmVlZHMgdG8gYmUgc2F2ZWQgdG8gdGhlIGhpc3RvcnkuXG4gKi9cblxuZXhwb3J0IGNvbnN0IHNob3VsZFNhdmUgPSAob3A6IFBsYWl0T3BlcmF0aW9uLCBwcmV2OiBQbGFpdE9wZXJhdGlvbiB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xuICAgIGlmIChvcC50eXBlID09PSAnc2V0X3NlbGVjdGlvbicgfHwgb3AudHlwZSA9PT0gJ3NldF92aWV3cG9ydCcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xufTtcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGFuIG9wZXJhdGlvbiBzaG91bGQgY2xlYXIgdGhlIHJlZG9zIHN0YWNrLlxuICovXG5cbmV4cG9ydCBjb25zdCBzaG91bGRDbGVhciA9IChvcDogUGxhaXRPcGVyYXRpb24pOiBib29sZWFuID0+IHtcbiAgICBpZiAob3AudHlwZSA9PT0gJ3NldF9zZWxlY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBQbGFpdEhpc3RvcnlCb2FyZCA9IHtcbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHNhdmluZyBmbGFnJ3MgY3VycmVudCB2YWx1ZS5cbiAgICAgKi9cbiAgICBpc1NhdmluZyhib2FyZDogUGxhaXRCb2FyZCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gU0FWSU5HLmdldChib2FyZCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWVyZ2UgZmxhZydzIGN1cnJlbnQgdmFsdWUuXG4gICAgICovXG5cbiAgICBpc01lcmdpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIE1FUkdJTkcuZ2V0KGJvYXJkKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQXBwbHkgYSBzZXJpZXMgb2YgY2hhbmdlcyBpbnNpZGUgYSBzeW5jaHJvbm91cyBgZm5gLCB3aXRob3V0IG1lcmdpbmcgYW55IG9mXG4gICAgICogdGhlIG5ldyBvcGVyYXRpb25zIGludG8gcHJldmlvdXMgc2F2ZSBwb2ludCBpbiB0aGUgaGlzdG9yeS5cbiAgICAgKi9cblxuICAgIHdpdGhvdXRNZXJnaW5nKGJvYXJkOiBQbGFpdEJvYXJkLCBmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2ID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNNZXJnaW5nKGJvYXJkKTtcbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIHByZXYpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQXBwbHkgYSBzZXJpZXMgb2YgY2hhbmdlcyBpbnNpZGUgYSBzeW5jaHJvbm91cyBgZm5gLCB3aXRob3V0IHNhdmluZyBhbnkgb2ZcbiAgICAgKiB0aGVpciBvcGVyYXRpb25zIGludG8gdGhlIGhpc3RvcnkuXG4gICAgICovXG5cbiAgICB3aXRob3V0U2F2aW5nKGJvYXJkOiBQbGFpdEJvYXJkLCBmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2ID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNTYXZpbmcoYm9hcmQpO1xuICAgICAgICBTQVZJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgIGZuKCk7XG4gICAgICAgIFNBVklORy5zZXQoYm9hcmQsIHByZXYpO1xuICAgIH1cbn07XG4iXX0=
@@ -106,4 +106,4 @@ const hotkeys = {
106
106
  };
107
107
  export default hotkeys;
108
108
  export { hotkeys };
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2hvdGtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLEdBQVE7SUFDakIsSUFBSSxFQUFFLE9BQU87SUFDYixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQztJQUM5RCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDdEMsV0FBVyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDO0lBQ3BFLFlBQVksRUFBRSxNQUFNO0lBQ3BCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU07SUFDaEIsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixlQUFlLEVBQUUsWUFBWTtJQUM3QixjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxhQUFhO0lBQzVCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFQUFFLGNBQWM7SUFDMUIsSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsT0FBTztDQUNqQixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQVE7SUFDdkIsZ0JBQWdCLEVBQUUsUUFBUTtJQUMxQixlQUFlLEVBQUUsVUFBVTtJQUMzQixnQkFBZ0IsRUFBRSxV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QUNsQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0lBQ2hELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQzFCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUM5QyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQzlDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUM1QyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN0QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUNGLGVBQWUsT0FBTyxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzS2V5SG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IElTX0FQUExFIH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5cbi8qKlxuICogSG90a2V5IG1hcHBpbmdzIGZvciBlYWNoIHBsYXRmb3JtLlxuICovXG5cbmNvbnN0IEhPVEtFWVM6IGFueSA9IHtcbiAgICBib2xkOiAnbW9kK2InLFxuICAgIGNvbXBvc2U6IFsnZG93bicsICdsZWZ0JywgJ3JpZ2h0JywgJ3VwJywgJ2JhY2tzcGFjZScsICdlbnRlciddLFxuICAgIGFycm93OiBbJ2Rvd24nLCAnbGVmdCcsICdyaWdodCcsICd1cCddLFxuICAgIGV4dGVuZEFycm93OiBbJ3NoaWZ0K2Rvd24nLCAnc2hpZnQrbGVmdCcsICdzaGlmdCtyaWdodCcsICdzaGlmdCt1cCddLFxuICAgIG1vdmVCYWNrd2FyZDogJ2xlZnQnLFxuICAgIG1vdmVGb3J3YXJkOiAncmlnaHQnLFxuICAgIG1vdmVVcDogJ3VwJyxcbiAgICBtb3ZlRG93bjogJ2Rvd24nLFxuICAgIG1vdmVXb3JkQmFja3dhcmQ6ICdjdHJsK2xlZnQnLFxuICAgIG1vdmVXb3JkRm9yd2FyZDogJ2N0cmwrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiAnc2hpZnQ/K2JhY2tzcGFjZScsXG4gICAgZGVsZXRlRm9yd2FyZDogJ3NoaWZ0PytkZWxldGUnLFxuICAgIGV4dGVuZEJhY2t3YXJkOiAnc2hpZnQrbGVmdCcsXG4gICAgZXh0ZW5kRm9yd2FyZDogJ3NoaWZ0K3JpZ2h0JyxcbiAgICBleHRlbmRVcDogJ3NoaWZ0K3VwJyxcbiAgICBleHRlbmREb3duOiAnc2hpZnQrZG93bicsXG4gICAgaXRhbGljOiAnbW9kK2knLFxuICAgIHNwbGl0QmxvY2s6ICdzaGlmdD8rZW50ZXInLFxuICAgIHVuZG86ICdtb2QreicsXG4gICAgc2hpZnQ6ICdzaGlmdCdcbn07XG5cbmNvbnN0IEFQUExFX0hPVEtFWVM6IGFueSA9IHtcbiAgICBtb3ZlTGluZUJhY2t3YXJkOiAnb3B0K3VwJyxcbiAgICBtb3ZlTGluZUZvcndhcmQ6ICdvcHQrZG93bicsXG4gICAgbW92ZVdvcmRCYWNrd2FyZDogJ29wdCtsZWZ0JyxcbiAgICBtb3ZlV29yZEZvcndhcmQ6ICdvcHQrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiBbJ2N0cmwrYmFja3NwYWNlJywgJ2N0cmwraCddLFxuICAgIGRlbGV0ZUZvcndhcmQ6IFsnY3RybCtkZWxldGUnLCAnY3RybCtkJ10sXG4gICAgZGVsZXRlTGluZUJhY2t3YXJkOiAnY21kK3NoaWZ0PytiYWNrc3BhY2UnLFxuICAgIGRlbGV0ZUxpbmVGb3J3YXJkOiBbJ2NtZCtzaGlmdD8rZGVsZXRlJywgJ2N0cmwrayddLFxuICAgIGRlbGV0ZVdvcmRCYWNrd2FyZDogJ29wdCtzaGlmdD8rYmFja3NwYWNlJyxcbiAgICBkZWxldGVXb3JkRm9yd2FyZDogJ29wdCtzaGlmdD8rZGVsZXRlJyxcbiAgICBleHRlbmRMaW5lQmFja3dhcmQ6ICdvcHQrc2hpZnQrdXAnLFxuICAgIGV4dGVuZExpbmVGb3J3YXJkOiAnb3B0K3NoaWZ0K2Rvd24nLFxuICAgIHJlZG86ICdjbWQrc2hpZnQreicsXG4gICAgdHJhbnNwb3NlQ2hhcmFjdGVyOiAnY3RybCt0J1xufTtcblxuY29uc3QgV0lORE9XU19IT1RLRVlTOiBhbnkgPSB7XG4gICAgZGVsZXRlV29yZEJhY2t3YXJkOiAnY3RybCtzaGlmdD8rYmFja3NwYWNlJyxcbiAgICBkZWxldGVXb3JkRm9yd2FyZDogJ2N0cmwrc2hpZnQ/K2RlbGV0ZScsXG4gICAgcmVkbzogWydjdHJsK3knLCAnY3RybCtzaGlmdCt6J11cbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgcGxhdGZvcm0tYXdhcmUgaG90a2V5IGNoZWNrZXIuXG4gKi9cblxuY29uc3QgY3JlYXRlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZ2VuZXJpYyA9IEhPVEtFWVNba2V5XTtcbiAgICBjb25zdCBhcHBsZSA9IEFQUExFX0hPVEtFWVNba2V5XTtcbiAgICBjb25zdCB3aW5kb3dzID0gV0lORE9XU19IT1RLRVlTW2tleV07XG4gICAgY29uc3QgaXNHZW5lcmljID0gZ2VuZXJpYyAmJiBpc0tleUhvdGtleShnZW5lcmljKTtcbiAgICBjb25zdCBpc0FwcGxlID0gYXBwbGUgJiYgaXNLZXlIb3RrZXkoYXBwbGUpO1xuICAgIGNvbnN0IGlzV2luZG93cyA9IHdpbmRvd3MgJiYgaXNLZXlIb3RrZXkod2luZG93cyk7XG5cbiAgICByZXR1cm4gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChpc0dlbmVyaWMgJiYgaXNHZW5lcmljKGV2ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKElTX0FQUExFICYmIGlzQXBwbGUgJiYgaXNBcHBsZShldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghSVNfQVBQTEUgJiYgaXNXaW5kb3dzICYmIGlzV2luZG93cyhldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xufTtcblxuLyoqXG4gKiBIb3RrZXlzLlxuICovXG5cbmNvbnN0IGhvdGtleXMgPSB7XG4gICAgaXNCb2xkOiBjcmVhdGUoJ2JvbGQnKSxcbiAgICBpc0NvbXBvc2U6IGNyZWF0ZSgnY29tcG9zZScpLFxuICAgIGlzQXJyb3c6IGNyZWF0ZSgnYXJyb3cnKSxcbiAgICBpc01vdmVCYWNrd2FyZDogY3JlYXRlKCdtb3ZlQmFja3dhcmQnKSxcbiAgICBpc01vdmVGb3J3YXJkOiBjcmVhdGUoJ21vdmVGb3J3YXJkJyksXG4gICAgaXNNb3ZlVXA6IGNyZWF0ZSgnbW92ZVVwJyksXG4gICAgaXNNb3ZlRG93bjogY3JlYXRlKCdtb3ZlRG93bicpLFxuICAgIGlzRGVsZXRlQmFja3dhcmQ6IGNyZWF0ZSgnZGVsZXRlQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlRm9yd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUJhY2t3YXJkOiBjcmVhdGUoJ2RlbGV0ZUxpbmVCYWNrd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlTGluZUZvcndhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRCYWNrd2FyZDogY3JlYXRlKCdkZWxldGVXb3JkQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRGb3J3YXJkOiBjcmVhdGUoJ2RlbGV0ZVdvcmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRCYWNrd2FyZDogY3JlYXRlKCdleHRlbmRCYWNrd2FyZCcpLFxuICAgIGlzRXh0ZW5kRm9yd2FyZDogY3JlYXRlKCdleHRlbmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRVcDogY3JlYXRlKCdleHRlbmRVcCcpLFxuICAgIGlzRXh0ZW5kRG93bjogY3JlYXRlKCdleHRlbmREb3duJyksXG4gICAgaXNFeHRlbmRBcnJvdzogY3JlYXRlKCdleHRlbmRBcnJvdycpLFxuICAgIGlzRXh0ZW5kTGluZUJhY2t3YXJkOiBjcmVhdGUoJ2V4dGVuZExpbmVCYWNrd2FyZCcpLFxuICAgIGlzRXh0ZW5kTGluZUZvcndhcmQ6IGNyZWF0ZSgnZXh0ZW5kTGluZUZvcndhcmQnKSxcbiAgICBpc0l0YWxpYzogY3JlYXRlKCdpdGFsaWMnKSxcbiAgICBpc01vdmVMaW5lQmFja3dhcmQ6IGNyZWF0ZSgnbW92ZUxpbmVCYWNrd2FyZCcpLFxuICAgIGlzTW92ZUxpbmVGb3J3YXJkOiBjcmVhdGUoJ21vdmVMaW5lRm9yd2FyZCcpLFxuICAgIGlzTW92ZVdvcmRCYWNrd2FyZDogY3JlYXRlKCdtb3ZlV29yZEJhY2t3YXJkJyksXG4gICAgaXNNb3ZlV29yZEZvcndhcmQ6IGNyZWF0ZSgnbW92ZVdvcmRGb3J3YXJkJyksXG4gICAgaXNSZWRvOiBjcmVhdGUoJ3JlZG8nKSxcbiAgICBpc1NwbGl0QmxvY2s6IGNyZWF0ZSgnc3BsaXRCbG9jaycpLFxuICAgIGlzVHJhbnNwb3NlQ2hhcmFjdGVyOiBjcmVhdGUoJ3RyYW5zcG9zZUNoYXJhY3RlcicpLFxuICAgIGlzVW5kbzogY3JlYXRlKCd1bmRvJyksXG4gICAgaXNTaGlmdDogY3JlYXRlKCdzaGlmdCcpXG59O1xuZXhwb3J0IGRlZmF1bHQgaG90a2V5cztcbmV4cG9ydCB7IGhvdGtleXMgfTtcbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2hvdGtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDOztHQUVHO0FBRUgsTUFBTSxPQUFPLEdBQVE7SUFDakIsSUFBSSxFQUFFLE9BQU87SUFDYixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQztJQUM5RCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDdEMsV0FBVyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDO0lBQ3BFLFlBQVksRUFBRSxNQUFNO0lBQ3BCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLE1BQU0sRUFBRSxJQUFJO0lBQ1osUUFBUSxFQUFFLE1BQU07SUFDaEIsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixlQUFlLEVBQUUsWUFBWTtJQUM3QixjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxhQUFhO0lBQzVCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFQUFFLGNBQWM7SUFDMUIsSUFBSSxFQUFFLE9BQU87SUFDYixLQUFLLEVBQUUsT0FBTztDQUNqQixDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQVE7SUFDdkIsZ0JBQWdCLEVBQUUsUUFBUTtJQUMxQixlQUFlLEVBQUUsVUFBVTtJQUMzQixnQkFBZ0IsRUFBRSxV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QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDO0lBQ2hELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQzFCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUM5QyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQzlDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztJQUM1QyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN0QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNsQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLENBQUM7SUFDbEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUNGLGVBQWUsT0FBTyxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzS2V5SG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IElTX0FQUExFIH0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5cbi8qKlxuICogSG90a2V5IG1hcHBpbmdzIGZvciBlYWNoIHBsYXRmb3JtLlxuICovXG5cbmNvbnN0IEhPVEtFWVM6IGFueSA9IHtcbiAgICBib2xkOiAnbW9kK2InLFxuICAgIGNvbXBvc2U6IFsnZG93bicsICdsZWZ0JywgJ3JpZ2h0JywgJ3VwJywgJ2JhY2tzcGFjZScsICdlbnRlciddLFxuICAgIGFycm93OiBbJ2Rvd24nLCAnbGVmdCcsICdyaWdodCcsICd1cCddLFxuICAgIGV4dGVuZEFycm93OiBbJ3NoaWZ0K2Rvd24nLCAnc2hpZnQrbGVmdCcsICdzaGlmdCtyaWdodCcsICdzaGlmdCt1cCddLFxuICAgIG1vdmVCYWNrd2FyZDogJ2xlZnQnLFxuICAgIG1vdmVGb3J3YXJkOiAncmlnaHQnLFxuICAgIG1vdmVVcDogJ3VwJyxcbiAgICBtb3ZlRG93bjogJ2Rvd24nLFxuICAgIG1vdmVXb3JkQmFja3dhcmQ6ICdjdHJsK2xlZnQnLFxuICAgIG1vdmVXb3JkRm9yd2FyZDogJ2N0cmwrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiAnc2hpZnQ/K2JhY2tzcGFjZScsXG4gICAgZGVsZXRlRm9yd2FyZDogJ3NoaWZ0PytkZWxldGUnLFxuICAgIGV4dGVuZEJhY2t3YXJkOiAnc2hpZnQrbGVmdCcsXG4gICAgZXh0ZW5kRm9yd2FyZDogJ3NoaWZ0K3JpZ2h0JyxcbiAgICBleHRlbmRVcDogJ3NoaWZ0K3VwJyxcbiAgICBleHRlbmREb3duOiAnc2hpZnQrZG93bicsXG4gICAgaXRhbGljOiAnbW9kK2knLFxuICAgIHNwbGl0QmxvY2s6ICdzaGlmdD8rZW50ZXInLFxuICAgIHVuZG86ICdtb2QreicsXG4gICAgc2hpZnQ6ICdzaGlmdCdcbn07XG5cbmNvbnN0IEFQUExFX0hPVEtFWVM6IGFueSA9IHtcbiAgICBtb3ZlTGluZUJhY2t3YXJkOiAnb3B0K3VwJyxcbiAgICBtb3ZlTGluZUZvcndhcmQ6ICdvcHQrZG93bicsXG4gICAgbW92ZVdvcmRCYWNrd2FyZDogJ29wdCtsZWZ0JyxcbiAgICBtb3ZlV29yZEZvcndhcmQ6ICdvcHQrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiBbJ2N0cmwrYmFja3NwYWNlJywgJ2N0cmwraCddLFxuICAgIGRlbGV0ZUZvcndhcmQ6IFsnY3RybCtkZWxldGUnLCAnY3RybCtkJ10sXG4gICAgZGVsZXRlTGluZUJhY2t3YXJkOiAnY21kK3NoaWZ0PytiYWNrc3BhY2UnLFxuICAgIGRlbGV0ZUxpbmVGb3J3YXJkOiBbJ2NtZCtzaGlmdD8rZGVsZXRlJywgJ2N0cmwrayddLFxuICAgIGRlbGV0ZVdvcmRCYWNrd2FyZDogJ29wdCtzaGlmdD8rYmFja3NwYWNlJyxcbiAgICBkZWxldGVXb3JkRm9yd2FyZDogJ29wdCtzaGlmdD8rZGVsZXRlJyxcbiAgICBleHRlbmRMaW5lQmFja3dhcmQ6ICdvcHQrc2hpZnQrdXAnLFxuICAgIGV4dGVuZExpbmVGb3J3YXJkOiAnb3B0K3NoaWZ0K2Rvd24nLFxuICAgIHJlZG86ICdjbWQrc2hpZnQreicsXG4gICAgdHJhbnNwb3NlQ2hhcmFjdGVyOiAnY3RybCt0J1xufTtcblxuY29uc3QgV0lORE9XU19IT1RLRVlTOiBhbnkgPSB7XG4gICAgZGVsZXRlV29yZEJhY2t3YXJkOiAnY3RybCtzaGlmdD8rYmFja3NwYWNlJyxcbiAgICBkZWxldGVXb3JkRm9yd2FyZDogJ2N0cmwrc2hpZnQ/K2RlbGV0ZScsXG4gICAgcmVkbzogWydjdHJsK3knLCAnY3RybCtzaGlmdCt6J11cbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgcGxhdGZvcm0tYXdhcmUgaG90a2V5IGNoZWNrZXIuXG4gKi9cblxuY29uc3QgY3JlYXRlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZ2VuZXJpYyA9IEhPVEtFWVNba2V5XTtcbiAgICBjb25zdCBhcHBsZSA9IEFQUExFX0hPVEtFWVNba2V5XTtcbiAgICBjb25zdCB3aW5kb3dzID0gV0lORE9XU19IT1RLRVlTW2tleV07XG4gICAgY29uc3QgaXNHZW5lcmljID0gZ2VuZXJpYyAmJiBpc0tleUhvdGtleShnZW5lcmljKTtcbiAgICBjb25zdCBpc0FwcGxlID0gYXBwbGUgJiYgaXNLZXlIb3RrZXkoYXBwbGUpO1xuICAgIGNvbnN0IGlzV2luZG93cyA9IHdpbmRvd3MgJiYgaXNLZXlIb3RrZXkod2luZG93cyk7XG5cbiAgICByZXR1cm4gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChpc0dlbmVyaWMgJiYgaXNHZW5lcmljKGV2ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKElTX0FQUExFICYmIGlzQXBwbGUgJiYgaXNBcHBsZShldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghSVNfQVBQTEUgJiYgaXNXaW5kb3dzICYmIGlzV2luZG93cyhldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xufTtcblxuLyoqXG4gKiBIb3RrZXlzLlxuICovXG5cbmNvbnN0IGhvdGtleXMgPSB7XG4gICAgaXNCb2xkOiBjcmVhdGUoJ2JvbGQnKSxcbiAgICBpc0NvbXBvc2U6IGNyZWF0ZSgnY29tcG9zZScpLFxuICAgIGlzQXJyb3c6IGNyZWF0ZSgnYXJyb3cnKSxcbiAgICBpc01vdmVCYWNrd2FyZDogY3JlYXRlKCdtb3ZlQmFja3dhcmQnKSxcbiAgICBpc01vdmVGb3J3YXJkOiBjcmVhdGUoJ21vdmVGb3J3YXJkJyksXG4gICAgaXNNb3ZlVXA6IGNyZWF0ZSgnbW92ZVVwJyksXG4gICAgaXNNb3ZlRG93bjogY3JlYXRlKCdtb3ZlRG93bicpLFxuICAgIGlzRGVsZXRlQmFja3dhcmQ6IGNyZWF0ZSgnZGVsZXRlQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlRm9yd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUJhY2t3YXJkOiBjcmVhdGUoJ2RlbGV0ZUxpbmVCYWNrd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlTGluZUZvcndhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRCYWNrd2FyZDogY3JlYXRlKCdkZWxldGVXb3JkQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRGb3J3YXJkOiBjcmVhdGUoJ2RlbGV0ZVdvcmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRCYWNrd2FyZDogY3JlYXRlKCdleHRlbmRCYWNrd2FyZCcpLFxuICAgIGlzRXh0ZW5kRm9yd2FyZDogY3JlYXRlKCdleHRlbmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRVcDogY3JlYXRlKCdleHRlbmRVcCcpLFxuICAgIGlzRXh0ZW5kRG93bjogY3JlYXRlKCdleHRlbmREb3duJyksXG4gICAgaXNFeHRlbmRBcnJvdzogY3JlYXRlKCdleHRlbmRBcnJvdycpLFxuICAgIGlzRXh0ZW5kTGluZUJhY2t3YXJkOiBjcmVhdGUoJ2V4dGVuZExpbmVCYWNrd2FyZCcpLFxuICAgIGlzRXh0ZW5kTGluZUZvcndhcmQ6IGNyZWF0ZSgnZXh0ZW5kTGluZUZvcndhcmQnKSxcbiAgICBpc0l0YWxpYzogY3JlYXRlKCdpdGFsaWMnKSxcbiAgICBpc01vdmVMaW5lQmFja3dhcmQ6IGNyZWF0ZSgnbW92ZUxpbmVCYWNrd2FyZCcpLFxuICAgIGlzTW92ZUxpbmVGb3J3YXJkOiBjcmVhdGUoJ21vdmVMaW5lRm9yd2FyZCcpLFxuICAgIGlzTW92ZVdvcmRCYWNrd2FyZDogY3JlYXRlKCdtb3ZlV29yZEJhY2t3YXJkJyksXG4gICAgaXNNb3ZlV29yZEZvcndhcmQ6IGNyZWF0ZSgnbW92ZVdvcmRGb3J3YXJkJyksXG4gICAgaXNSZWRvOiBjcmVhdGUoJ3JlZG8nKSxcbiAgICBpc1NwbGl0QmxvY2s6IGNyZWF0ZSgnc3BsaXRCbG9jaycpLFxuICAgIGlzVHJhbnNwb3NlQ2hhcmFjdGVyOiBjcmVhdGUoJ3RyYW5zcG9zZUNoYXJhY3RlcicpLFxuICAgIGlzVW5kbzogY3JlYXRlKCd1bmRvJyksXG4gICAgaXNTaGlmdDogY3JlYXRlKCdzaGlmdCcpXG59O1xuZXhwb3J0IGRlZmF1bHQgaG90a2V5cztcbmV4cG9ydCB7IGhvdGtleXMgfTtcbiJdfQ==
@@ -8,4 +8,4 @@ export function idCreator(length = 5) {
8
8
  }
9
9
  return key;
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2lkLWNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUNoQyxpQkFBaUI7SUFDakIsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsQ0FBQywrRUFBK0U7SUFDM0ksTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzdCLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7S0FDakU7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaWRDcmVhdG9yKGxlbmd0aCA9IDUpIHtcbiAgICAvLyByZW1vdmUgbnVtZXJhbFxuICAgIGNvbnN0ICRjaGFycyA9ICdBQkNERUZHSEpLTU5QUVJTVFdYWVphYmNkZWZoaWprbW5wcnN0d3h5eic7IC8qKioqIEVhc2lseSBjb25mdXNpbmcgY2hhcmFjdGVycyBhcmUgcmVtb3ZlZCBieSBkZWZhdWx0IG9PTGwsOWdxLFZ2LFV1LEkxKioqKi9cbiAgICBjb25zdCBtYXhQb3NpdGlvbiA9ICRjaGFycy5sZW5ndGg7XG4gICAgbGV0IGtleSA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAga2V5ICs9ICRjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogbWF4UG9zaXRpb24pKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleTtcbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2lkLWNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUNoQyxpQkFBaUI7SUFDakIsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsQ0FBQywrRUFBK0U7SUFDM0ksTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlkQ3JlYXRvcihsZW5ndGggPSA1KSB7XG4gICAgLy8gcmVtb3ZlIG51bWVyYWxcbiAgICBjb25zdCAkY2hhcnMgPSAnQUJDREVGR0hKS01OUFFSU1RXWFlaYWJjZGVmaGlqa21ucHJzdHd4eXonOyAvKioqKiBFYXNpbHkgY29uZnVzaW5nIGNoYXJhY3RlcnMgYXJlIHJlbW92ZWQgYnkgZGVmYXVsdCBvT0xsLDlncSxWdixVdSxJMSoqKiovXG4gICAgY29uc3QgbWF4UG9zaXRpb24gPSAkY2hhcnMubGVuZ3RoO1xuICAgIGxldCBrZXkgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGtleSArPSAkY2hhcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG1heFBvc2l0aW9uKSk7XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG59XG4iXX0=
@@ -25,4 +25,7 @@ export * from './clipboard';
25
25
  export * from './touch';
26
26
  export * from './dnd';
27
27
  export * from './to-point';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9ob3RrZXlzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQtY3JlYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21hdGgnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy9yZWN0YW5nbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nL2Fycm93JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy9jaXJjbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nL2xpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW92aW5nLWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90by1pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdG91Y2gnO1xuZXhwb3J0ICogZnJvbSAnLi9kbmQnO1xuZXhwb3J0ICogZnJvbSAnLi90by1wb2ludCc7XG4iXX0=
28
+ export * from './group';
29
+ export * from './selection';
30
+ export * from './angle';
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9ob3RrZXlzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQtY3JlYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21hdGgnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RlZC1lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy9yZWN0YW5nbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nL2Fycm93JztcbmV4cG9ydCAqIGZyb20gJy4vZHJhd2luZy9jaXJjbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcmF3aW5nL2xpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbW92aW5nLWVsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90by1pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdG91Y2gnO1xuZXhwb3J0ICogZnJvbSAnLi9kbmQnO1xuZXhwb3J0ICogZnJvbSAnLi90by1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYW5nbGUnO1xuIl19