@shapediver/viewer.data-engine.geometry-engine 3.8.15 → 3.9.1
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/README.md +1 -1
- package/dist/GeometryEngine.d.ts +2 -2
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +47 -30
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts +2 -2
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +143 -75
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.d.ts +1 -1
- package/dist/gltfv1/SDGTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +95 -74
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +6 -6
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +200 -112
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/draco/draco_decoder.d.ts.map +1 -1
- package/dist/gltfv2/draco/draco_decoder.js +101696 -49810
- package/dist/gltfv2/draco/draco_decoder.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.d.ts +3 -3
- package/dist/gltfv2/loaders/AccessorLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +21 -13
- package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.js +10 -8
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.d.ts +2 -2
- package/dist/gltfv2/loaders/BufferViewLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js +5 -5
- package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.d.ts +7 -7
- package/dist/gltfv2/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.js +39 -28
- package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.d.ts +3 -3
- package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +301 -108
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts +2 -2
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +23 -15
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +57 -57
|
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SDGTFLoader = void 0;
|
|
13
|
+
const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
13
14
|
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
14
15
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
15
|
-
const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
16
16
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
17
17
|
const gl_matrix_1 = require("gl-matrix");
|
|
18
18
|
class SDGTFLoader {
|
|
@@ -29,19 +29,26 @@ class SDGTFLoader {
|
|
|
29
29
|
if (gltfLength < binaryGeometry.byteLength) {
|
|
30
30
|
const headerDataView = new DataView(binaryGeometry, gltfLength, this.BINARY_EXTENSION_HEADER_LENGTH + 1);
|
|
31
31
|
const header = {
|
|
32
|
-
magic: String.fromCharCode(headerDataView.getUint8(0)) +
|
|
32
|
+
magic: String.fromCharCode(headerDataView.getUint8(0)) +
|
|
33
|
+
String.fromCharCode(headerDataView.getUint8(1)) +
|
|
34
|
+
String.fromCharCode(headerDataView.getUint8(2)) +
|
|
35
|
+
String.fromCharCode(headerDataView.getUint8(3)) +
|
|
36
|
+
String.fromCharCode(headerDataView.getUint8(4)),
|
|
33
37
|
version: headerDataView.getUint32(5, true),
|
|
34
38
|
length: headerDataView.getUint32(9, true),
|
|
35
39
|
contentLength: headerDataView.getUint32(13, true),
|
|
36
|
-
contentFormat: headerDataView.getUint32(17, true)
|
|
40
|
+
contentFormat: headerDataView.getUint32(17, true),
|
|
37
41
|
};
|
|
38
|
-
if (header.magic !=
|
|
39
|
-
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError(
|
|
42
|
+
if (header.magic != "sdgTF")
|
|
43
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("SDGTFLoader.load: Invalid data: sdgTF magic wrong.");
|
|
40
44
|
// create content
|
|
41
45
|
const contentDataView = new DataView(binaryGeometry, gltfLength + this.BINARY_EXTENSION_HEADER_LENGTH + 1, header.contentLength);
|
|
42
46
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
43
47
|
this._content = JSON.parse(contentDecoded);
|
|
44
|
-
this._body = binaryGeometry.slice(gltfLength +
|
|
48
|
+
this._body = binaryGeometry.slice(gltfLength +
|
|
49
|
+
this.BINARY_EXTENSION_HEADER_LENGTH +
|
|
50
|
+
1 +
|
|
51
|
+
header.contentLength, gltfLength + header.length);
|
|
45
52
|
}
|
|
46
53
|
else {
|
|
47
54
|
return new viewer_shared_node_tree_1.TreeNode();
|
|
@@ -66,7 +73,7 @@ class SDGTFLoader {
|
|
|
66
73
|
loadAccessor(accessorName) {
|
|
67
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
75
|
if (!this._content.accessors[accessorName])
|
|
69
|
-
throw new Error(
|
|
76
|
+
throw new Error("Accessor not available.");
|
|
70
77
|
const accessor = this._content.accessors[accessorName];
|
|
71
78
|
const bufferView = this._body;
|
|
72
79
|
const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V1[accessor.type];
|
|
@@ -80,16 +87,16 @@ class SDGTFLoader {
|
|
|
80
87
|
loadArcs() {
|
|
81
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
89
|
if (!this._content.arcs)
|
|
83
|
-
throw new Error(
|
|
90
|
+
throw new Error("Arcs not available.");
|
|
84
91
|
const arc = this._content.arcs;
|
|
85
|
-
const arcNode = new viewer_shared_node_tree_1.TreeNode(
|
|
86
|
-
const data = yield this.loadAccessor(arc.attributes[
|
|
92
|
+
const arcNode = new viewer_shared_node_tree_1.TreeNode("arcs");
|
|
93
|
+
const data = yield this.loadAccessor(arc.attributes["ARCS"]);
|
|
87
94
|
// data with an absolute classic array of Vec12s ...
|
|
88
95
|
// like you usually have it in any good program
|
|
89
96
|
// not 4 Vec3s, no, that would be to logic, but a Vec12 instead
|
|
90
97
|
const count = data.array.length / data.itemSize;
|
|
91
98
|
for (let i = 0; i < count; ++i) {
|
|
92
|
-
const singleArcNode = new viewer_shared_node_tree_1.TreeNode(
|
|
99
|
+
const singleArcNode = new viewer_shared_node_tree_1.TreeNode("arc_" + i);
|
|
93
100
|
const index = i * 12;
|
|
94
101
|
const arcCenter = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
|
|
95
102
|
const arcXAxis = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
|
|
@@ -99,7 +106,7 @@ class SDGTFLoader {
|
|
|
99
106
|
const arcMaxAngle = data.array[index + 11];
|
|
100
107
|
const arcZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), arcXAxis, arcYAxis);
|
|
101
108
|
if (arcRadius <= 0) {
|
|
102
|
-
this._logger.warn(
|
|
109
|
+
this._logger.warn("SDGTFLoader.loadArcs: Arc radius is <= 0.");
|
|
103
110
|
continue;
|
|
104
111
|
}
|
|
105
112
|
const points = [];
|
|
@@ -112,28 +119,33 @@ class SDGTFLoader {
|
|
|
112
119
|
deltaAngle += twoPi;
|
|
113
120
|
while (deltaAngle > twoPi)
|
|
114
121
|
deltaAngle -= twoPi;
|
|
115
|
-
deltaAngle =
|
|
122
|
+
deltaAngle =
|
|
123
|
+
deltaAngle < Number.EPSILON
|
|
124
|
+
? samePoints
|
|
125
|
+
? 0
|
|
126
|
+
: twoPi
|
|
127
|
+
: deltaAngle;
|
|
116
128
|
const angle = arcMinAngle + t * deltaAngle;
|
|
117
129
|
let x = arcRadius * Math.cos(angle);
|
|
118
130
|
let y = arcRadius * Math.sin(angle);
|
|
119
131
|
points.push(x, y, 0);
|
|
120
132
|
};
|
|
121
|
-
const numberOfPoints = Math.max(3, Math.round(50 * ((arcMaxAngle - arcMinAngle) / 2 * Math.PI)));
|
|
133
|
+
const numberOfPoints = Math.max(3, Math.round(50 * (((arcMaxAngle - arcMinAngle) / 2) * Math.PI)));
|
|
122
134
|
for (let d = 0; d <= numberOfPoints; d++)
|
|
123
135
|
getPointOnArc(d / numberOfPoints);
|
|
124
136
|
const array = new Float32Array(points);
|
|
125
137
|
const attributes = {};
|
|
126
|
-
attributes[
|
|
138
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
|
|
127
139
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
|
|
128
140
|
singleArcNode.data.push(geometry);
|
|
129
141
|
singleArcNode.addTransformation({
|
|
130
|
-
id:
|
|
131
|
-
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(arcCenter[0], arcCenter[1], arcCenter[2]))
|
|
142
|
+
id: "arc_" + i + "_translation",
|
|
143
|
+
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(arcCenter[0], arcCenter[1], arcCenter[2])),
|
|
132
144
|
});
|
|
133
145
|
const arcRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(arcXAxis[0], arcYAxis[0], arcZAxis[0], 0, arcXAxis[1], arcYAxis[1], arcZAxis[1], 0, arcXAxis[2], arcYAxis[2], arcZAxis[2], 0, 0, 0, 0, 1));
|
|
134
146
|
singleArcNode.addTransformation({
|
|
135
|
-
id:
|
|
136
|
-
matrix: arcRotationMatrix
|
|
147
|
+
id: "arc_" + i + "_rotation",
|
|
148
|
+
matrix: arcRotationMatrix,
|
|
137
149
|
});
|
|
138
150
|
arcNode.addChild(singleArcNode);
|
|
139
151
|
}
|
|
@@ -143,14 +155,14 @@ class SDGTFLoader {
|
|
|
143
155
|
loadBeziercurve(beziercurveName) {
|
|
144
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
145
157
|
if (!this._content.beziercurves[beziercurveName])
|
|
146
|
-
throw new Error(
|
|
158
|
+
throw new Error("Beziercurve not available.");
|
|
147
159
|
const beziercurve = this._content.beziercurves[beziercurveName];
|
|
148
160
|
const beziercurveNode = new viewer_shared_node_tree_1.TreeNode(beziercurveName);
|
|
149
|
-
const controlPointsData = yield this.loadAccessor(beziercurve.attributes[
|
|
161
|
+
const controlPointsData = yield this.loadAccessor(beziercurve.attributes["CONTROLPOINTS"]); // vec3
|
|
150
162
|
const controlPoints = [];
|
|
151
163
|
for (let i = 0; i < controlPointsData.array.length; i += 3)
|
|
152
164
|
controlPoints.push(gl_matrix_1.vec4.fromValues(controlPointsData.array[i], controlPointsData.array[i + 1], controlPointsData.array[i + 2], 1));
|
|
153
|
-
const knotsData = yield this.loadAccessor(beziercurve.attributes[
|
|
165
|
+
const knotsData = yield this.loadAccessor(beziercurve.attributes["KNOTS"]); // scalar
|
|
154
166
|
const knots = [knotsData.array[0]];
|
|
155
167
|
for (let i = 0; i < knotsData.array.length; i++)
|
|
156
168
|
knots.push(knotsData.array[i]);
|
|
@@ -229,7 +241,7 @@ class SDGTFLoader {
|
|
|
229
241
|
getPointOnBezierCurve(d / numberOfPoints);
|
|
230
242
|
const array = new Float32Array(points);
|
|
231
243
|
const attributes = {};
|
|
232
|
-
attributes[
|
|
244
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
|
|
233
245
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
|
|
234
246
|
beziercurveNode.data.push(geometry);
|
|
235
247
|
return beziercurveNode;
|
|
@@ -238,13 +250,13 @@ class SDGTFLoader {
|
|
|
238
250
|
loadCircles() {
|
|
239
251
|
return __awaiter(this, void 0, void 0, function* () {
|
|
240
252
|
if (!this._content.circles)
|
|
241
|
-
throw new Error(
|
|
253
|
+
throw new Error("Circles not available.");
|
|
242
254
|
const circle = this._content.circles;
|
|
243
|
-
const circleNode = new viewer_shared_node_tree_1.TreeNode(
|
|
244
|
-
const data = yield this.loadAccessor(circle.attributes[
|
|
255
|
+
const circleNode = new viewer_shared_node_tree_1.TreeNode("circles");
|
|
256
|
+
const data = yield this.loadAccessor(circle.attributes["CIRCLES"]);
|
|
245
257
|
const count = data.array.length / data.itemSize;
|
|
246
258
|
for (let i = 0; i < count; i++) {
|
|
247
|
-
const singleCircleNode = new viewer_shared_node_tree_1.TreeNode(
|
|
259
|
+
const singleCircleNode = new viewer_shared_node_tree_1.TreeNode("circle_" + i);
|
|
248
260
|
const index = i * 10;
|
|
249
261
|
const circleCenter = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
|
|
250
262
|
const circleXAxis = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
|
|
@@ -252,7 +264,7 @@ class SDGTFLoader {
|
|
|
252
264
|
const circleRadius = data.array[index + 9];
|
|
253
265
|
const circleZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), circleXAxis, circleYAxis);
|
|
254
266
|
if (circleRadius <= 0) {
|
|
255
|
-
this._logger.warn(
|
|
267
|
+
this._logger.warn("SDGTFLoader.loadCircles: Circle radius is <= 0.");
|
|
256
268
|
continue;
|
|
257
269
|
}
|
|
258
270
|
const points = [];
|
|
@@ -265,7 +277,12 @@ class SDGTFLoader {
|
|
|
265
277
|
deltaAngle += twoPi;
|
|
266
278
|
while (deltaAngle > twoPi)
|
|
267
279
|
deltaAngle -= twoPi;
|
|
268
|
-
deltaAngle =
|
|
280
|
+
deltaAngle =
|
|
281
|
+
deltaAngle < Number.EPSILON
|
|
282
|
+
? samePoints
|
|
283
|
+
? 0
|
|
284
|
+
: twoPi
|
|
285
|
+
: deltaAngle;
|
|
269
286
|
const angle = 0 + t * deltaAngle;
|
|
270
287
|
let x = circleRadius * Math.cos(angle);
|
|
271
288
|
let y = circleRadius * Math.sin(angle);
|
|
@@ -276,17 +293,17 @@ class SDGTFLoader {
|
|
|
276
293
|
getPointOnArc(d / numberOfPoints);
|
|
277
294
|
const array = new Float32Array(points);
|
|
278
295
|
const attributes = {};
|
|
279
|
-
attributes[
|
|
296
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(array, 3, 0, 0, 0, false, array.length / 3);
|
|
280
297
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
|
|
281
298
|
singleCircleNode.data.push(geometry);
|
|
282
299
|
singleCircleNode.addTransformation({
|
|
283
|
-
id:
|
|
284
|
-
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(circleCenter[0], circleCenter[1], circleCenter[2]))
|
|
300
|
+
id: "circle_" + i + "_translation",
|
|
301
|
+
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(circleCenter[0], circleCenter[1], circleCenter[2])),
|
|
285
302
|
});
|
|
286
303
|
const circleRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(circleXAxis[0], circleYAxis[0], circleZAxis[0], 0, circleXAxis[1], circleYAxis[1], circleZAxis[1], 0, circleXAxis[2], circleYAxis[2], circleZAxis[2], 0, 0, 0, 0, 1));
|
|
287
304
|
singleCircleNode.addTransformation({
|
|
288
|
-
id:
|
|
289
|
-
matrix: circleRotationMatrix
|
|
305
|
+
id: "circle_" + i + "_rotation",
|
|
306
|
+
matrix: circleRotationMatrix,
|
|
290
307
|
});
|
|
291
308
|
circleNode.addChild(singleCircleNode);
|
|
292
309
|
}
|
|
@@ -296,13 +313,13 @@ class SDGTFLoader {
|
|
|
296
313
|
loadCylinders() {
|
|
297
314
|
return __awaiter(this, void 0, void 0, function* () {
|
|
298
315
|
if (!this._content.cylinders)
|
|
299
|
-
throw new Error(
|
|
316
|
+
throw new Error("Cylinders not available.");
|
|
300
317
|
const cylinder = this._content.cylinders;
|
|
301
|
-
const cylinderNode = new viewer_shared_node_tree_1.TreeNode(
|
|
302
|
-
const data = yield this.loadAccessor(cylinder.attributes[
|
|
318
|
+
const cylinderNode = new viewer_shared_node_tree_1.TreeNode("cylinders");
|
|
319
|
+
const data = yield this.loadAccessor(cylinder.attributes["CYLINDERS"]);
|
|
303
320
|
const count = data.array.length / data.itemSize;
|
|
304
321
|
for (let i = 0; i < count; i++) {
|
|
305
|
-
const singleCylinderNode = new viewer_shared_node_tree_1.TreeNode(
|
|
322
|
+
const singleCylinderNode = new viewer_shared_node_tree_1.TreeNode("cylinder_" + i);
|
|
306
323
|
const index = i * 7;
|
|
307
324
|
const cylinderTop = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
|
|
308
325
|
const cylinderBottom = gl_matrix_1.vec3.fromValues(data.array[index + 3], data.array[index + 4], data.array[index + 5]);
|
|
@@ -322,7 +339,7 @@ class SDGTFLoader {
|
|
|
322
339
|
gl_matrix_1.vec3.normalize(cylinderXAxis, cylinderXAxis);
|
|
323
340
|
gl_matrix_1.vec3.normalize(cylinderYAxis, cylinderYAxis);
|
|
324
341
|
if (cylinderRadius <= 0) {
|
|
325
|
-
this._logger.warn(
|
|
342
|
+
this._logger.warn("SDGTFLoader.loadCylinders: Cylinder radius is <= 0.");
|
|
326
343
|
continue;
|
|
327
344
|
}
|
|
328
345
|
const indices = [];
|
|
@@ -383,27 +400,27 @@ class SDGTFLoader {
|
|
|
383
400
|
}
|
|
384
401
|
}
|
|
385
402
|
const attributes = {};
|
|
386
|
-
attributes[
|
|
387
|
-
attributes[
|
|
388
|
-
attributes[
|
|
403
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
|
|
404
|
+
attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
|
|
405
|
+
attributes["TEXCOORD_0"] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
|
|
389
406
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
|
|
390
407
|
singleCylinderNode.data.push(geometry);
|
|
391
408
|
singleCylinderNode.addTransformation({
|
|
392
|
-
id:
|
|
393
|
-
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), cylinderBottom)
|
|
409
|
+
id: "cylinder_" + i + "_translation",
|
|
410
|
+
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), cylinderBottom),
|
|
394
411
|
});
|
|
395
412
|
const cylinderRotationMatrix = gl_matrix_1.mat4.transpose(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.fromValues(cylinderXAxis[0], cylinderYAxis[0], cylinderAxis[0], 0, cylinderXAxis[1], cylinderYAxis[1], cylinderAxis[1], 0, cylinderXAxis[2], cylinderYAxis[2], cylinderAxis[2], 0, 0, 0, 0, 1));
|
|
396
413
|
singleCylinderNode.addTransformation({
|
|
397
|
-
id:
|
|
398
|
-
matrix: cylinderRotationMatrix
|
|
414
|
+
id: "cylinder_" + i + "_rotation",
|
|
415
|
+
matrix: cylinderRotationMatrix,
|
|
399
416
|
});
|
|
400
417
|
singleCylinderNode.addTransformation({
|
|
401
|
-
id:
|
|
402
|
-
matrix: gl_matrix_1.mat4.rotateX(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), 0.5 * Math.PI)
|
|
418
|
+
id: "cylinder_" + i + "_rotation2",
|
|
419
|
+
matrix: gl_matrix_1.mat4.rotateX(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), 0.5 * Math.PI),
|
|
403
420
|
});
|
|
404
421
|
singleCylinderNode.addTransformation({
|
|
405
|
-
id:
|
|
406
|
-
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(0, 0, 0.5 * gl_matrix_1.vec3.distance(cylinderTop, cylinderBottom)))
|
|
422
|
+
id: "cylinder_" + i + "_translation2",
|
|
423
|
+
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(0, 0, 0.5 * gl_matrix_1.vec3.distance(cylinderTop, cylinderBottom))),
|
|
407
424
|
});
|
|
408
425
|
cylinderNode.addChild(singleCylinderNode);
|
|
409
426
|
}
|
|
@@ -413,18 +430,18 @@ class SDGTFLoader {
|
|
|
413
430
|
loadSpheres() {
|
|
414
431
|
return __awaiter(this, void 0, void 0, function* () {
|
|
415
432
|
if (!this._content.spheres)
|
|
416
|
-
throw new Error(
|
|
433
|
+
throw new Error("Spheres not available.");
|
|
417
434
|
const sphere = this._content.spheres;
|
|
418
|
-
const sphereNode = new viewer_shared_node_tree_1.TreeNode(
|
|
419
|
-
const data = yield this.loadAccessor(sphere.attributes[
|
|
435
|
+
const sphereNode = new viewer_shared_node_tree_1.TreeNode("spheres");
|
|
436
|
+
const data = yield this.loadAccessor(sphere.attributes["SPHERES"]);
|
|
420
437
|
const count = data.array.length / data.itemSize;
|
|
421
438
|
for (let i = 0; i < count; i++) {
|
|
422
|
-
const singleSphereNode = new viewer_shared_node_tree_1.TreeNode(
|
|
439
|
+
const singleSphereNode = new viewer_shared_node_tree_1.TreeNode("sphere_" + i);
|
|
423
440
|
const index = i * 4;
|
|
424
441
|
const sphereTranslation = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
|
|
425
442
|
const sphereRadius = data.array[index + 3];
|
|
426
443
|
if (sphereRadius <= 0) {
|
|
427
|
-
this._logger.warn(
|
|
444
|
+
this._logger.warn("SDGTFLoader.loadSpheres: Sphere radius is <= 0.");
|
|
428
445
|
continue;
|
|
429
446
|
}
|
|
430
447
|
const indices = [];
|
|
@@ -453,7 +470,11 @@ class SDGTFLoader {
|
|
|
453
470
|
for (let ix = 0; ix <= widthSegments; ix++) {
|
|
454
471
|
const u = ix / widthSegments;
|
|
455
472
|
// vertex
|
|
456
|
-
const vertex = gl_matrix_1.vec3.fromValues(-sphereRadius *
|
|
473
|
+
const vertex = gl_matrix_1.vec3.fromValues(-sphereRadius *
|
|
474
|
+
Math.cos(phiStart + u * phiLength) *
|
|
475
|
+
Math.sin(thetaStart + v * thetaLength), sphereRadius * Math.cos(thetaStart + v * thetaLength), sphereRadius *
|
|
476
|
+
Math.sin(phiStart + u * phiLength) *
|
|
477
|
+
Math.sin(thetaStart + v * thetaLength));
|
|
457
478
|
vertices.push(vertex[0], vertex[1], vertex[2]);
|
|
458
479
|
// normal
|
|
459
480
|
const normal = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), vertex);
|
|
@@ -478,14 +499,14 @@ class SDGTFLoader {
|
|
|
478
499
|
}
|
|
479
500
|
}
|
|
480
501
|
const attributes = {};
|
|
481
|
-
attributes[
|
|
482
|
-
attributes[
|
|
483
|
-
attributes[
|
|
502
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
|
|
503
|
+
attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array(normals), 3, 0, 0, 0, false, normals.length / 3);
|
|
504
|
+
attributes["TEXCOORD_0"] = new viewer_shared_types_1.AttributeData(new Float32Array(uvs), 2, 0, 0, 0, false, uvs.length / 2);
|
|
484
505
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
|
|
485
506
|
singleSphereNode.data.push(geometry);
|
|
486
507
|
singleSphereNode.addTransformation({
|
|
487
|
-
id:
|
|
488
|
-
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), sphereTranslation)
|
|
508
|
+
id: "sphere_" + i + "_translation",
|
|
509
|
+
matrix: gl_matrix_1.mat4.translate(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.create(), sphereTranslation),
|
|
489
510
|
});
|
|
490
511
|
sphereNode.addChild(singleSphereNode);
|
|
491
512
|
}
|
|
@@ -495,12 +516,12 @@ class SDGTFLoader {
|
|
|
495
516
|
loadPoint(pointName) {
|
|
496
517
|
return __awaiter(this, void 0, void 0, function* () {
|
|
497
518
|
if (!this._content.points[pointName])
|
|
498
|
-
throw new Error(
|
|
519
|
+
throw new Error("Point not available.");
|
|
499
520
|
const point = this._content.points[pointName];
|
|
500
521
|
const pointNode = new viewer_shared_node_tree_1.TreeNode(pointName);
|
|
501
522
|
const attributes = {};
|
|
502
|
-
const data = yield this.loadAccessor(point.attributes[
|
|
503
|
-
attributes[
|
|
523
|
+
const data = yield this.loadAccessor(point.attributes["POINTS"]);
|
|
524
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
|
|
504
525
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.POINTS);
|
|
505
526
|
pointNode.data.push(geometry);
|
|
506
527
|
return pointNode;
|
|
@@ -509,12 +530,12 @@ class SDGTFLoader {
|
|
|
509
530
|
loadPolyline(polylineName) {
|
|
510
531
|
return __awaiter(this, void 0, void 0, function* () {
|
|
511
532
|
if (!this._content.polylines[polylineName])
|
|
512
|
-
throw new Error(
|
|
533
|
+
throw new Error("Polyline not available.");
|
|
513
534
|
const polyLine = this._content.polylines[polylineName];
|
|
514
535
|
const polyLineNode = new viewer_shared_node_tree_1.TreeNode(polylineName);
|
|
515
536
|
const attributes = {};
|
|
516
|
-
const data = yield this.loadAccessor(polyLine.attributes[
|
|
517
|
-
attributes[
|
|
537
|
+
const data = yield this.loadAccessor(polyLine.attributes["VERTICES"]);
|
|
538
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(data.array, 3, data.itemBytes, data.byteOffset, data.elementBytes, data.normalized, data.count);
|
|
518
539
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP);
|
|
519
540
|
polyLineNode.data.push(geometry);
|
|
520
541
|
return polyLineNode;
|
|
@@ -523,12 +544,12 @@ class SDGTFLoader {
|
|
|
523
544
|
loadSurfacepatch(surfacepatchName) {
|
|
524
545
|
return __awaiter(this, void 0, void 0, function* () {
|
|
525
546
|
if (!this._content.surfacepatches[surfacepatchName])
|
|
526
|
-
throw new Error(
|
|
547
|
+
throw new Error("Surfacepatch not available.");
|
|
527
548
|
const surfacepatch = this._content.surfacepatches[surfacepatchName];
|
|
528
549
|
const surfacepatchNode = new viewer_shared_node_tree_1.TreeNode(surfacepatchName);
|
|
529
550
|
const controlPointCountU = surfacepatch.controlPointCountU;
|
|
530
551
|
const controlPointCountV = surfacepatch.controlPointCountV;
|
|
531
|
-
const controlPointsData = yield this.loadAccessor(surfacepatch.attributes[
|
|
552
|
+
const controlPointsData = yield this.loadAccessor(surfacepatch.attributes["CONTROLPOINTS"]); // vec3
|
|
532
553
|
const controlPoints = [];
|
|
533
554
|
let pointCount = 0;
|
|
534
555
|
for (let u = 0; u < controlPointCountU; u++) {
|
|
@@ -539,12 +560,12 @@ class SDGTFLoader {
|
|
|
539
560
|
}
|
|
540
561
|
controlPoints.push(innerArray);
|
|
541
562
|
}
|
|
542
|
-
const knotsUData = yield this.loadAccessor(surfacepatch.attributes[
|
|
563
|
+
const knotsUData = yield this.loadAccessor(surfacepatch.attributes["KNOTSU"]); // scalar
|
|
543
564
|
const knotsU = [knotsUData.array[0]];
|
|
544
565
|
for (let i = 0; i < knotsUData.array.length; i++)
|
|
545
566
|
knotsU.push(knotsUData.array[i]);
|
|
546
567
|
knotsU.push(knotsUData.array[knotsUData.array.length - 1]);
|
|
547
|
-
const knotsVData = yield this.loadAccessor(surfacepatch.attributes[
|
|
568
|
+
const knotsVData = yield this.loadAccessor(surfacepatch.attributes["KNOTSV"]); // scalar
|
|
548
569
|
const knotsV = [knotsVData.array[0]];
|
|
549
570
|
for (let i = 0; i < knotsVData.array.length; i++)
|
|
550
571
|
knotsV.push(knotsVData.array[i]);
|
|
@@ -643,10 +664,10 @@ class SDGTFLoader {
|
|
|
643
664
|
}
|
|
644
665
|
}
|
|
645
666
|
const attributes = {};
|
|
646
|
-
attributes[
|
|
667
|
+
attributes["POSITION"] = new viewer_shared_types_1.AttributeData(new Float32Array(vertices), 3, 0, 0, 0, false, vertices.length / 3);
|
|
647
668
|
// to not compute normals ourselves, we just let three.js do it
|
|
648
669
|
// in our geometry loader, this array will cause the computation of vertex normals
|
|
649
|
-
attributes[
|
|
670
|
+
attributes["NORMAL"] = new viewer_shared_types_1.AttributeData(new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), 3, 0, 0, 0, false, vertices.length / 3);
|
|
650
671
|
const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, new viewer_shared_types_1.AttributeData(this.convertToIndicesArray(indices), 1, 0, 0, 0, false, indices.length)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES);
|
|
651
672
|
surfacepatchNode.data.push(geometry);
|
|
652
673
|
return surfacepatchNode;
|
|
@@ -654,7 +675,7 @@ class SDGTFLoader {
|
|
|
654
675
|
}
|
|
655
676
|
loadScene() {
|
|
656
677
|
return __awaiter(this, void 0, void 0, function* () {
|
|
657
|
-
const sceneNode = new viewer_shared_node_tree_1.TreeNode(
|
|
678
|
+
const sceneNode = new viewer_shared_node_tree_1.TreeNode("sdgtf_content");
|
|
658
679
|
// arcs
|
|
659
680
|
if (this._content.arcs)
|
|
660
681
|
sceneNode.addChild(yield this.loadArcs());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDGTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iFAAyE;AACzE,+EAAgG;AAChG,iGAIoD;AACpD,yEAMwC;AACxC,yCAA4C;AAE5C,MAAa,WAAW;IAAxB;QACI,yBAAyB;QAER,mCAA8B,GAAG,EAAE,CAAC;QACpC,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAiyBnD,iCAAiC;IACrC,CAAC;IA7xBG,4BAA4B;IAE5B,6BAA6B;IAEhB,IAAI,CAAC,cAA2B,EAAE,UAAkB;;YAC7D,IAAI,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE;gBACxC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC;gBACzG,MAAM,MAAM,GAAG;oBACX,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC9P,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;oBAC1C,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;oBACzC,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;oBACjD,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC;iBACpD,CAAA;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO;oBACvB,MAAM,IAAI,4DAAmC,CAAC,oDAAoD,CAAC,CAAC;gBAExG,iBAAiB;gBACjB,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC,8BAA8B,GAAG,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjI,MAAM,cAAc,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9I;iBAAM;gBACH,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YAED,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;KAAA;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,qBAAqB,CAAC,OAAiB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;QACpC,IAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;SAClC;aAAM,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;SACnC;aAAM;YACH,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;SACnC;IACL,CAAC;IAEa,YAAY,CAAC,YAAoB;;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAE9B,MAAM,QAAQ,GAAG,iDAAY,CAA4B,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,0DAAsB,CAAsC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAEtG,MAAM,YAAY,GAAG,SAAS,CAAC,iBAAiB,CAAC;YACjD,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,CAAC,CAAC;YAE5C,OAAO,IAAI,mCAAa,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrK,CAAC;KAAA;IAEa,QAAQ;;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,kCAAQ,CAAC,MAAM,CAAC,CAAC;YAErC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAE7D,oDAAoD;YACpD,+CAA+C;YAC/C,+DAA+D;YAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE;gBAC5B,MAAM,aAAa,GAAG,IAAI,kCAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvG,MAAM,QAAQ,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAE9D,IAAI,SAAS,IAAI,CAAC,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;oBAC/D,SAAS;iBACZ;gBACD,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAQ,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1B,IAAI,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;oBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzD,uCAAuC;oBACvC,OAAO,UAAU,GAAG,CAAC;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC3C,OAAO,UAAU,GAAG,KAAK;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC/C,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/E,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;oBAC3C,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAA;gBAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;oBACpC,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;gBAClG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAElC,aAAa,CAAC,iBAAiB,CAAC;oBAC5B,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,cAAc;oBAC/B,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClH,CAAC,CAAC;gBAEH,MAAM,iBAAiB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACnE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EACxC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,aAAa,CAAC,iBAAiB,CAAC;oBAC5B,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,WAAW;oBAC5B,MAAM,EAAE,iBAAiB;iBAC5B,CAAC,CAAC;gBAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;aACnC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEa,eAAe,CAAC,eAAuB;;YACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAC,eAAe,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAChG,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAa,CAAC,eAAe,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,IAAI,kCAAQ,CAAC,eAAe,CAAC,CAAC;YAEtD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;YACnG,MAAM,aAAa,GAAW,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;gBACtD,aAAa,CAAC,IAAI,CAAC,gBAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEvI,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,MAAM,KAAK,GAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACvD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAElC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE;gBACnC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAElB,IAAI,GAAG,GAAG,MAAM,CAAC;gBACjB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC;qBACd;yBAAM;wBACH,GAAG,GAAG,GAAG,CAAC;qBACb;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACtC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,CAAA;YAED,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,CAAS,EAAE,EAAE;gBACnD,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE/B,IAAI,KAAK,GAAG,GAAG,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;wBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzB,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;qBACrB;oBACD,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBAChB;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAQ,EAAE;gBACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1B,gBAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;iBACjG;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,qBAAqB,GAAG,CAAC,CAAS,EAAQ,EAAE;gBAC9C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB;gBACrF,yDAAyD;gBACzD,IAAI,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBACnB,uDAAuD;oBACvD,MAAM,GAAG,gBAAI,CAAC,MAAM,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAC3G;gBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAA;YAED,+BAA+B;YAC/B,yDAAyD;YACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE;gBACzC,QAAQ,IAAI,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1M,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;gBACpC,qBAAqB,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAE9C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;YAClG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO,eAAe,CAAC;QAC3B,CAAC;KAAA;IAEa,WAAW;;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,YAAY,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1G,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,WAAW,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;gBAEvE,IAAI,YAAY,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACrE,SAAS;iBACZ;gBAED,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,CAAC,CAAS,EAAQ,EAAE;oBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC1B,IAAI,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACzD,uCAAuC;oBACvC,OAAO,UAAU,GAAG,CAAC;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC3C,OAAO,UAAU,GAAG,KAAK;wBAAE,UAAU,IAAI,KAAK,CAAC;oBAC/C,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/E,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;oBACjC,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAA;gBAED,MAAM,cAAc,GAAG,EAAE,CAAC;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE;oBACpC,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtF,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;gBAClG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErC,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,cAAc;oBAClC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3H,CAAC,CAAC;gBAEH,MAAM,oBAAoB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACtE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EACjD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,WAAW;oBAC/B,MAAM,EAAE,oBAAoB;iBAC/B,CAAC,CAAC;gBAEH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;aAEzC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEa,aAAa;;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,kCAAQ,CAAC,WAAW,CAAC,CAAC;YAE/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,kBAAkB,GAAG,IAAI,kCAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBAEzD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,WAAW,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzG,MAAM,cAAc,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5G,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC7C,MAAM,YAAY,GAAG,gBAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;gBACzE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAI,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExE,IAAI,aAAmB,CAAC;gBACxB,IAAI,IAAI,GAAG,IAAI,EAAE;oBACb,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACrF;qBAAM;oBACH,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAErF;gBACD,MAAM,aAAa,GAAG,gBAAI,CAAC,KAAK,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAE7E,gBAAI,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC3C,gBAAI,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC7C,gBAAI,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAE7C,IAAI,cAAc,IAAI,CAAC,EAAE;oBACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;oBACzE,SAAS;iBACZ;gBAED,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;gBAGzB,MAAM,MAAM,GAAG,gBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC9B,MAAM,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC/C,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,MAAM,UAAU,GAAe,EAAE,CAAC;gBAElC,MAAM,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,EAAE,CAAC;gBAE9C,MAAM,MAAM,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,CAAC,CAAC;gBAChB,qCAAqC;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,QAAQ,GAAG,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBAC7B,0CAA0C;oBAC1C,MAAM,MAAM,GAAG,cAAc,CAAC;oBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;wBAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,GAAG,UAAU,CAAC;wBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACjC,SAAS;wBACT,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;wBAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC;wBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;wBAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,SAAS;wBACT,gBAAI,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;wBAClE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,KAAK;wBACL,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnB,yCAAyC;wBACzC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;qBACjC;oBACD,kDAAkD;oBAClD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC7B;gBAED,mBAAmB;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;oBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;wBACrC,uDAAuD;wBACvD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC/B,QAAQ;wBACR,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtB,uBAAuB;wBACvB,UAAU,IAAI,CAAC,CAAC;qBACnB;iBACJ;gBAED,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9G,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1G,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtG,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;gBACtL,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEvC,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,cAAc;oBACpC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC;iBACvE,CAAC,CAAC;gBAEH,MAAM,sBAAsB,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CACxE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EACtD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CACb,CAAC,CAAC;gBACH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,WAAW;oBACjC,MAAM,EAAE,sBAAsB;iBACjC,CAAC,CAAC;gBAGH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,YAAY;oBAClC,MAAM,EAAE,gBAAI,CAAC,OAAO,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;iBACpE,CAAC,CAAC;gBACH,kBAAkB,CAAC,iBAAiB,CAAC;oBACjC,EAAE,EAAE,WAAW,GAAG,CAAC,GAAG,eAAe;oBACrC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,gBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;iBAChI,CAAC,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;aAE7C;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEa,WAAW;;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC5B,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,MAAM,iBAAiB,GAAG,gBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/G,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,YAAY,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBACrE,SAAS;iBACZ;gBAED,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAe,EAAE,CAAC;gBAE5B,sDAAsD;gBACtD,4CAA4C;gBAC5C,MAAM,cAAc,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAE7D,IAAI,YAAY,GAAG,CAAC,CAAC;gBAErB,qCAAqC;gBAErC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,cAAc,EAAE,EAAE,EAAE,EAAE;oBACzC,MAAM,WAAW,GAAG,EAAE,CAAC;oBACvB,MAAM,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;oBAE9B,6BAA6B;oBAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE;wBAC5B,OAAO,GAAG,GAAG,GAAG,aAAa,CAAC;qBACjC;yBAAM,IAAI,EAAE,IAAI,cAAc,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;wBACpD,OAAO,GAAG,CAAE,GAAG,GAAG,aAAa,CAAC;qBACnC;oBACD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,aAAa,EAAE,EAAE,EAAE,EAAE;wBACxC,MAAM,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;wBAC7B,SAAS;wBACT,MAAM,MAAM,GAAG,gBAAI,CAAC,UAAU,CAC1B,CAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,EAC5F,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,EACrD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,CAC7F,CAAC;wBACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,SAAS;wBACT,MAAM,MAAM,GAAG,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;wBACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9C,KAAK;wBACL,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC7B,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC1B;gBAED,UAAU;gBACV,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE,EAAE;oBACxC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,aAAa,EAAE,EAAE,EAAE,EAAE;wBACvC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtD,IAAI,EAAE,KAAK,cAAc,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE;4BAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC9E;iBACJ;gBAED,MAAM,UAAU,GAEZ,EAAE,CAAC;gBACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC9G,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC1G,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAEtG,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;gBACtL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAErC,gBAAgB,CAAC,iBAAiB,CAAC;oBAC/B,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,cAAc;oBAClC,MAAM,EAAE,gBAAI,CAAC,SAAS,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC;iBAC1E,CAAC,CAAC;gBACH,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;aAEzC;YACD,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEa,SAAS,CAAC,SAAiB;;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,SAAS,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,kCAAQ,CAAC,SAAS,CAAC,CAAC;YAE1C,MAAM,UAAU,GAEZ,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1I,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,MAAM,CAAC,CAAC;YAC9F,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAEa,YAAY,CAAC,YAAoB;;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,kCAAQ,CAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,UAAU,GAEZ,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1I,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,oCAAc,CAAC,UAAU,CAAC,CAAC;YAClG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjC,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAEa,gBAAgB,CAAC,gBAAwB;;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAe,CAAC,gBAAgB,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;YACpG,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAe,CAAC,gBAAgB,CAAC,CAAC;YACrE,MAAM,gBAAgB,GAAG,IAAI,kCAAQ,CAAC,gBAAgB,CAAC,CAAC;YAExD,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAC3D,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC;YAE3D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO;YACpG,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,UAAU,GAAG,EAAE,CAAA;gBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;oBACzC,UAAU,CAAC,IAAI,CAAC,gBAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvK,UAAU,EAAE,CAAC;iBAChB;gBACD,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,MAAM,MAAM,GAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACxF,MAAM,MAAM,GAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YAErC,MAAM,QAAQ,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,CAAS,EAAU,EAAE;gBACpE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC;oBAClB,OAAO,MAAM,CAAC;gBAElB,IAAI,GAAG,GAAG,MAAM,CAAC;gBACjB,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAC1C,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC;qBACd;yBAAM;wBACH,GAAG,GAAG,GAAG,CAAC;qBACb;oBACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACtC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,CAAA;YAED,MAAM,kBAAkB,GAAG,CAAC,KAAe,EAAE,MAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;gBACpF,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAEX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE/B,IAAI,KAAK,GAAG,GAAG,CAAC;oBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;wBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzB,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;qBACrB;oBACD,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBAChB;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAA;YAED,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE;gBAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,IAAI,GAAW,EAAE,CAAC;gBAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;oBAE/B,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;wBAE/B,MAAM,KAAK,GAAG,gBAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClF,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACd,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;qBAC/G;iBACJ;gBAED,MAAM,EAAE,GAAG,gBAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE;oBAC/B,gBAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,gBAAI,CAAC,QAAQ,CAAC,gBAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBACvG;gBAED,gBAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAChE,OAAO,gBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC,CAAA;YAED,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAE,EAAU,EAAQ,EAAE;gBAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAC3F,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;gBAC3F,OAAO,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC,CAAA;YAED,MAAM,cAAc,GAAG,EAAE,CAAC;YAE1B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;oBAC7B,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClD;aACJ;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACxC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChD,oBAAoB;oBACpB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;iBAC5B;aACJ;YAED,MAAM,UAAU,GAEZ,EAAE,CAAC;YACP,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/G,+DAA+D;YAC/D,kFAAkF;YAClF,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,mCAAa,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnI,MAAM,QAAQ,GAAG,IAAI,kCAAY,CAAC,IAAI,mCAAa,CAAC,UAAU,EAAE,IAAI,mCAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oCAAc,CAAC,SAAS,CAAC,CAAC;YACtL,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErC,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;IAGa,SAAS;;YACnB,MAAM,SAAS,GAAG,IAAI,kCAAQ,CAAC,eAAe,CAAC,CAAC;YAEhD,OAAO;YACP,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE9C,eAAe;YACf,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC5B,KAAK,IAAI,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY;oBAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;aACnE;YAED,UAAU;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjD,YAAY;YACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACvB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEnD,QAAQ;YACR,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACtB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACvD;YAED,YAAY;YACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBACzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS;oBACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YAED,UAAU;YACV,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACrB,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjD,iBAAiB;YACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAC9B,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc;oBACjD,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;aACrE;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;CAGJ;AAtyBD,kCAsyBC"}
|
|
1
|
+
{"version":3,"file":"SDGTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IGLTF_v2 } from "@shapediver/viewer.data-engine.shared-types";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
3
|
export declare enum GLTF_EXTENSIONS {
|
|
4
4
|
KHR_BINARY_GLTF = "KHR_binary_glTF",
|
|
5
5
|
KHR_DRACO_MESH_COMPRESSION = "KHR_draco_mesh_compression",
|
|
@@ -50,10 +50,10 @@ export declare class GLTFLoader {
|
|
|
50
50
|
}, baseUri?: string, taskEventId?: string): Promise<ITreeNode>;
|
|
51
51
|
loadWithUrl(url?: string | undefined): Promise<ITreeNode>;
|
|
52
52
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations
|
|
54
|
+
* @param {number} animationIndex
|
|
55
|
+
* @return {Promise<AnimationClip>}
|
|
56
|
+
*/
|
|
57
57
|
private loadAnimation;
|
|
58
58
|
private loadCamera;
|
|
59
59
|
private loadLights;
|