abstract-3d 2.6.19 → 2.7.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 (142) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/abstract-3d.d.ts +13 -1
  3. package/lib/abstract-3d.d.ts.map +1 -1
  4. package/lib/abstract-3d.js +77 -0
  5. package/lib/abstract-3d.js.map +1 -1
  6. package/lib/renderers/dxf/dxf-encoding/dxf-color.d.ts +5 -0
  7. package/lib/renderers/dxf/dxf-encoding/dxf-color.d.ts.map +1 -0
  8. package/lib/renderers/dxf/{color.js → dxf-encoding/dxf-color.js} +24 -19
  9. package/lib/renderers/dxf/dxf-encoding/dxf-color.js.map +1 -0
  10. package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts +13 -0
  11. package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts.map +1 -0
  12. package/lib/renderers/dxf/dxf-encoding/dxf-common.js +23 -0
  13. package/lib/renderers/dxf/dxf-encoding/dxf-common.js.map +1 -0
  14. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts +6 -0
  15. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts.map +1 -0
  16. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js +50 -0
  17. package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -0
  18. package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts +2 -0
  19. package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -0
  20. package/lib/renderers/dxf/{dxf-encoding.js → dxf-encoding/dxf-footer.js} +3 -1819
  21. package/lib/renderers/dxf/{dxf-encoding.js.map → dxf-encoding/dxf-footer.js.map} +1 -1
  22. package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts +3 -0
  23. package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -0
  24. package/lib/renderers/dxf/dxf-encoding/dxf-header.js +1653 -0
  25. package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -0
  26. package/lib/renderers/dxf/dxf-encoding/dxf-line.d.ts +5 -0
  27. package/lib/renderers/dxf/dxf-encoding/dxf-line.d.ts.map +1 -0
  28. package/lib/renderers/dxf/dxf-encoding/dxf-line.js +29 -0
  29. package/lib/renderers/dxf/dxf-encoding/dxf-line.js.map +1 -0
  30. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts +5 -0
  31. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts.map +1 -0
  32. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js +73 -0
  33. package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js.map +1 -0
  34. package/lib/renderers/dxf/dxf-encoding/dxf-quad.d.ts +5 -0
  35. package/lib/renderers/dxf/dxf-encoding/dxf-quad.d.ts.map +1 -0
  36. package/lib/renderers/dxf/dxf-encoding/dxf-quad.js +39 -0
  37. package/lib/renderers/dxf/dxf-encoding/dxf-quad.js.map +1 -0
  38. package/lib/renderers/dxf/dxf-encoding/dxf-text.d.ts +19 -0
  39. package/lib/renderers/dxf/dxf-encoding/dxf-text.d.ts.map +1 -0
  40. package/lib/renderers/dxf/dxf-encoding/dxf-text.js +70 -0
  41. package/lib/renderers/dxf/dxf-encoding/dxf-text.js.map +1 -0
  42. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts +5 -0
  43. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts.map +1 -0
  44. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.js +3 -0
  45. package/lib/renderers/dxf/dxf-encoding/dxf-triangle.js.map +1 -0
  46. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +2 -2
  47. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -1
  48. package/lib/renderers/dxf/dxf-geometries/dxf-box.js +8 -8
  49. package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
  50. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +2 -2
  51. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -1
  52. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +4 -4
  53. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
  54. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +2 -2
  55. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -1
  56. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +6 -5
  57. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
  58. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts +4 -0
  59. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -0
  60. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +13 -0
  61. package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -0
  62. package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts +2 -2
  63. package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts.map +1 -1
  64. package/lib/renderers/dxf/dxf-geometries/dxf-image.js +8 -7
  65. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
  66. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +2 -2
  67. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -1
  68. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +3 -3
  69. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
  70. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +2 -2
  71. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
  72. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +7 -6
  73. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  74. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +2 -2
  75. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
  76. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +6 -5
  77. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  78. package/lib/renderers/dxf/dxf-geometries/dxf-text.d.ts +4 -0
  79. package/lib/renderers/dxf/dxf-geometries/dxf-text.d.ts.map +1 -0
  80. package/lib/renderers/dxf/dxf-geometries/dxf-text.js +8 -0
  81. package/lib/renderers/dxf/dxf-geometries/dxf-text.js.map +1 -0
  82. package/lib/renderers/dxf/dxf.d.ts +4 -3
  83. package/lib/renderers/dxf/dxf.d.ts.map +1 -1
  84. package/lib/renderers/dxf/dxf.js +36 -22
  85. package/lib/renderers/dxf/dxf.js.map +1 -1
  86. package/lib/renderers/dxf/index.d.ts +1 -1
  87. package/lib/renderers/dxf/index.d.ts.map +1 -1
  88. package/lib/renderers/react/react-dimension.d.ts +4 -3
  89. package/lib/renderers/react/react-dimension.d.ts.map +1 -1
  90. package/lib/renderers/react/react-dimension.js +4 -3
  91. package/lib/renderers/react/react-dimension.js.map +1 -1
  92. package/lib/renderers/step/step-encoding.d.ts +2 -0
  93. package/lib/renderers/step/step-encoding.d.ts.map +1 -1
  94. package/lib/renderers/step/step-encoding.js +16 -3
  95. package/lib/renderers/step/step-encoding.js.map +1 -1
  96. package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -1
  97. package/lib/renderers/step/step-geometries/step-box.js +3 -0
  98. package/lib/renderers/step/step-geometries/step-box.js.map +1 -1
  99. package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
  100. package/lib/renderers/step/step-geometries/step-cylinder.js +67 -21
  101. package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
  102. package/lib/renderers/svg/svg.d.ts.map +1 -1
  103. package/lib/renderers/svg/svg.js +6 -27
  104. package/lib/renderers/svg/svg.js.map +1 -1
  105. package/lib/utils.d.ts +3 -0
  106. package/lib/utils.d.ts.map +1 -1
  107. package/lib/utils.js +30 -0
  108. package/lib/utils.js.map +1 -1
  109. package/package.json +2 -2
  110. package/src/abstract-3d.ts +127 -7
  111. package/src/renderers/dxf/{color.ts → dxf-encoding/dxf-color.ts} +27 -20
  112. package/src/renderers/dxf/dxf-encoding/dxf-common.ts +31 -0
  113. package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +60 -0
  114. package/src/renderers/dxf/{dxf-encoding.ts → dxf-encoding/dxf-footer.ts} +4 -1870
  115. package/src/renderers/dxf/dxf-encoding/dxf-header.ts +1657 -0
  116. package/src/renderers/dxf/dxf-encoding/dxf-line.ts +35 -0
  117. package/src/renderers/dxf/dxf-encoding/dxf-polyline.ts +83 -0
  118. package/src/renderers/dxf/dxf-encoding/dxf-quad.ts +47 -0
  119. package/src/renderers/dxf/dxf-encoding/dxf-text.ts +71 -0
  120. package/src/renderers/dxf/dxf-encoding/dxf-triangle.ts +12 -0
  121. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +18 -8
  122. package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +13 -4
  123. package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +13 -11
  124. package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +14 -0
  125. package/src/renderers/dxf/dxf-geometries/dxf-image.ts +11 -9
  126. package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +7 -6
  127. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +8 -6
  128. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +8 -6
  129. package/src/renderers/dxf/dxf-geometries/dxf-text.ts +9 -0
  130. package/src/renderers/dxf/dxf.ts +57 -39
  131. package/src/renderers/dxf/index.ts +1 -1
  132. package/src/renderers/react/react-dimension.tsx +8 -4
  133. package/src/renderers/step/step-encoding.ts +24 -5
  134. package/src/renderers/step/step-geometries/step-box.ts +6 -0
  135. package/src/renderers/step/step-geometries/step-cylinder.ts +303 -101
  136. package/src/renderers/svg/svg.ts +6 -34
  137. package/src/utils.ts +39 -0
  138. package/lib/renderers/dxf/color.d.ts +0 -7
  139. package/lib/renderers/dxf/color.d.ts.map +0 -1
  140. package/lib/renderers/dxf/color.js.map +0 -1
  141. package/lib/renderers/dxf/dxf-encoding.d.ts +0 -17
  142. package/lib/renderers/dxf/dxf-encoding.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## v2.7.0
