@shapediver/viewer.features.drawing-tools 3.4.3 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/api/implementation/DrawingToolsApi.d.ts +1 -2
  2. package/dist/api/implementation/DrawingToolsApi.d.ts.map +1 -1
  3. package/dist/api/implementation/DrawingToolsApi.js +21 -12
  4. package/dist/api/implementation/DrawingToolsApi.js.map +1 -1
  5. package/dist/api/interfaces/IDrawingToolsApi.d.ts +2 -6
  6. package/dist/api/interfaces/IDrawingToolsApi.d.ts.map +1 -1
  7. package/dist/business/implementation/DrawingToolsManager.d.ts +6 -8
  8. package/dist/business/implementation/DrawingToolsManager.d.ts.map +1 -1
  9. package/dist/business/implementation/DrawingToolsManager.js +14 -14
  10. package/dist/business/implementation/DrawingToolsManager.js.map +1 -1
  11. package/dist/business/implementation/managers/HistoryManager.d.ts +1 -2
  12. package/dist/business/implementation/managers/HistoryManager.d.ts.map +1 -1
  13. package/dist/business/implementation/managers/HistoryManager.js.map +1 -1
  14. package/dist/business/implementation/managers/TextVisualizationManager.d.ts +1 -2
  15. package/dist/business/implementation/managers/TextVisualizationManager.d.ts.map +1 -1
  16. package/dist/business/implementation/managers/TextVisualizationManager.js +8 -8
  17. package/dist/business/implementation/managers/TextVisualizationManager.js.map +1 -1
  18. package/dist/business/implementation/managers/geometry/GeometryManager.d.ts +3 -4
  19. package/dist/business/implementation/managers/geometry/GeometryManager.d.ts.map +1 -1
  20. package/dist/business/implementation/managers/geometry/GeometryManager.js +2 -2
  21. package/dist/business/implementation/managers/geometry/GeometryManager.js.map +1 -1
  22. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.d.ts +2 -2
  23. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.d.ts.map +1 -1
  24. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.js +4 -0
  25. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.js.map +1 -1
  26. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts +3 -4
  27. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts.map +1 -1
  28. package/dist/business/implementation/managers/interaction/InteractionManager.js +23 -7
  29. package/dist/business/implementation/managers/interaction/InteractionManager.js.map +1 -1
  30. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.js +1 -1
  31. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.js.map +1 -1
  32. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.d.ts +2 -0
  33. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.d.ts.map +1 -1
  34. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.js +30 -7
  35. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.js.map +1 -1
  36. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.js +1 -1
  37. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.js.map +1 -1
  38. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.d.ts.map +1 -1
  39. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js +6 -3
  40. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js.map +1 -1
  41. package/dist/business/interfaces/IDrawingToolsManager.d.ts +6 -38
  42. package/dist/business/interfaces/IDrawingToolsManager.d.ts.map +1 -1
  43. package/dist/business/interfaces/IDrawingToolsManager.js.map +1 -1
  44. package/dist/index.d.ts +6 -15
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +11 -13
  47. package/dist/index.js.map +1 -1
  48. package/package.json +11 -10
  49. package/dist/api/implementation/restrictions/AbstractRestrictionApi.d.ts +0 -10
  50. package/dist/api/implementation/restrictions/AbstractRestrictionApi.d.ts.map +0 -1
  51. package/dist/api/implementation/restrictions/AbstractRestrictionApi.js +0 -38
  52. package/dist/api/implementation/restrictions/AbstractRestrictionApi.js.map +0 -1
  53. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.d.ts +0 -11
  54. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.d.ts.map +0 -1
  55. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.js +0 -40
  56. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.js.map +0 -1
  57. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.d.ts +0 -15
  58. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.d.ts.map +0 -1
  59. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.js +0 -54
  60. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.js.map +0 -1
  61. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.d.ts +0 -20
  62. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.d.ts.map +0 -1
  63. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.js +0 -67
  64. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.js.map +0 -1
  65. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.d.ts +0 -10
  66. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.d.ts.map +0 -1
  67. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.js +0 -40
  68. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.js.map +0 -1
  69. package/dist/api/implementation/restrictions/plane/snap/AxisRestrictionApi.d.ts +0 -7
  70. package/dist/api/implementation/restrictions/plane/snap/AxisRestrictionApi.d.ts.map +0 -1
  71. package/dist/api/implementation/restrictions/plane/snap/AxisRestrictionApi.js +0 -24
  72. package/dist/api/implementation/restrictions/plane/snap/AxisRestrictionApi.js.map +0 -1
  73. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.d.ts +0 -10
  74. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.d.ts.map +0 -1
  75. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.js +0 -40
  76. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.js.map +0 -1
  77. package/dist/api/interfaces/IRestrictionApi.d.ts +0 -11
  78. package/dist/api/interfaces/IRestrictionApi.d.ts.map +0 -1
  79. package/dist/api/interfaces/IRestrictionApi.js +0 -3
  80. package/dist/api/interfaces/IRestrictionApi.js.map +0 -1
  81. package/dist/api/interfaces/ISnapRestrictionApi.d.ts +0 -13
  82. package/dist/api/interfaces/ISnapRestrictionApi.d.ts.map +0 -1
  83. package/dist/api/interfaces/ISnapRestrictionApi.js +0 -3
  84. package/dist/api/interfaces/ISnapRestrictionApi.js.map +0 -1
  85. package/dist/business/implementation/managers/geometry/GeometryMathManager.d.ts +0 -82
  86. package/dist/business/implementation/managers/geometry/GeometryMathManager.d.ts.map +0 -1
  87. package/dist/business/implementation/managers/geometry/GeometryMathManager.js +0 -245
  88. package/dist/business/implementation/managers/geometry/GeometryMathManager.js.map +0 -1
  89. package/dist/business/implementation/managers/interaction/EventManager.d.ts +0 -26
  90. package/dist/business/implementation/managers/interaction/EventManager.d.ts.map +0 -1
  91. package/dist/business/implementation/managers/interaction/EventManager.js +0 -63
  92. package/dist/business/implementation/managers/interaction/EventManager.js.map +0 -1
  93. package/dist/business/implementation/managers/interaction/RestrictionManager.d.ts +0 -19
  94. package/dist/business/implementation/managers/interaction/RestrictionManager.d.ts.map +0 -1
  95. package/dist/business/implementation/managers/interaction/RestrictionManager.js +0 -113
  96. package/dist/business/implementation/managers/interaction/RestrictionManager.js.map +0 -1
  97. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.d.ts +0 -19
  98. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.d.ts.map +0 -1
  99. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.js +0 -105
  100. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.js.map +0 -1
  101. package/dist/business/implementation/managers/interaction/restrictions/AbstractSnapRestriction.d.ts +0 -31
  102. package/dist/business/implementation/managers/interaction/restrictions/AbstractSnapRestriction.d.ts.map +0 -1
  103. package/dist/business/implementation/managers/interaction/restrictions/AbstractSnapRestriction.js +0 -125
  104. package/dist/business/implementation/managers/interaction/restrictions/AbstractSnapRestriction.js.map +0 -1
  105. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.d.ts +0 -40
  106. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.d.ts.map +0 -1
  107. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.js +0 -257
  108. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.js.map +0 -1
  109. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.d.ts +0 -66
  110. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.d.ts.map +0 -1
  111. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.js +0 -244
  112. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.js.map +0 -1
  113. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.d.ts +0 -39
  114. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.d.ts.map +0 -1
  115. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.js +0 -317
  116. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.js.map +0 -1
  117. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AxisRestriction.d.ts +0 -27
  118. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AxisRestriction.d.ts.map +0 -1
  119. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AxisRestriction.js +0 -165
  120. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AxisRestriction.js.map +0 -1
  121. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.d.ts +0 -39
  122. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.d.ts.map +0 -1
  123. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.js +0 -212
  124. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.js.map +0 -1
  125. package/dist/business/implementation/utils/numberCleaner.d.ts +0 -2
  126. package/dist/business/implementation/utils/numberCleaner.d.ts.map +0 -1
  127. package/dist/business/implementation/utils/numberCleaner.js +0 -9
  128. package/dist/business/implementation/utils/numberCleaner.js.map +0 -1
  129. package/dist/business/interfaces/IManager.d.ts +0 -4
  130. package/dist/business/interfaces/IManager.d.ts.map +0 -1
  131. package/dist/business/interfaces/IManager.js +0 -3
  132. package/dist/business/interfaces/IManager.js.map +0 -1
  133. package/dist/business/interfaces/IRestriction.d.ts +0 -40
  134. package/dist/business/interfaces/IRestriction.d.ts.map +0 -1
  135. package/dist/business/interfaces/IRestriction.js +0 -12
  136. package/dist/business/interfaces/IRestriction.js.map +0 -1
  137. package/dist/business/interfaces/IRestrictionBase.d.ts +0 -19
  138. package/dist/business/interfaces/IRestrictionBase.d.ts.map +0 -1
  139. package/dist/business/interfaces/IRestrictionBase.js +0 -5
  140. package/dist/business/interfaces/IRestrictionBase.js.map +0 -1
  141. package/dist/business/interfaces/ISnapRestriction.d.ts +0 -52
  142. package/dist/business/interfaces/ISnapRestriction.d.ts.map +0 -1
  143. package/dist/business/interfaces/ISnapRestriction.js +0 -4
  144. package/dist/business/interfaces/ISnapRestriction.js.map +0 -1
  145. package/dist/three/CSS2DRenderer.d.ts +0 -32
  146. package/dist/three/CSS2DRenderer.d.ts.map +0 -1
  147. package/dist/three/CSS2DRenderer.js +0 -137
  148. package/dist/three/CSS2DRenderer.js.map +0 -1
