@constructorfleet/sketchforge-engine 1.26.0 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cadAnalysis.d.ts +94 -0
- package/dist/cadAnalysis.d.ts.map +1 -0
- package/dist/cadAnalysis.js +157 -0
- package/dist/cadAnalysis.js.map +1 -0
- package/dist/cadBakeMetadata.d.ts +11 -2
- package/dist/cadBakeMetadata.d.ts.map +1 -1
- package/dist/cadBakeMetadata.js +9 -0
- package/dist/cadBakeMetadata.js.map +1 -1
- package/dist/cadProjection.d.ts.map +1 -1
- package/dist/cadProjection.js.map +1 -1
- package/dist/cadSection.d.ts.map +1 -1
- package/dist/cadShell.d.ts +143 -0
- package/dist/cadShell.d.ts.map +1 -0
- package/dist/cadShell.js +313 -0
- package/dist/cadShell.js.map +1 -0
- package/dist/cadSolids.d.ts.map +1 -1
- package/dist/cadSolids.js +18 -1
- package/dist/cadSolids.js.map +1 -1
- package/dist/cutBrepFrameMigration.d.ts +46 -0
- package/dist/cutBrepFrameMigration.d.ts.map +1 -0
- package/dist/cutBrepFrameMigration.js +105 -0
- package/dist/cutBrepFrameMigration.js.map +1 -0
- package/dist/cutterPadding.d.ts.map +1 -1
- package/dist/domain/cameraProjection.js.map +1 -1
- package/dist/domain/sketchforge.d.ts +31 -1
- package/dist/domain/sketchforge.d.ts.map +1 -1
- package/dist/editorHistory.d.ts.map +1 -1
- package/dist/editorHistory.js.map +1 -1
- package/dist/engine.d.ts +3 -3
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +156 -78
- package/dist/engine.js.map +1 -1
- package/dist/exactBooleanParts.d.ts +4 -2
- package/dist/exactBooleanParts.d.ts.map +1 -1
- package/dist/exactBooleanParts.js +7 -3
- package/dist/exactBooleanParts.js.map +1 -1
- package/dist/exactBooleanSolids.d.ts.map +1 -1
- package/dist/gearProfile.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loftProfile.d.ts +1 -1
- package/dist/loftProfile.d.ts.map +1 -1
- package/dist/loftProfile.js.map +1 -1
- package/dist/meshEdgeProjection.d.ts +104 -0
- package/dist/meshEdgeProjection.d.ts.map +1 -0
- package/dist/meshEdgeProjection.js +439 -0
- package/dist/meshEdgeProjection.js.map +1 -0
- package/dist/meshImport.d.ts.map +1 -1
- package/dist/meshImport.js +2 -20
- package/dist/meshImport.js.map +1 -1
- package/dist/meshMassProperties.d.ts +92 -0
- package/dist/meshMassProperties.d.ts.map +1 -0
- package/dist/meshMassProperties.js +570 -0
- package/dist/meshMassProperties.js.map +1 -0
- package/dist/meshSection.d.ts +44 -0
- package/dist/meshSection.d.ts.map +1 -0
- package/dist/meshSection.js +154 -0
- package/dist/meshSection.js.map +1 -0
- package/dist/meshShellOverlap.d.ts +75 -0
- package/dist/meshShellOverlap.d.ts.map +1 -0
- package/dist/meshShellOverlap.js +797 -0
- package/dist/meshShellOverlap.js.map +1 -0
- package/dist/meshShellSolids.d.ts +44 -0
- package/dist/meshShellSolids.d.ts.map +1 -0
- package/dist/meshShellSolids.js +116 -0
- package/dist/meshShellSolids.js.map +1 -0
- package/dist/nodeSvgDomParser.d.ts +3 -0
- package/dist/nodeSvgDomParser.d.ts.map +1 -0
- package/dist/nodeSvgDomParser.js +53 -0
- package/dist/nodeSvgDomParser.js.map +1 -0
- package/dist/parametricRecompute.d.ts.map +1 -1
- package/dist/parametricRecompute.js +63 -10
- package/dist/parametricRecompute.js.map +1 -1
- package/dist/placementWorkplane.d.ts.map +1 -1
- package/dist/placementWorkplane.js.map +1 -1
- package/dist/projectAssets.d.ts +1 -1
- package/dist/projectStore.d.ts +1 -1
- package/dist/projectStore.d.ts.map +1 -1
- package/dist/projectStore.js +23 -2
- package/dist/projectStore.js.map +1 -1
- package/dist/revolveRequests.d.ts +57 -1
- package/dist/revolveRequests.d.ts.map +1 -1
- package/dist/revolveRequests.js +103 -4
- package/dist/revolveRequests.js.map +1 -1
- package/dist/sceneExport.d.ts +6 -0
- package/dist/sceneExport.d.ts.map +1 -1
- package/dist/sceneExport.js +6 -2
- package/dist/sceneExport.js.map +1 -1
- package/dist/serverCadInterference.d.ts +8 -45
- package/dist/serverCadInterference.d.ts.map +1 -1
- package/dist/serverCadInterference.js +21 -43
- package/dist/serverCadInterference.js.map +1 -1
- package/dist/serverCadOperations.d.ts +73 -4
- package/dist/serverCadOperations.d.ts.map +1 -1
- package/dist/serverCadOperations.js +356 -71
- package/dist/serverCadOperations.js.map +1 -1
- package/dist/serverCadProjection.d.ts +14 -1
- package/dist/serverCadProjection.d.ts.map +1 -1
- package/dist/serverCadProjection.js +135 -13
- package/dist/serverCadProjection.js.map +1 -1
- package/dist/serverCadProperties.d.ts +14 -7
- package/dist/serverCadProperties.d.ts.map +1 -1
- package/dist/serverCadProperties.js +60 -24
- package/dist/serverCadProperties.js.map +1 -1
- package/dist/serverCadSection.d.ts +21 -1
- package/dist/serverCadSection.d.ts.map +1 -1
- package/dist/serverCadSection.js +157 -43
- package/dist/serverCadSection.js.map +1 -1
- package/dist/serverCadShell.d.ts +7 -94
- package/dist/serverCadShell.d.ts.map +1 -1
- package/dist/serverCadShell.js +25 -272
- package/dist/serverCadShell.js.map +1 -1
- package/dist/serverCadThickness.d.ts +8 -8
- package/dist/serverCadThickness.d.ts.map +1 -1
- package/dist/serverCadThickness.js +15 -42
- package/dist/serverCadThickness.js.map +1 -1
- package/dist/serverShapeBooleans.d.ts +75 -0
- package/dist/serverShapeBooleans.d.ts.map +1 -1
- package/dist/serverShapeBooleans.js +251 -9
- package/dist/serverShapeBooleans.js.map +1 -1
- package/dist/serverShapeGroups.js.map +1 -1
- package/dist/serverStepExplode.d.ts +1 -2
- package/dist/serverStepExplode.d.ts.map +1 -1
- package/dist/serverStepExplode.js +15 -148
- package/dist/serverStepExplode.js.map +1 -1
- package/dist/shapeBounds.d.ts.map +1 -1
- package/dist/shapeCatalog.d.ts.map +1 -1
- package/dist/shapeCatalog.js +1 -0
- package/dist/shapeCatalog.js.map +1 -1
- package/dist/shapeRequests.d.ts +13 -0
- package/dist/shapeRequests.d.ts.map +1 -1
- package/dist/shapeRequests.js +14 -0
- package/dist/shapeRequests.js.map +1 -1
- package/dist/sketchCadProfile.d.ts +13 -0
- package/dist/sketchCadProfile.d.ts.map +1 -1
- package/dist/sketchCadProfile.js +108 -0
- package/dist/sketchCadProfile.js.map +1 -1
- package/dist/sketchCadSweep.js.map +1 -1
- package/dist/sketchEdgeSegmentLineage.d.ts +32 -0
- package/dist/sketchEdgeSegmentLineage.d.ts.map +1 -0
- package/dist/sketchEdgeSegmentLineage.js +49 -0
- package/dist/sketchEdgeSegmentLineage.js.map +1 -0
- package/dist/sketchEdgeSegmentLineageKernel.d.ts +83 -0
- package/dist/sketchEdgeSegmentLineageKernel.d.ts.map +1 -0
- package/dist/sketchEdgeSegmentLineageKernel.js +125 -0
- package/dist/sketchEdgeSegmentLineageKernel.js.map +1 -0
- package/dist/sketchFaceDraftKernel.d.ts +16 -9
- package/dist/sketchFaceDraftKernel.d.ts.map +1 -1
- package/dist/sketchFaceDraftKernel.js +19 -11
- package/dist/sketchFaceDraftKernel.js.map +1 -1
- package/dist/sketchRevolve.d.ts +13 -0
- package/dist/sketchRevolve.d.ts.map +1 -1
- package/dist/sketchRevolve.js +4 -1
- package/dist/sketchRevolve.js.map +1 -1
- package/dist/skfProject.d.ts +1 -1
- package/dist/skfProject.d.ts.map +1 -1
- package/dist/skfProject.js +63 -4
- package/dist/skfProject.js.map +1 -1
- package/dist/sphereTessellation.d.ts.map +1 -1
- package/dist/stepAssemblyExplode.d.ts +45 -0
- package/dist/stepAssemblyExplode.d.ts.map +1 -0
- package/dist/stepAssemblyExplode.js +195 -0
- package/dist/stepAssemblyExplode.js.map +1 -0
- package/dist/stepAssemblyHierarchy.js.map +1 -1
- package/dist/stepComponentMetadata.d.ts +1 -1
- package/dist/stepComponentMetadata.d.ts.map +1 -1
- package/dist/stepComponentMetadata.js +93 -39
- package/dist/stepComponentMetadata.js.map +1 -1
- package/dist/stepExport.d.ts +14 -1
- package/dist/stepExport.d.ts.map +1 -1
- package/dist/stepExport.js +81 -32
- package/dist/stepExport.js.map +1 -1
- package/dist/stepImportCommon.d.ts +4 -1
- package/dist/stepImportCommon.d.ts.map +1 -1
- package/dist/stepImportCommon.js +7 -6
- package/dist/stepImportCommon.js.map +1 -1
- package/dist/stlImport.js.map +1 -1
- package/dist/support/cadModifierTypes.d.ts +100 -1
- package/dist/support/cadModifierTypes.d.ts.map +1 -1
- package/dist/support/i18n/LocalizedError.d.ts.map +1 -1
- package/dist/support/i18n/locales/en/messages.json +42 -2
- package/dist/support/i18n/locales.d.ts.map +1 -1
- package/dist/support/lib/appTheme.d.ts.map +1 -1
- package/dist/support/lib/materialPresets.js.map +1 -1
- package/dist/support/lib/measurementUnits.d.ts.map +1 -1
- package/dist/support/lib/operator-configuration.json +13 -1
- package/dist/support/lib/operatorConfiguration.d.ts +5 -5
- package/dist/support/lib/workplaneGrid.js.map +1 -1
- package/dist/svgImport.d.ts +2 -0
- package/dist/svgImport.d.ts.map +1 -1
- package/dist/svgImport.js +7 -0
- package/dist/svgImport.js.map +1 -1
- package/dist/threadCatalog.js.map +1 -1
- package/dist/workplaneSettings.js.map +1 -1
- package/dist/workplaneShapes.d.ts +2 -2
- package/dist/workplaneShapes.d.ts.map +1 -1
- package/dist/workplaneShapes.js.map +1 -1
- package/package.json +7 -6
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selected-edge identity by sketch lineage (#350), on a solid the caller gives.
|
|
3
|
+
*
|
|
4
|
+
* The matcher behind `sketchEdgeSegmentLineage`, without the server kernel, so
|
|
5
|
+
* the editor's CAD worker can run the same test the REST path does (#540).
|
|
6
|
+
* Browser-safe: it imports nothing that loads a kernel of its own.
|
|
7
|
+
*
|
|
8
|
+
* A cap edge of a straight, single-region sketch extrusion is named by the
|
|
9
|
+
* sketch segment swept to make it and the cap (bottom or top) it lies on,
|
|
10
|
+
* judged by the endpoint test the face-draft lineage uses
|
|
11
|
+
* (`sketchFaceDraftKernel`); `missing` or `ambiguous` is answered rather than
|
|
12
|
+
* a guess.
|
|
13
|
+
*/
|
|
14
|
+
import type { OcctKernel, ShapeHandle, Vec3 } from "occt-wasm";
|
|
15
|
+
import type { EdgeTreatmentSourceEdge, SketchProfile, WorkplaneShape } from "./domain/sketchforge.js";
|
|
16
|
+
import { type BoundaryEdge, type SegmentEndpoints } from "./sketchFaceDraftKernel.js";
|
|
17
|
+
export type SketchSourceEdgeMatch = {
|
|
18
|
+
status: "matched";
|
|
19
|
+
segmentId: string;
|
|
20
|
+
cap: EdgeTreatmentSourceEdge["cap"];
|
|
21
|
+
} | {
|
|
22
|
+
status: "missing" | "ambiguous";
|
|
23
|
+
};
|
|
24
|
+
export type SketchSourceEdgesResult = {
|
|
25
|
+
status: "matched";
|
|
26
|
+
sourceEdges: EdgeTreatmentSourceEdge[];
|
|
27
|
+
} | {
|
|
28
|
+
status: "unsupported";
|
|
29
|
+
} | {
|
|
30
|
+
status: "missing" | "ambiguous";
|
|
31
|
+
index: number;
|
|
32
|
+
};
|
|
33
|
+
export type SketchEdgeIndexesResult = {
|
|
34
|
+
status: "matched";
|
|
35
|
+
edges: number[];
|
|
36
|
+
} | {
|
|
37
|
+
status: "unsupported";
|
|
38
|
+
} | {
|
|
39
|
+
status: "missing" | "ambiguous";
|
|
40
|
+
sourceEdge: EdgeTreatmentSourceEdge;
|
|
41
|
+
};
|
|
42
|
+
/** Every edge of a lineage-eligible solid, in kernel order, with what it was swept from. */
|
|
43
|
+
export type SketchLineageEdges = {
|
|
44
|
+
segments: SegmentEndpoints[];
|
|
45
|
+
edges: BoundaryEdge[];
|
|
46
|
+
matches: SketchSourceEdgeMatch[];
|
|
47
|
+
};
|
|
48
|
+
/** The one (segment, cap) a straight cap edge was swept from, judged by its endpoints alone. */
|
|
49
|
+
export declare function uniqueSketchSourceEdge(edge: BoundaryEdge, segments: SegmentEndpoints[], levels: {
|
|
50
|
+
bottom: number;
|
|
51
|
+
top: number;
|
|
52
|
+
}): SketchSourceEdgeMatch;
|
|
53
|
+
/**
|
|
54
|
+
* Whether a shape's edges can be named by lineage at all: a sketch extrusion
|
|
55
|
+
* whose exact solid is still the bare extrusion of an eligible profile. A
|
|
56
|
+
* draft, an earlier treatment, a shell or a mirror changes the edges, so those
|
|
57
|
+
* are outside the boundary rather than matched approximately.
|
|
58
|
+
*
|
|
59
|
+
* `profile` is the profile at the size the listed solid is built, when that is
|
|
60
|
+
* not the stored one: the server passes a resized extrusion's scaled profile
|
|
61
|
+
* (#539). The editor's worker lists the stored B-rep and never passes one.
|
|
62
|
+
*/
|
|
63
|
+
export declare function sketchLineageSegments(shape: WorkplaneShape, profile?: SketchProfile): SegmentEndpoints[] | null;
|
|
64
|
+
/** The straight-or-not type and the vertex positions of one kernel edge. */
|
|
65
|
+
export declare function boundaryEdgeOnKernel(cad: OcctKernel, edge: ShapeHandle): BoundaryEdge;
|
|
66
|
+
/**
|
|
67
|
+
* List a lineage-eligible shape's edges and what each was swept from, or null
|
|
68
|
+
* when the shape is outside the boundary. `solid` is only built for an
|
|
69
|
+
* eligible shape; it must be the solid edge indexes are numbered on, in the
|
|
70
|
+
* frame and at the size of the profile it is matched against.
|
|
71
|
+
*/
|
|
72
|
+
export declare function sketchLineageEdgesOnKernel(cad: OcctKernel, shape: WorkplaneShape, solid: () => ShapeHandle, profile?: SketchProfile): SketchLineageEdges | null;
|
|
73
|
+
/** Name each listed edge index by its sketch segment and cap, or say why one cannot be. */
|
|
74
|
+
export declare function sketchSourceEdgesForListedIndexes(listed: SketchLineageEdges | null, indexes: number[]): SketchSourceEdgesResult;
|
|
75
|
+
/** Find the one listed edge index for each recorded segment and cap. */
|
|
76
|
+
export declare function listedIndexesForSketchSourceEdges(listed: SketchLineageEdges | null, sourceEdges: EdgeTreatmentSourceEdge[]): SketchEdgeIndexesResult;
|
|
77
|
+
/**
|
|
78
|
+
* Whether two edges join the same points, in either order. How a caller that
|
|
79
|
+
* numbers edges on its own copy of the solid -- the editor's worker, after
|
|
80
|
+
* placing and healing it -- finds the listed edge it means.
|
|
81
|
+
*/
|
|
82
|
+
export declare function sameEdgeEndpoints(left: Vec3[], right: Vec3[], tolerance?: number): boolean;
|
|
83
|
+
//# sourceMappingURL=sketchEdgeSegmentLineageKernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sketchEdgeSegmentLineageKernel.d.ts","sourceRoot":"","sources":["../src/sketchEdgeSegmentLineageKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtG,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAIpC,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAA;CAAE,GAC7E;IAAE,MAAM,EAAE,SAAS,GAAG,WAAW,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,uBAAuB,EAAE,CAAA;CAAE,GAC7D;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAAC,UAAU,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAE7E,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtC,qBAAqB,CAOvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAM/G;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,YAAY,CAQrF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,WAAW,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,kBAAkB,GAAG,IAAI,CAU3B;AAMD,2FAA2F;AAC3F,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAc/H;AAED,wEAAwE;AACxE,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,kBAAkB,GAAG,IAAI,EACjC,WAAW,EAAE,uBAAuB,EAAE,GACrC,uBAAuB,CAUzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,SAAO,WAK9E"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selected-edge identity by sketch lineage (#350), on a solid the caller gives.
|
|
3
|
+
*
|
|
4
|
+
* The matcher behind `sketchEdgeSegmentLineage`, without the server kernel, so
|
|
5
|
+
* the editor's CAD worker can run the same test the REST path does (#540).
|
|
6
|
+
* Browser-safe: it imports nothing that loads a kernel of its own.
|
|
7
|
+
*
|
|
8
|
+
* A cap edge of a straight, single-region sketch extrusion is named by the
|
|
9
|
+
* sketch segment swept to make it and the cap (bottom or top) it lies on,
|
|
10
|
+
* judged by the endpoint test the face-draft lineage uses
|
|
11
|
+
* (`sketchFaceDraftKernel`); `missing` or `ambiguous` is answered rather than
|
|
12
|
+
* a guess.
|
|
13
|
+
*/
|
|
14
|
+
import { edgeMatchesSegmentAtY, segmentEndpoints, } from "./sketchFaceDraftKernel.js";
|
|
15
|
+
const LEVEL_TOLERANCE = 1e-6;
|
|
16
|
+
/** The one (segment, cap) a straight cap edge was swept from, judged by its endpoints alone. */
|
|
17
|
+
export function uniqueSketchSourceEdge(edge, segments, levels) {
|
|
18
|
+
if (edge.curveType !== "line" || edge.vertices.length !== 2)
|
|
19
|
+
return { status: "missing" };
|
|
20
|
+
const matches = segments.flatMap((segment) => [["bottom", levels.bottom], ["top", levels.top]]
|
|
21
|
+
.filter(([, y]) => edgeMatchesSegmentAtY(edge.vertices, y, segment))
|
|
22
|
+
.map(([cap]) => ({ segmentId: segment.id, cap })));
|
|
23
|
+
if (matches.length === 1)
|
|
24
|
+
return { status: "matched", ...matches[0] };
|
|
25
|
+
return { status: matches.length === 0 ? "missing" : "ambiguous" };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Whether a shape's edges can be named by lineage at all: a sketch extrusion
|
|
29
|
+
* whose exact solid is still the bare extrusion of an eligible profile. A
|
|
30
|
+
* draft, an earlier treatment, a shell or a mirror changes the edges, so those
|
|
31
|
+
* are outside the boundary rather than matched approximately.
|
|
32
|
+
*
|
|
33
|
+
* `profile` is the profile at the size the listed solid is built, when that is
|
|
34
|
+
* not the stored one: the server passes a resized extrusion's scaled profile
|
|
35
|
+
* (#539). The editor's worker lists the stored B-rep and never passes one.
|
|
36
|
+
*/
|
|
37
|
+
export function sketchLineageSegments(shape, profile) {
|
|
38
|
+
if (shape.sketchOperation !== "extrude" || !shape.sketchProfile || !shape.cadBrep)
|
|
39
|
+
return null;
|
|
40
|
+
if (shape.faceDraft !== undefined || shape.draftPrismAngle !== undefined || shape.shell
|
|
41
|
+
|| (shape.edgeTreatments?.length ?? 0) > 0 || (shape.edgeTreatmentHistory?.length ?? 0) > 0
|
|
42
|
+
|| shape.mirrorX || shape.mirrorY || shape.mirrorZ)
|
|
43
|
+
return null;
|
|
44
|
+
return segmentEndpoints(profile ?? shape.sketchProfile);
|
|
45
|
+
}
|
|
46
|
+
/** The straight-or-not type and the vertex positions of one kernel edge. */
|
|
47
|
+
export function boundaryEdgeOnKernel(cad, edge) {
|
|
48
|
+
let curveType = "unknown";
|
|
49
|
+
try {
|
|
50
|
+
curveType = cad.curveType(edge);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// An edge with no curve type is not a straight cap edge.
|
|
54
|
+
}
|
|
55
|
+
return { curveType, vertices: cad.getSubShapes(edge, "vertex").map((vertex) => cad.vertexPosition(vertex)) };
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* List a lineage-eligible shape's edges and what each was swept from, or null
|
|
59
|
+
* when the shape is outside the boundary. `solid` is only built for an
|
|
60
|
+
* eligible shape; it must be the solid edge indexes are numbered on, in the
|
|
61
|
+
* frame and at the size of the profile it is matched against.
|
|
62
|
+
*/
|
|
63
|
+
export function sketchLineageEdgesOnKernel(cad, shape, solid, profile) {
|
|
64
|
+
const segments = sketchLineageSegments(shape, profile);
|
|
65
|
+
if (!segments)
|
|
66
|
+
return null;
|
|
67
|
+
const edges = cad.getSubShapes(solid(), "edge").map((edge) => boundaryEdgeOnKernel(cad, edge));
|
|
68
|
+
// The caps are the solid's lowest and highest vertex levels: exact vertex
|
|
69
|
+
// positions, not a bounding box, which OCCT pads by its tolerance.
|
|
70
|
+
const ys = edges.flatMap((edge) => edge.vertices.map((vertex) => vertex.y));
|
|
71
|
+
const levels = { bottom: Math.min(...ys), top: Math.max(...ys) };
|
|
72
|
+
if (!Number.isFinite(levels.bottom) || !(levels.top - levels.bottom > LEVEL_TOLERANCE))
|
|
73
|
+
return null;
|
|
74
|
+
return { segments, edges, matches: edges.map((edge) => uniqueSketchSourceEdge(edge, segments, levels)) };
|
|
75
|
+
}
|
|
76
|
+
function sameSourceEdge(left, right) {
|
|
77
|
+
return right.status === "matched" && right.segmentId === left.segmentId && right.cap === left.cap;
|
|
78
|
+
}
|
|
79
|
+
/** Name each listed edge index by its sketch segment and cap, or say why one cannot be. */
|
|
80
|
+
export function sketchSourceEdgesForListedIndexes(listed, indexes) {
|
|
81
|
+
if (!listed || indexes.length === 0)
|
|
82
|
+
return { status: "unsupported" };
|
|
83
|
+
const sourceEdges = [];
|
|
84
|
+
for (const index of indexes) {
|
|
85
|
+
const match = listed.matches[index];
|
|
86
|
+
if (!match || match.status !== "matched")
|
|
87
|
+
return { status: match?.status ?? "missing", index };
|
|
88
|
+
const sourceEdge = { segmentId: match.segmentId, cap: match.cap };
|
|
89
|
+
// The reverse must be unique too, or replay could not tell which edge it meant.
|
|
90
|
+
if (listed.matches.filter((candidate) => sameSourceEdge(sourceEdge, candidate)).length !== 1) {
|
|
91
|
+
return { status: "ambiguous", index };
|
|
92
|
+
}
|
|
93
|
+
sourceEdges.push(sourceEdge);
|
|
94
|
+
}
|
|
95
|
+
return { status: "matched", sourceEdges };
|
|
96
|
+
}
|
|
97
|
+
/** Find the one listed edge index for each recorded segment and cap. */
|
|
98
|
+
export function listedIndexesForSketchSourceEdges(listed, sourceEdges) {
|
|
99
|
+
if (!listed || sourceEdges.length === 0)
|
|
100
|
+
return { status: "unsupported" };
|
|
101
|
+
const edges = [];
|
|
102
|
+
for (const sourceEdge of sourceEdges) {
|
|
103
|
+
if (!listed.segments.some((segment) => segment.id === sourceEdge.segmentId))
|
|
104
|
+
return { status: "missing", sourceEdge };
|
|
105
|
+
const found = listed.matches.flatMap((match, index) => sameSourceEdge(sourceEdge, match) ? [index] : []);
|
|
106
|
+
if (found.length !== 1)
|
|
107
|
+
return { status: found.length === 0 ? "missing" : "ambiguous", sourceEdge };
|
|
108
|
+
edges.push(found[0]);
|
|
109
|
+
}
|
|
110
|
+
return { status: "matched", edges };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Whether two edges join the same points, in either order. How a caller that
|
|
114
|
+
* numbers edges on its own copy of the solid -- the editor's worker, after
|
|
115
|
+
* placing and healing it -- finds the listed edge it means.
|
|
116
|
+
*/
|
|
117
|
+
export function sameEdgeEndpoints(left, right, tolerance = 1e-5) {
|
|
118
|
+
if (left.length !== right.length || left.length === 0)
|
|
119
|
+
return false;
|
|
120
|
+
const close = (a, b) => Math.abs(a.x - b.x) <= tolerance && Math.abs(a.y - b.y) <= tolerance && Math.abs(a.z - b.z) <= tolerance;
|
|
121
|
+
if (left.length !== 2)
|
|
122
|
+
return left.every((vertex, index) => close(vertex, right[index]));
|
|
123
|
+
return (close(left[0], right[0]) && close(left[1], right[1])) || (close(left[0], right[1]) && close(left[1], right[0]));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=sketchEdgeSegmentLineageKernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sketchEdgeSegmentLineageKernel.js","sourceRoot":"","sources":["../src/sketchEdgeSegmentLineageKernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ export type SketchFaceSegmentMatch = {
|
|
|
71
71
|
};
|
|
72
72
|
/** What a face-draft lookup needs of the undrafted source extrusion. */
|
|
73
73
|
export type SketchFaceDraftSource = Pick<WorkplaneShape, "id" | "sketchOperation" | "sketchProfile" | "cadBrep" | "faceIds" | "cadBrepFrame" | "height">;
|
|
74
|
-
type SegmentEndpoints = {
|
|
74
|
+
export type SegmentEndpoints = {
|
|
75
75
|
id: string;
|
|
76
76
|
start: {
|
|
77
77
|
x: number;
|
|
@@ -82,10 +82,18 @@ type SegmentEndpoints = {
|
|
|
82
82
|
z: number;
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
-
type BoundaryEdge = {
|
|
85
|
+
export type BoundaryEdge = {
|
|
86
86
|
curveType: string;
|
|
87
87
|
vertices: Vec3[];
|
|
88
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* The endpoints of every segment of a straight-line, single-region, hole-free
|
|
91
|
+
* profile, or null when the profile is outside that boundary (or its point and
|
|
92
|
+
* segment IDs are not unique). The one definition of "eligible for segment
|
|
93
|
+
* lineage" that face drafts and selected-edge treatments share.
|
|
94
|
+
*/
|
|
95
|
+
export declare function segmentEndpoints(profile: SketchProfile): SegmentEndpoints[] | null;
|
|
96
|
+
export declare function edgeMatchesSegmentAtY(vertices: Vec3[], y: number, segment: SegmentEndpoints): boolean;
|
|
89
97
|
export declare function uniqueSketchSegmentForSideBoundary(boundary: BoundaryEdge[], segments: SegmentEndpoints[], height: number): {
|
|
90
98
|
status: "matched";
|
|
91
99
|
segmentId: string;
|
|
@@ -216,9 +224,9 @@ export declare function retainedSketchFaceDraft(cad: OcctKernel, resolution: Ret
|
|
|
216
224
|
};
|
|
217
225
|
/** The fields a retained prism draft adds to its shape. */
|
|
218
226
|
export declare function retainedPrismDraftFields(shape: Pick<WorkplaneShape, "draftPrismSourceFrame" | "draftPrismSourceHeight" | "cadBrepFrame" | "height">, angle: number): {
|
|
219
|
-
draftPrismSourceFrame?: CadBrepFrame | undefined;
|
|
220
227
|
draftPrismAngle: number;
|
|
221
228
|
draftPrismSourceHeight: number;
|
|
229
|
+
draftPrismSourceFrame?: CadBrepFrame | undefined;
|
|
222
230
|
};
|
|
223
231
|
/**
|
|
224
232
|
* The centre of a profile's bounds: where a prism draft's B-rep is centred,
|
|
@@ -234,15 +242,14 @@ export declare function draftPrismProfileOffset(profile: Pick<SketchProfile, "po
|
|
|
234
242
|
* rebuilt on, and so the drafted result, which keeps it.
|
|
235
243
|
*
|
|
236
244
|
* The shape's position is moved by however far the rebuilt extrusion's frame
|
|
237
|
-
* is from the source frame the draft first started from
|
|
238
|
-
* coordinates
|
|
239
|
-
*
|
|
240
|
-
* record means one placement whichever side wrote it (#384).
|
|
245
|
+
* is from the source frame the draft first started from. Frame offsets are in
|
|
246
|
+
* sketch coordinates, so rotate them by the shape's placement before adding
|
|
247
|
+
* them to its world position. The editor and REST use this same rule so one
|
|
248
|
+
* record means one placement whichever side wrote it (#384, #435).
|
|
241
249
|
*/
|
|
242
|
-
export declare function retainedDraftSourcePlacement(existing: Pick<WorkplaneShape, "x" | "z" | "elevation" | "faceDraftSourceFrame" | "draftPrismSourceFrame" | "cadBrepFrame">, rebuiltFrame: Pick<CadBrepFrame, "x" | "z" | "elevation">): {
|
|
250
|
+
export declare function retainedDraftSourcePlacement(existing: Pick<WorkplaneShape, "x" | "z" | "elevation" | "rotation" | "rotationX" | "rotationZ" | "mirrorX" | "mirrorY" | "mirrorZ" | "faceDraftSourceFrame" | "draftPrismSourceFrame" | "cadBrepFrame">, rebuiltFrame: Pick<CadBrepFrame, "x" | "z" | "elevation">, sourceFrameOverride?: Pick<CadBrepFrame, "x" | "z" | "elevation">): {
|
|
243
251
|
x: number;
|
|
244
252
|
z: number;
|
|
245
253
|
elevation: number;
|
|
246
254
|
};
|
|
247
|
-
export {};
|
|
248
255
|
//# sourceMappingURL=sketchFaceDraftKernel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketchFaceDraftKernel.d.ts","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sketchFaceDraftKernel.d.ts","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* Errors carry the messages the REST API has always returned; each caller
|
|
16
16
|
* wraps them in its own error type.
|
|
17
17
|
*/
|
|
18
|
+
import * as THREE from "three";
|
|
18
19
|
import { cadSketchRegions } from "./sketchCadProfile.js";
|
|
19
20
|
import { createLocalId } from "./localIds.js";
|
|
20
21
|
import { sketchExtrusionSolid } from "./sketchExtrusionSolid.js";
|
|
@@ -25,7 +26,13 @@ export const SKETCH_FACE_DRAFT_PULL_AXES = {
|
|
|
25
26
|
x: { x: 1, y: 0, z: 0 }, y: { x: 0, y: 1, z: 0 }, z: { x: 0, y: 0, z: 1 },
|
|
26
27
|
"-x": { x: -1, y: 0, z: 0 }, "-y": { x: 0, y: -1, z: 0 }, "-z": { x: 0, y: 0, z: -1 },
|
|
27
28
|
};
|
|
28
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The endpoints of every segment of a straight-line, single-region, hole-free
|
|
31
|
+
* profile, or null when the profile is outside that boundary (or its point and
|
|
32
|
+
* segment IDs are not unique). The one definition of "eligible for segment
|
|
33
|
+
* lineage" that face drafts and selected-edge treatments share.
|
|
34
|
+
*/
|
|
35
|
+
export function segmentEndpoints(profile) {
|
|
29
36
|
let regions;
|
|
30
37
|
try {
|
|
31
38
|
regions = cadSketchRegions(profile);
|
|
@@ -64,7 +71,7 @@ function segmentEndpoints(profile) {
|
|
|
64
71
|
function close(left, right) {
|
|
65
72
|
return Math.abs(left - right) <= MATCH_TOLERANCE;
|
|
66
73
|
}
|
|
67
|
-
function edgeMatchesSegmentAtY(vertices, y, segment) {
|
|
74
|
+
export function edgeMatchesSegmentAtY(vertices, y, segment) {
|
|
68
75
|
if (vertices.length !== 2)
|
|
69
76
|
return false;
|
|
70
77
|
const [first, second] = vertices;
|
|
@@ -557,17 +564,18 @@ export function draftPrismProfileOffset(profile) {
|
|
|
557
564
|
* rebuilt on, and so the drafted result, which keeps it.
|
|
558
565
|
*
|
|
559
566
|
* The shape's position is moved by however far the rebuilt extrusion's frame
|
|
560
|
-
* is from the source frame the draft first started from
|
|
561
|
-
* coordinates
|
|
562
|
-
*
|
|
563
|
-
* record means one placement whichever side wrote it (#384).
|
|
567
|
+
* is from the source frame the draft first started from. Frame offsets are in
|
|
568
|
+
* sketch coordinates, so rotate them by the shape's placement before adding
|
|
569
|
+
* them to its world position. The editor and REST use this same rule so one
|
|
570
|
+
* record means one placement whichever side wrote it (#384, #435).
|
|
564
571
|
*/
|
|
565
|
-
export function retainedDraftSourcePlacement(existing, rebuiltFrame) {
|
|
566
|
-
const sourceFrame = existing.faceDraftSourceFrame ?? existing.draftPrismSourceFrame ?? existing.cadBrepFrame;
|
|
572
|
+
export function retainedDraftSourcePlacement(existing, rebuiltFrame, sourceFrameOverride) {
|
|
573
|
+
const sourceFrame = sourceFrameOverride ?? existing.faceDraftSourceFrame ?? existing.draftPrismSourceFrame ?? existing.cadBrepFrame;
|
|
574
|
+
const offset = new THREE.Vector3((rebuiltFrame.x - (sourceFrame?.x ?? 0)) * (existing.mirrorX ? -1 : 1), (rebuiltFrame.elevation - (sourceFrame?.elevation ?? 0)) * (existing.mirrorY ? -1 : 1), (rebuiltFrame.z - (sourceFrame?.z ?? 0)) * (existing.mirrorZ ? -1 : 1)).applyEuler(new THREE.Euler(THREE.MathUtils.degToRad(existing.rotationX ?? 0), THREE.MathUtils.degToRad(existing.rotation ?? 0), THREE.MathUtils.degToRad(existing.rotationZ ?? 0), "XYZ"));
|
|
567
575
|
return {
|
|
568
|
-
x: existing.x
|
|
569
|
-
z: existing.z
|
|
570
|
-
elevation: (existing.elevation ?? 0)
|
|
576
|
+
x: existing.x + offset.x,
|
|
577
|
+
z: existing.z + offset.z,
|
|
578
|
+
elevation: (existing.elevation ?? 0) + offset.y,
|
|
571
579
|
};
|
|
572
580
|
}
|
|
573
581
|
//# sourceMappingURL=sketchFaceDraftKernel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketchFaceDraftKernel.js","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sketchFaceDraftKernel.js","sourceRoot":"","sources":["../src/sketchFaceDraftKernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACzE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;CAC7E,CAAC;AAuBX;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;WACjF,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3G,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2C,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;eACzB,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3F,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,KAAa;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,eAAe,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAgB,EAAE,CAAS,EAAE,OAAyB;IAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;WAC5E,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;WAC1E,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,MAAM,IAAI,QAAQ,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,QAAwB,EACxB,QAA4B,EAC5B,MAAc;IAEd,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5G,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAClG,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACpG,OAAO,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,EAAE,CAAC;IAClF,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAe,EAAE,IAAiB,EAAE,QAA4B,EAAE,MAAc;IAC5G,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9B,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACvF,CAAC,CAAC,CAAC;IACJ,OAAO,kCAAkC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,IAAiB;IACjE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iCAAiC,CAAC,GAAe,EAAE,KAA4B,EAAE,MAAc;IAC7G,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACpH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE3D,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,eAAe;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEvE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAErD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAE,CAAC;IAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAChI,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1D,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,iCAAiC,CAAC,GAAe,EAAE,KAA4B,EAAE,SAAiB;IAChH,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACpH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAC9E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAE9D,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClD,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QACpG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAE,EAAE,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxG,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,MAAM;QACX,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,EAAE;QAC5E,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAuC;IACrE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjH,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACjH,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAChH,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAClH,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC;QACtB,KAAK,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IAC/G,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAY,EAAE,IAAU,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;IAC/I,OAAO;QACL,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QACnE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;QACnE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAe,EACf,KAAkB,EAClB,IAAiB,EACjB,OAAuE;IAEvE,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACpF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtF,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7G,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACvH,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;gBACrD,OAAO,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI;uBAC/G,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC;YACnH,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;YACrH,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAe,EACf,MAA8C,EAC9C,WAA0B,EAC1B,WAAwB;IAExB,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO;gBAAE,OAAO,QAAQ,IAAI,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzG,MAAM,MAAM,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtF,OAAO,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,IAAI,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;IACjD,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,SAAS,GAAG,WAAW,KAAK,SAAS;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,QAAQ,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5F,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,MAAM,CAA6D;IAE5E,YAAY,OAAe,EAAE,MAAsC;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,IAAI,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,qBAAqB,CAAC,GAAe,EAAE,IAAY;IACjE,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,GAAG,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACjF,CAAC;AAKD;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAe,EAAE,KAAkB,EAAE,KAA6C;IACrG,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC;YACH,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;QACD,OAAO;YACL,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,QAAQ,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE;YACtE,KAAK;YACL,WAAW;YACX,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAU,EAAE,KAAW;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC;AACpG,CAAC;AAaD,MAAM,WAAW,GAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACxE,OAAO,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAe,EAAE,KAA6B;IACvF,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACtH,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,YAAY,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAC7C,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM;QACnE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,aAAa,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,MAAM,MAAM,GAA0B;QACpC,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,OAAO;QACP,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE;QACtE,MAAM;KACP,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC;IACrD,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAChI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACvD,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC5C,OAAO,iCAAiC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC;AAmBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAe,EACf,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAA+B,EAC1E,OAAO,GAA6B,WAAW;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,YAAY;QAC9E,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB;QACrC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS;QAChD,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC;IACnH,MAAM,yBAAyB,GAAG,aAAa;QAC7C,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,uBAAuB,GAAG,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,SAAS;QACpE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,GAAG,cAAc,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,wBAAwB;QACnG,CAAC,CAAC,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,kBAAkB,EAAE,MAAM,KAAK,WAAW;QAAE,UAAU,CAAC,mEAAmE,CAAC,CAAC;IAChI,MAAM,uBAAuB,GAAG,QAAQ,CAAC,wBAAwB;WAC5D,CAAC,kBAAkB,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,mBAAmB,GAAG,cAAc,IAAI,uBAAuB;QACnE,CAAC,CAAC,iCAAiC,CAAC,GAAG,EAAE,MAAM,EAAE,uBAAuB,CAAC;QACzE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpE,UAAU,CAAC,gFAAgF,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,MAAM,GAAG,mBAAmB,EAAE,MAAM,KAAK,SAAS;QACpD,CAAC,CAAC,mBAAmB,CAAC,MAAM;QAC5B,CAAC,CAAC,yBAAyB,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE;YACjF,CAAC,CAAC,uBAAuB,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,MAAM,GAAG,mBAAmB,EAAE,MAAM,KAAK,SAAS;QACtD,CAAC,CAAC,mBAAmB,CAAC,MAAM;QAC5B,CAAC,CAAC,yBAAyB,EAAE,MAAM,IAAI,uBAAuB,EAAE,MAAM,IAAI,cAAc,IAAI,eAAe,EAAE,MAAM,CAAC;IACtH,IAAI,CAAC,MAAM,IAAI,eAAe,IAAI,eAAe,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QAC1E,UAAU,CAAC,0DAA0D,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjI,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,UAAU,CAAC,yEAAyE,CAAC,CAAC;IACnG,MAAM,YAAY,GAAG,mBAAmB,EAAE,MAAM,KAAK,SAAS;QAC5D,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,iCAAiC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW;QAAE,UAAU,CAAC,6DAA6D,CAAC,CAAC;IACnH,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS;QAAE,UAAU,CAAC,8EAA8E,CAAC,CAAC;IAClI,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAAmC,EACnC,WAA0E,EAC1E,QAAmF,EACnF,OAAuE;IAEvE,OAAO;QACL,SAAS,EAAE;YACT,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,gBAAgB,EAAE,QAAQ,CAAC,MAAM;SAClC;QACD,sBAAsB,EAAE,aAAa;QACrC,wBAAwB,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClH,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,IAAI,WAAW,CAAC,YAAY;KACnF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAe,EACf,UAAuC;IAEvC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5F,MAAM,IAAI,oBAAoB,CAAC,uEAAuE,EAAE,OAAO,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrF,UAAU,CAAC,4FAA4F,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM;QAAE,UAAU,CAAC,gEAAgE,CAAC,CAAC;IACvI,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,IAAI;QAAE,UAAU,CAAC,kDAAkD,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,oBAAoB,CAAC,kFAAkF,EAAE,cAAc,CAAC,CAAC;IACrI,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,oBAAoB,CAAC,+CAA+C,EAAE,gBAAgB,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7D,OAAO;QACL,KAAK,EAAE,OAAO;QACd,QAAQ;QACR,aAAa;QACb,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC;KAC9F,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,wBAAwB,CAAC,KAA2G,EAAE,KAAa;IACjK,MAAM,WAAW,GAAG,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,YAAY,CAAC;IACtE,OAAO;QACL,eAAe,EAAE,KAAK;QACtB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,MAAM;QACpE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAsC;IAC5E,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO;QACL,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QAC1C,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAwM,EACxM,YAAyD,EACzD,mBAAiE;IAEjE,MAAM,WAAW,GAAG,mBAAmB,IAAI,QAAQ,CAAC,oBAAoB,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACpI,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAC9B,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtE,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtF,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAC1B,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,EACjD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,EAChD,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,EACjD,KAAK,CACN,CAAC,CAAC;IACH,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACxB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACxB,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
package/dist/sketchRevolve.d.ts
CHANGED
|
@@ -28,6 +28,19 @@ export type SketchRevolveMesh = {
|
|
|
28
28
|
* core wrongly reports hundreds of these.
|
|
29
29
|
*/
|
|
30
30
|
genus: number;
|
|
31
|
+
/**
|
|
32
|
+
* Where the mesh's bounding-box centre sits from the axis it was turned
|
|
33
|
+
* about, in the mesh's own X/Z frame (Y up, before any resize, mirror or
|
|
34
|
+
* rotation).
|
|
35
|
+
*
|
|
36
|
+
* The mesh is centred on its box like every other mesh in the app, which for
|
|
37
|
+
* a partial sweep moves the axis off the origin. This is how far, so the
|
|
38
|
+
* shape can be placed by its axis rather than its box (#503).
|
|
39
|
+
*/
|
|
40
|
+
axisOffset: {
|
|
41
|
+
x: number;
|
|
42
|
+
z: number;
|
|
43
|
+
};
|
|
31
44
|
};
|
|
32
45
|
export declare function normalizeSketchRevolveSettings(settings?: Partial<SketchRevolveSettings>): SketchRevolveSettings;
|
|
33
46
|
/** Whether these settings describe a helical sweep rather than a plain revolve. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sketchRevolve.d.ts","sourceRoot":"","sources":["../src/sketchRevolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAe,aAAa,EAAE,qBAAqB,EAAiB,MAAM,yBAAyB,CAAC;AAGhH,eAAO,MAAM,+BAA+B,EAAE,qBAQ7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAItC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAG/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sketchRevolve.d.ts","sourceRoot":"","sources":["../src/sketchRevolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAe,aAAa,EAAE,qBAAqB,EAAiB,MAAM,yBAAyB,CAAC;AAGhH,eAAO,MAAM,+BAA+B,EAAE,qBAQ7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAItC,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAG/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC,CAAC;AAUF,wBAAgB,8BAA8B,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAe/G;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,WAE/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,UAGlE;AA6HD,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,cAc/G;AAwGD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,iBAAiB,CAiC/J"}
|
package/dist/sketchRevolve.js
CHANGED
|
@@ -337,7 +337,9 @@ export function buildSketchRevolveMesh(runtime, profile, requestedSettings) {
|
|
|
337
337
|
* A manifold solid as the editor's own mesh: Y up, centred on X and Z, resting
|
|
338
338
|
* on y = 0.
|
|
339
339
|
*
|
|
340
|
-
* Manifold revolves around its Z axis, which is the editor's Y.
|
|
340
|
+
* Manifold revolves around its Z axis, which is the editor's Y. Centring moves
|
|
341
|
+
* that axis off the origin whenever the solid is not symmetric about it, and
|
|
342
|
+
* the distance is reported as `axisOffset` rather than lost.
|
|
341
343
|
*/
|
|
342
344
|
function meshFromManifold(solid) {
|
|
343
345
|
const manifoldPositions = manifoldMeshPositions(solid.getMesh());
|
|
@@ -376,6 +378,7 @@ function meshFromManifold(solid) {
|
|
|
376
378
|
height: Math.max(0.01, maxY - minY),
|
|
377
379
|
triangleCount: Math.floor(positions.length / 9),
|
|
378
380
|
genus: solid.genus(),
|
|
381
|
+
axisOffset: { x: centerX, z: centerZ },
|
|
379
382
|
};
|
|
380
383
|
}
|
|
381
384
|
//# sourceMappingURL=sketchRevolve.js.map
|