6
+
7
+ - Added support for aligned dimensions for native dimension support in DXF
8
+
5
9
  ## v2.4.0
6
10
 
7
11
  - Added support for tooltips.
@@ -13,12 +13,20 @@ export type Dimensions = {
13
13
  readonly dimensions: ReadonlyArray<Dimension>;
14
14
  readonly material: Material;
15
15
  };
16
- export type Dimension = {
16
+ export type Dimension = DimensionMesh | DimensionAligned;
17
+ export type DimensionMesh = {
17
18
  readonly views: ReadonlyArray<View>;
18
19
  readonly pos: Vec3;
19
20
  readonly rot: Vec3;
20
21
  readonly meshes: ReadonlyArray<Mesh>;
21
22
  };
23
+ export type DimensionAligned = {
24
+ readonly measurementStart: Vec3;
25
+ readonly measurementEnd: Vec3;
26
+ readonly linePosition: Vec3;
27
+ readonly text?: string;
28
+ readonly views?: ReadonlyArray<View>;
29
+ };
22
30
  export type DimensionBounds = {
23
31
  readonly front: Bounds2;
24
32
  readonly back: Bounds2;
@@ -339,6 +347,10 @@ export declare const text: (pos: Vec3, text: string, fontSize: number, material:
339
347
  export declare const tube: (curve: Curve, radius: number, material: Material, pos?: Vec3, rot?: Vec3) => Mesh;
340
348
  export declare const circleCurve: (radius: number, angleStart: number, angleLength: number) => CircleCurve;
341
349
  export declare const splineCurve: (points: ReadonlyArray<Vec3>) => SplineCurve;
350
+ export declare const alignedDimension: (measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, views?: ReadonlyArray<View>) => DimensionAligned;
351
+ export declare function dimensionIsOfTypeAligned(dimension: Dimension): dimension is DimensionAligned;
352
+ export declare function dimensionIsOfTypeMesh(dimension: Dimension): dimension is DimensionMesh;
353
+ export declare function dimensionConvertToTypeMesh(dimension: Dimension, _sceneRotation: Vec3, material?: Material): DimensionMesh;
342
354
  export declare function sizeBoundsForCameraPos(size: Vec3, center: Vec3, rotation: Vec3): readonly [Vec3, Bounds3];
343
355
  export declare function rotationForCameraPos(view: View): Vec3;
344
356
  //# sourceMappingURL=abstract-3d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-3d.d.ts","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-3d.d.ts","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
@@ -515,6 +515,83 @@ export const circleCurve = (radius, angleStart, angleLength) => ({
515
515
  angleStart,
516
516
  });
517
517
  export const splineCurve = (points) => ({ type: "SplineCurve", points });
518
+ export const alignedDimension = (measurementStart, measurementEnd, linePosition, text, views) => ({
519
+ measurementStart,
520
+ measurementEnd,
521
+ linePosition,
522
+ text,
523
+ views
524
+ });
525
+ export function dimensionIsOfTypeAligned(dimension) {
526
+ return "measurementStart" in dimension;
527
+ }
528
+ export function dimensionIsOfTypeMesh(dimension) {
529
+ return "meshes" in dimension;
530
+ }
531
+ export function dimensionConvertToTypeMesh(dimension, _sceneRotation, material = { normal: "rgb(0, 0, 0)", opacity: 1.0, roughness: 1.0, metalness: 0.0 }) {
532
+ if (dimensionIsOfTypeMesh(dimension)) {
533
+ return dimension;
534
+ }
535
+ const meshes = [];
536
+ const fontGlyphWidthRatio = 0.4815;
537
+ const textSize = 44;
538
+ const textOffset = 8;
539
+ const textThreshold = textOffset + textSize * fontGlyphWidthRatio * 10;
540
+ const lineThickness = 0.5;
541
+ const arrowLength = 40;
542
+ const arrowHalfBase = 10;
543
+ //const view = (dimension.views !== undefined ? dimension.views[0] : "front") ?? "front";
544
+ const lp = dimension.linePosition;
545
+ const ms = dimension.measurementStart;
546
+ const me = dimension.measurementEnd;
547
+ const measurementLength = vec3Length(vec3Sub(me, ms));
548
+ const measurement = dimension.text ?? measurementLength.toFixed(1).replace(/[.,]0$/, "");
549
+ const measurementRows = measurement.split("\n");
550
+ const textHeight = measurementRows.length * textSize;
551
+ //calculate the line positions
552
+ const direction = vec3Normalize(vec3Sub(me, ms));
553
+ const msToLp = vec3Sub(lp, ms);
554
+ const along = vec3Scale(direction, vec3Dot(msToLp, direction));
555
+ const projected = vec3Add(ms, along);
556
+ const offset = vec3Sub(lp, projected);
557
+ const ls = vec3Add(ms, offset);
558
+ const le = vec3Add(me, offset);
559
+ const linesDiff = vec3Sub(ls, ms);
560
+ const dirBetweenLines = vec3Normalize(linesDiff);
561
+ const measurementWidth = vec3Length(linesDiff);
562
+ const displacedDistance = measurementWidth - (textHeight / 2);
563
+ const offsetDisplaced = vec3Scale(offset, displacedDistance / measurementWidth);
564
+ const lsDisplaced = vec3Add(ms, offsetDisplaced);
565
+ const leDisplaced = vec3Add(me, offsetDisplaced);
566
+ const lcDisplaced = vec3Scale(vec3Add(lsDisplaced, leDisplaced), 0.5);
567
+ meshes.push(line(ms, ls, lineThickness, material));
568
+ meshes.push(line(me, le, lineThickness, material));
569
+ meshes.push(text(lcDisplaced, measurement, textSize, material, vec3(0, 0, Math.atan2(direction.y, direction.x))));
570
+ if (measurementLength > textThreshold) {
571
+ const textWidth = Math.max(...measurementRows.map((t) => t.length)) * (textSize * fontGlyphWidthRatio);
572
+ const lineDir = vec3Normalize(vec3Sub(leDisplaced, lsDisplaced));
573
+ const halfTextWidth = textOffset + textWidth * 0.5;
574
+ const leftEnd = vec3Sub(lcDisplaced, vec3Scale(lineDir, halfTextWidth));
575
+ const rightStart = vec3Add(lcDisplaced, vec3Scale(lineDir, halfTextWidth));
576
+ meshes.push(line(lsDisplaced, leftEnd, lineThickness, material));
577
+ meshes.push(line(rightStart, leDisplaced, lineThickness, material));
578
+ //arrows
579
+ const arrowBaseStart = vec3Add(lsDisplaced, vec3Scale(lineDir, arrowLength));
580
+ const arrowBaseEnd = vec3Add(leDisplaced, vec3Scale(lineDir, -arrowLength));
581
+ const arrowBaseStart1 = vec3Add(arrowBaseStart, vec3Scale(dirBetweenLines, arrowHalfBase));
582
+ const arrowBaseStart2 = vec3Add(arrowBaseStart, vec3Scale(dirBetweenLines, -arrowHalfBase));
583
+ const arrowBaseEnd1 = vec3Add(arrowBaseEnd, vec3Scale(dirBetweenLines, arrowHalfBase));
584
+ const arrowBaseEnd2 = vec3Add(arrowBaseEnd, vec3Scale(dirBetweenLines, -arrowHalfBase));
585
+ meshes.push(polygon([lsDisplaced, arrowBaseStart2, arrowBaseStart1], material));
586
+ meshes.push(polygon([leDisplaced, arrowBaseEnd1, arrowBaseEnd2], material));
587
+ }
588
+ return {
589
+ meshes,
590
+ pos: vec3Zero,
591
+ rot: vec3Zero,
592
+ views: dimension.views ?? ["front"],
593
+ };
594
+ }
518
595
  // -- Camera
519
596
  export function sizeBoundsForCameraPos(size, center, rotation) {
520
597
  if (isZero(rotation.x) && isZero(rotation.y) && isZero(rotation.z)) {
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-3d.js","sourceRoot":"","sources":["../src/abstract-3d.ts"],"names":[],"mappings":"AAkPA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAclF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAO,EAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1G,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAE,CAAO,EAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAO,EAAE,CAAO,EAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAsB,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC1G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAsB,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC1G,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAsB,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAE1G,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CACpD,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAU,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,CAAO,EAAQ,EAAE,CAClD,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACnF,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC;AACrC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AAClG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC;AAC5G,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAC/G,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC;AAC5G,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE5G,YAAY;AAEZ,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE,GAAS,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAS,EAAE,GAAS,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,UAAU,GAAW,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,MAAM,CAAC,MAAM,WAAW,GAAY,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,WAAW,GAAY,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAe,EAAE,MAAY,EAAW,EAAE,CACrE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAQ,EAAE,CACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACvF,CAAC,CACC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CACjC,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACrF,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACpF,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACxF,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACxF,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,SAAS,GAAG,SAAS,EAAW,EAAE,CACxF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC;IAChC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAQ,EAAE,CACrD,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAQ,EAAE,CACrD,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEhH,MAAM,UAAU,qBAAqB,CAAC,GAAS,EAAE,IAAU;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAS,EAAE,IAAU;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,MAA8B,EAAW,EAAE;IACzE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAC;IACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAC;IACpE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,MAA8B,EAAW,EAAE;IACzE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAwC,CAAC;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAwC,CAAC;IAC/E,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,SAA8B;IACjE,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAA8B;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAwC,CAAC;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAwC,CAAC;IAC/E,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;YAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,SAAe,EAAE,SAAe;IACxE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC3C,QAAQ,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrD,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,CAAC;YACD;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,SAAe,EAAE,SAAe;IACtE,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAQ,EAAE,SAAe,EAAE,SAAe;IACpE,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,SAAe,EAAE,SAAe;IAChE,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAW,EAAE,SAAe,EAAE,SAAe;IAC1E,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAO,EAAE,SAAe,EAAE,SAAe;IAClE,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAO,EAAE,SAAe,EAAE,SAAe;IAClE,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC9C,OAAO,WAAW,CAChB;QACE,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;QACzB,GAAG,EAAE,CAAC,CAAC,GAAG;KACX,EACD,SAAS,EACT,SAAS,CACV,CAAC;AACJ,CAAC;AAED,qBAAqB;AAErB,MAAM,UAAU,cAAc,CAAC,KAAW,EAAE,KAAW;IACrD,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAc;IAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhC,sBAAsB;IACtB,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAEvC,sBAAsB;IACtB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAExC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CACT,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EACrB,EAAE,EACF,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CACtB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CACT,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EACpB,EAAE,EACF,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAW,EAAE,MAAY,EAAE,QAAc;IAC/D,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAC3B,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EACvB,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,IAAI,CACT,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,EAC3C,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,EAC3C,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAO,EAAE,GAAS,EAAE,GAAS,EAAQ,EAAE;IAClE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAC5B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAC5B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAC5B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,IAAI,CACT,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EACzC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,EACzC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,MAAM,CAAyD,CAAI,EAAE,MAAY,EAAE,GAAS;IAC1G,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC;AACjG,CAAC;AACD,MAAM,UAAU,QAAQ,CAAyD,CAAI,EAAE,SAAe;IACpG,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;AAClD,CAAC;AACD,MAAM,UAAU,WAAW,CACzB,CAAI,EACJ,MAAY,EACZ,GAAS;IAET,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,MAAY,EAAE,GAAS;IAC/D,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAO,EAAE,MAAY,EAAE,GAAS,EAAQ,EAAE,CAAC,CAAC;IAClE,GAAG,CAAC;IACJ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;IACpC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAE,WAAiB,EAAQ,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC;IACJ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC;IACpC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAO,EAAE,MAAY,EAAE,GAAS,EAAQ,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC;IACJ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;IACzC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAU,EAAE,MAAY,EAAE,GAAS,EAAW,EAAE,CAAC,CAAC;IAC3E,GAAG,CAAC;IACJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAU,EAAE,WAAiB,EAAW,EAAE,CAAC,CAAC;IACvE,GAAG,CAAC;IACJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAU,EAAE,MAAY,EAAE,GAAS,EAAW,EAAE,CAAC,CAAC;IAChF,GAAG,CAAC;IACJ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;CAC1D,CAAC,CAAC;AAEH,kBAAkB;AAElB,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAA2B,EAC3B,GAAG,GAAG,QAAQ,EACd,GAAG,GAAG,QAAQ,EACd,SAA+B,KAAK,EAAS,EAC7C,IAAI,GAAG,EAAE,EACT,YAAmC,SAAS,EACrC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAU,EAAE,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,QAAkB,EAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAU,EACV,MAAY,QAAQ,EACpB,GAAG,GAAG,QAAQ,EACd,QAA6B,EAAE,EAC1B,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,KAAK;IACX,GAAG;IACH,GAAG;IACH,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,IAAU,EACV,QAAkB,EAClB,MAAY,QAAQ,EACpB,GAAG,GAAG,QAAQ,EACd,QAA6B,EAAE,EACtB,EAAE,CAAC,CAAC;IACb,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IAChD,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAU,EACV,QAAkB,EAClB,KAAyB,EACzB,MAAY,QAAQ,EACpB,MAAY,QAAQ,EACd,EAAE,CAAC,CAAC;IACV,QAAQ;IACR,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO;QACb,KAAK;QACL,GAAG;QACH,IAAI;QACJ,GAAG;KACJ;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAS,EAAE,MAAc,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAS,EAAE,IAAU,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,GAAS,EACT,IAAU,EACV,QAAkB,EAClB,GAAG,GAAG,QAAQ,EACd,QAA6B,EAAE,EACpB,EAAE,CAAC,CAAC;IACf,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;IAClD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE,MAAc,EAAE,MAAc,EAAE,QAAkB,EAAE,GAAG,GAAG,QAAQ,EAAY,EAAE,CAAC,CAAC;IAChH,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACpD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,GAAS,EACT,MAAc,EACd,MAAc,EACd,QAAkB,EAClB,GAAG,GAAG,QAAQ,EACd,IAAI,GAAG,KAAK,EACZ,QAA6B,EAAE,EAC/B,UAAmB,EACnB,WAAoB,EACN,EAAE,CAAC,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,GAAG;QACH,MAAM;QACN,MAAM;QACN,GAAG;QACH,KAAK;QACL,IAAI;QACJ,UAAU,EAAE,UAAU,IAAI,CAAC;QAC3B,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;KACxC;IACD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,QAAkB,EAAE,GAAG,GAAG,QAAQ,EAAc,EAAE,CAAC,CAAC;IACzF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE;IACzC,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAA2B,EAC3B,GAAS,EACT,QAAkB,EAClB,SAAS,GAAG,CAAC,EACb,GAAG,GAAG,QAAQ,EACd,QAA6B,EAAE,EACpB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA2B,EAC3B,QAAkB,EAClB,GAAG,GAAG,QAAQ,EACd,GAAG,GAAG,QAAQ,EACD,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;IAC/C,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,QAAkB,EAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,GAAS,EAAE,SAAiB,EAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;AACtH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAW,EAAE,GAAS,EAAE,SAAiB,EAAE,QAAkB,EAAY,EAAE,CAAC,CAAC;IAChG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;IACjD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAS,EAAE,IAAY,EAAE,QAAgB,EAAE,QAAkB,EAAE,GAAG,GAAG,QAAQ,EAAY,EAAE,CAAC,CAAC;IAChH,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;IACpD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAY,EAAE,MAAc,EAAE,QAAkB,EAAE,MAAY,QAAQ,EAAE,GAAG,GAAG,QAAQ,EAAQ,EAAE,CAAC,CAAC;IACrH,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE;IACnD,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,WAAmB,EAAe,EAAE,CAAC,CAAC;IACpG,IAAI,EAAE,aAAa;IACnB,MAAM;IACN,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,gBAAsB,EACtB,cAAoB,EACpB,YAAkB,EAClB,IAAY,EACZ,KAA2B,EACT,EAAE,CAAC,CAAC;IACtB,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,IAAI;IACJ,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,SAAoB;IAC3D,OAAO,kBAAkB,IAAI,SAAS,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAoB;IACxD,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAAoB,EAAE,cAAoB,EAAE,WAAqB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE;IAClL,IAAG,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,mBAAmB,GAAG,MAAM,CAAC;IACnC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,mBAAmB,GAAG,EAAE,CAAC;IACvE,MAAM,aAAa,GAAG,GAAG,CAAC;IAC1B,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,yFAAyF;IAEzF,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC;IAClC,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACtC,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC;IACpC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC;IAErD,8BAA8B;IAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;IAEtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElH,IAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,CAAC,CAAC;QACvG,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACjE,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,GAAG,CAAC;QACnD,MAAM,OAAO,GAAG,OAAO,CACrB,WAAW,EACX,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAClC,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CACxB,WAAW,EACX,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAClC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEpE,QAAQ;QACR,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;QAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO;QACL,MAAM;QACN,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,YAAY;AAEZ,MAAM,UAAU,sBAAsB,CAAC,IAAU,EAAE,MAAY,EAAE,QAAc;IAC7E,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,QAAQ;QACR,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type DxfDynamicColor = 7;
2
+ export type DxfColor = DxfDynamicColor | string;
3
+ export declare function dxfColor(color: DxfColor): string;
4
+ export declare function dxfApproximateAciFromRealColor(colorNormal: string | undefined): number;
5
+ //# sourceMappingURL=dxf-color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-color.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-color.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC;AAChC,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,MAAM,CAAC;AAEhD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAOhD;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAqBtF"}
@@ -1,26 +1,23 @@
1
- import { vec3, vec3DistSquared } from "../../abstract-3d.js";
2
- export function colorToInteger(color) {
3
- const originalColor = colorNormalToVec3Color(color);
4
- const colorAsInt = (originalColor.x << 16) + (originalColor.y << 8) + originalColor.z;
5
- if (Number.isNaN(colorAsInt)) {
6
- return 0;
7
- }
8
- return colorAsInt;
9
- }
10
- export function colorHexFromAbstractImageColor(color) {
11
- return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;
1
+ import { vec3, vec3DistSquared } from "../../../abstract-3d.js";
2
+ export function dxfColor(color) {
3
+ return typeof color === "number"
4
+ ? `62\n7`
5
+ : `62
6
+ 256
7
+ 420
8
+ ${dxfBitShiftColor(color)}`;
12
9
  }
13
- export function color(colorNormal) {
10
+ export function dxfApproximateAciFromRealColor(colorNormal) {
14
11
  const ERROR_COLOR = 6; //magenta
15
12
  const ACI_COLOR_COUNT = 256;
16
- if (ACI_COLOR_TABLE.length !== ACI_COLOR_COUNT || colorNormal === undefined) {
13
+ if (DXF_ACI_COLOR_TABLE.length !== ACI_COLOR_COUNT || colorNormal === undefined) {
17
14
  return ERROR_COLOR; //magenta
18
15
  }
19
16
  const originalColor = colorNormalToVec3Color(colorNormal);
20
17
  let closestColor = 0;
21
18
  let smallestDistance = Number.POSITIVE_INFINITY;
22
19
  for (let i = 0; i < ACI_COLOR_COUNT; i++) {
23
- const color = ACI_COLOR_TABLE[i];
20
+ const color = DXF_ACI_COLOR_TABLE[i];
24
21
  if (color !== undefined) {
25
22
  const distance = vec3DistSquared(originalColor, color);
26
23
  if (distance < smallestDistance) {
@@ -42,15 +39,23 @@ function colorNormalToVec3Color(colorNormal) {
42
39
  if (values.length < 3) {
43
40
  return errorColor;
44
41
  }
45
- const r = parseInt(values[0], 10);
46
- const g = parseInt(values[1], 10);
47
- const b = parseInt(values[2], 10);
42
+ const r = parseInt(values[0] ?? "", 10);
43
+ const g = parseInt(values[1] ?? "", 10);
44
+ const b = parseInt(values[2] ?? "", 10);
48
45
  if (Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
49
46
  return errorColor;
50
47
  }
51
48
  return vec3(r % 256, g % 256, b % 256);
52
49
  }
53
- export const ACI_COLOR_TABLE = [
50
+ function dxfBitShiftColor(color) {
51
+ const originalColor = colorNormalToVec3Color(color);
52
+ const colorAsInt = (originalColor.x << 16) + (originalColor.y << 8) + originalColor.z;
53
+ if (Number.isNaN(colorAsInt)) {
54
+ return 0;
55
+ }
56
+ return colorAsInt;
57
+ }
58
+ const DXF_ACI_COLOR_TABLE = [
54
59
  vec3(0, 0, 0),
55
60
  vec3(255, 0, 0),
56
61
  vec3(255, 255, 0),
@@ -308,4 +313,4 @@ export const ACI_COLOR_TABLE = [
308
313
  vec3(0, 0, 0),
309
314
  vec3(0, 0, 0)
310
315
  ];
311
- //# sourceMappingURL=color.js.map
316
+ //# sourceMappingURL=dxf-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-color.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,IAAI,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAK3E,MAAM,UAAU,QAAQ,CAAC,KAAe;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC5B,CAAC,CAAC,OAAO;QACT,CAAC,CAAC;;;IAGJ,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,WAA+B;IAC1E,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS;IAChC,MAAM,eAAe,GAAG,GAAG,CAAC;IAC5B,IAAG,mBAAmB,CAAC,MAAM,KAAK,eAAe,IAAK,WAAW,KAAK,SAAS,EAAE,CAAC;QAChF,OAAO,WAAW,CAAC,CAAC,UAAU;IAChC,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAChD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACrC,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACvD,IAAG,QAAQ,GAAG,gBAAgB,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,QAAQ,CAAC;gBAC5B,YAAY,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;IACzD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,IAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,IAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IACtF,IAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,mBAAmB,GAAwB;IAC/C,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Bounds3, Vec3 } from "../../../abstract-3d.js";
2
+ export declare const DEFAULT_CIRCLE_SIDE_COUNT = 16;
3
+ export declare const DXF_DEFAULT_HANDLE = 4096;
4
+ export declare const DXF_MODEL_SPACE_HANDLE = "1D";
5
+ export type DxfOrigin = "BottomLeftFront" | "Center" | "SameAsScene";
6
+ export type Handle = {
7
+ handle: number;
8
+ };
9
+ export declare function dxfHandleInit(): Handle;
10
+ export declare function dxfHandleNext(handleRef: Handle): string;
11
+ export declare function dxfRound(n: number): number;
12
+ export declare function dxfBuild(groups: string, dimensions: string, bounds: Bounds3, size: Vec3, center: Vec3): string;
13
+ //# sourceMappingURL=dxf-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-common.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAI7D,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,kBAAkB,OAAS,CAAC;AACzC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,aAAa,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG1C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAG9G"}
@@ -0,0 +1,23 @@
1
+ import { generateUUID } from "three/src/math/MathUtils.js";
2
+ import { dxfEncFooter } from "./dxf-footer.js";
3
+ import { dxfEncHeader } from "./dxf-header.js";
4
+ export const DEFAULT_CIRCLE_SIDE_COUNT = 16;
5
+ export const DXF_DEFAULT_HANDLE = 0x1000;
6
+ export const DXF_MODEL_SPACE_HANDLE = "1D";
7
+ export function dxfHandleInit() {
8
+ return {
9
+ handle: DXF_DEFAULT_HANDLE,
10
+ };
11
+ }
12
+ export function dxfHandleNext(handleRef) {
13
+ return (++handleRef.handle).toString(16).toUpperCase();
14
+ }
15
+ export function dxfRound(n) {
16
+ const d = 3;
17
+ return Math.round((n + Number.EPSILON) * 10 ** d) / 10 ** d;
18
+ }
19
+ export function dxfBuild(groups, dimensions, bounds, size, center) {
20
+ const id = generateUUID();
21
+ return dxfEncHeader(bounds, center, id, size) + groups + dimensions + dxfEncFooter(id);
22
+ }
23
+ //# sourceMappingURL=dxf-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-common.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAK3C,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,MAAM,EAAE,kBAAkB;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,MAAM,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAkB,EAAE,MAAe,EAAE,IAAU,EAAE,MAAY;IACpG,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Vec3 } from "../../../abstract-3d.js";
2
+ import { type DxfColor } from "./dxf-color.js";
3
+ import { type Handle } from "./dxf-common.js";
4
+ export declare function dxfEncDimension(measurementStart: Vec3, measurementEnd: Vec3, linePosition: Vec3, text: string, col: DxfColor, handleRef: Handle): string;
5
+ export declare function encodeDxfFormattedText(text: string): string;
6
+ //# sourceMappingURL=dxf-dimension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxf-dimension.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-encoding/dxf-dimension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAmD,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE/F,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,IAAI,EACtB,cAAc,EAAE,IAAI,EACpB,YAAY,EAAE,IAAI,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CA4CR;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}