@@ -1,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CSS2DRenderer = exports.CSS2DObject = void 0;
4
- const three_1 = require("three");
5
- class CSS2DObject extends three_1.Object3D {
6
- // #endregion Properties (3)
7
- // #region Constructors (1)
8
- constructor(element = document.createElement('div')) {
9
- super();
10
- this.isCSS2DObject = true;
11
- this.element = element;
12
- this.element.style.position = 'absolute';
13
- this.element.style.userSelect = 'none';
14
- this.element.setAttribute('draggable', 'false');
15
- this.center = new three_1.Vector2(0.5, 0.5); // ( 0, 0 ) is the lower left; ( 1, 1 ) is the top right
16
- this.addEventListener('removed', () => {
17
- this.traverse((o) => {
18
- const object = o;
19
- if (object.element instanceof Element && object.element.parentNode !== null) {
20
- object.element.parentNode.removeChild(object.element);
21
- }
22
- });
23
- });
24
- }
25
- // #endregion Constructors (1)
26
- // #region Public Methods (1)
27
- copy(source, recursive) {
28
- super.copy(source, recursive);
29
- this.element = source.element.cloneNode(true);
30
- this.center = source.center;
31
- return this;
32
- }
33
- }
34
- exports.CSS2DObject = CSS2DObject;
35
- //
36
- const _vector = new three_1.Vector3();
37
- const _viewMatrix = new three_1.Matrix4();
38
- const _viewProjectionMatrix = new three_1.Matrix4();
39
- const _a = new three_1.Vector3();
40
- const _b = new three_1.Vector3();
41
- class CSS2DRenderer {
42
- // #endregion Properties (6)
43
- // #region Constructors (1)
44
- constructor(parameters) {
45
- // #region Properties (6)
46
- this._cache = {
47
- objects: new WeakMap()
48
- };
49
- this._height = 0;
50
- this._heightHalf = 0;
51
- this._width = 0;
52
- this._widthHalf = 0;
53
- const domElement = (parameters === null || parameters === void 0 ? void 0 : parameters.element) !== undefined ? parameters.element : document.createElement('div');
54
- domElement.style.overflow = 'hidden';
55
- this.domElement = domElement;
56
- }
57
- // #endregion Constructors (1)
58
- // #region Public Methods (7)
59
- filterAndFlatten(scene) {
60
- const result = [];
61
- scene.traverse((object) => {
62
- if (object.isCSS2DObject)
63
- result.push(object);
64
- });
65
- return result;
66
- }
67
- getDistanceToSquared(object1, object2) {
68
- _a.setFromMatrixPosition(object1.matrixWorld);
69
- _b.setFromMatrixPosition(object2.matrixWorld);
70
- return _a.distanceToSquared(_b);
71
- }
72
- getSize() {
73
- return {
74
- width: this._width,
75
- height: this._height
76
- };
77
- }
78
- render(scene, camera) {
79
- if (scene.matrixWorldAutoUpdate === true)
80
- scene.updateMatrixWorld();
81
- if (camera.parent === null && camera.matrixWorldAutoUpdate === true)
82
- camera.updateMatrixWorld();
83
- _viewMatrix.copy(camera.matrixWorldInverse);
84
- _viewProjectionMatrix.multiplyMatrices(camera.projectionMatrix, _viewMatrix);
85
- this.renderObject(scene, scene, camera);
86
- this.zOrder(scene);
87
- }
88
- renderObject(o, scene, camera) {
89
- if (o.isCSS2DObject) {
90
- const object = o;
91
- _vector.setFromMatrixPosition(object.matrixWorld);
92
- _vector.applyMatrix4(_viewProjectionMatrix);
93
- const visible = (object.visible === true) && (_vector.z >= -1 && _vector.z <= 1) && (object.layers.test(camera.layers) === true);
94
- object.element.style.display = (visible === true) ? '' : 'none';
95
- if (visible === true) {
96
- object.onBeforeRender(this, scene, camera);
97
- const element = object.element;
98
- element.style.transform = 'translate(' + (-100 * object.center.x) + '%,' + (-100 * object.center.y) + '%)' + 'translate(' + (_vector.x * this._widthHalf + this._widthHalf) + 'px,' + (-_vector.y * this._heightHalf + this._heightHalf) + 'px)';
99
- if (element.parentNode !== this.domElement) {
100
- this.domElement.appendChild(element);
101
- }
102
- object.onAfterRender(this, scene, camera);
103
- }
104
- const objectData = {
105
- distanceToCameraSquared: this.getDistanceToSquared(camera, object)
106
- };
107
- this._cache.objects.set(object, objectData);
108
- }
109
- for (let i = 0, l = o.children.length; i < l; i++) {
110
- this.renderObject(o.children[i], scene, camera);
111
- }
112
- }
113
- setSize(width, height) {
114
- this._width = width;
115
- this._height = height;
116
- this._widthHalf = this._width / 2;
117
- this._heightHalf = this._height / 2;
118
- this.domElement.style.width = width + 'px';
119
- this.domElement.style.height = height + 'px';
120
- }
121
- zOrder(scene) {
122
- const sorted = this.filterAndFlatten(scene).sort((a, b) => {
123
- if (a.renderOrder !== b.renderOrder) {
124
- return b.renderOrder - a.renderOrder;
125
- }
126
- const distanceA = this._cache.objects.get(a).distanceToCameraSquared;
127
- const distanceB = this._cache.objects.get(b).distanceToCameraSquared;
128
- return distanceA - distanceB;
129
- });
130
- const zMax = sorted.length;
131
- for (let i = 0, l = sorted.length; i < l; i++) {
132
- sorted[i].element.style.zIndex = (zMax - i) + '';
133
- }
134
- }
135
- }
136
- exports.CSS2DRenderer = CSS2DRenderer;
137
- //# sourceMappingURL=CSS2DRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CSS2DRenderer.js","sourceRoot":"","sources":["../../src/three/CSS2DRenderer.ts"],"names":[],"mappings":";;;AAAA,iCAOe;AAEf,MAAM,WAAY,SAAQ,gBAAQ;IAO9B,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QAC/C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAEvC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,wDAAwD;QAE7F,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAW,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,CAAgB,CAAC;gBAEhC,IAAI,MAAM,CAAC,OAAO,YAAY,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;oBACzE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACzD;YAEL,CAAC,CAAC,CAAC;QAEP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEtB,IAAI,CAAC,MAAY,EAAE,SAAmB;QACzC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAmB,CAAC;QAEhE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;CAGJ;AAqJQ,kCAAW;AAnJpB,EAAE;AAEF,MAAM,OAAO,GAAG,IAAI,eAAO,EAAE,CAAC;AAC9B,MAAM,WAAW,GAAG,IAAI,eAAO,EAAE,CAAC;AAClC,MAAM,qBAAqB,GAAG,IAAI,eAAO,EAAE,CAAC;AAC5C,MAAM,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;AACzB,MAAM,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;AAMzB,MAAM,aAAa;IAcf,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,UAA4B;QAjBxC,yBAAyB;QAER,WAAM,GAAG;YACtB,OAAO,EAAE,IAAI,OAAO,EAAE;SACzB,CAAC;QAEM,YAAO,GAAW,CAAC,CAAC;QACpB,gBAAW,GAAW,CAAC,CAAC;QACxB,WAAM,GAAW,CAAC,CAAC;QACnB,eAAU,GAAW,CAAC,CAAC;QAS3B,MAAM,UAAU,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,MAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1G,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAErC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,8BAA8B;IAE9B,6BAA6B;IAEtB,gBAAgB,CAAC,KAAY;QAChC,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,IAAK,MAAsB,CAAC,aAAa;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAqB,CAAC,CAAC;QAElF,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,oBAAoB,CAAC,OAAiB,EAAE,OAAiB;QAC5D,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE9C,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,OAAO;QACV,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,MAAM,EAAE,IAAI,CAAC,OAAO;SACvB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAY,EAAE,MAAc;QACtC,IAAI,KAAK,CAAC,qBAAqB,KAAK,IAAI;YAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACpE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,qBAAqB,KAAK,IAAI;YAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAEhG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5C,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAE7E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEM,YAAY,CAAC,CAAW,EAAE,KAAY,EAAE,MAAc;QACzD,IAAK,CAAiB,CAAC,aAAa,EAAE;YAClC,MAAM,MAAM,GAAG,CAAgB,CAAC;YAChC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAClD,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;YAE5C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAE,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAClI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhE,IAAI,OAAO,KAAK,IAAI,EAAE;gBACjB,MAAmG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAEzI,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAE/B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,GAAG,CAAC,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;gBAEpP,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;oBACxC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBACxC;gBAEA,MAAkG,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAC1I;YAED,MAAM,UAAU,GAAG;gBACf,uBAAuB,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC;aACrE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC/C;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACnD;IACL,CAAC;IAEM,OAAO,CAAC,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjD,CAAC;IAEM,MAAM,CAAC,KAAY;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW,EAAE;gBACjC,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;aACxC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;YAErE,OAAO,SAAS,GAAG,SAAS,CAAC;QAEjC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;SACpD;IACL,CAAC;CAGJ;AAEqB,sCAAa"}