ol 7.3.1-dev.1680098251703 → 7.3.1-dev.1680103314833

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ol",
3
- "version": "7.3.1-dev.1680098251703",
3
+ "version": "7.3.1-dev.1680103314833",
4
4
  "description": "OpenLayers mapping library",
5
5
  "keywords": [
6
6
  "map",
@@ -12,7 +12,7 @@ export type CustomAttribute = {
12
12
  * This callback computes the numerical value of the
13
13
  * attribute for a given feature.
14
14
  */
15
- callback: (arg0: import("../../Feature").default) => number;
15
+ callback: (arg0: import("../../Feature").FeatureLike) => number;
16
16
  };
17
17
  /**
18
18
  * @classdesc Abstract class for batch renderers.
@@ -55,23 +55,26 @@ declare class AbstractBatchRenderer {
55
55
  */
56
56
  protected customAttributes: Array<CustomAttribute>;
57
57
  /**
58
- * Rebuild rendering instructions and webgl buffers based on the provided frame state
59
- * Note: this is a costly operation.
58
+ * Rebuild rendering instructions and generate webgl buffers from them
60
59
  * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
61
- * @param {import("../../Map").FrameState} frameState Frame state.
60
+ * @param {import("../../transform.js").Transform} currentTransform Transform
62
61
  * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
63
62
  * @param {function(): void} callback Function called once the render buffers are updated
64
63
  */
65
- rebuild(batch: import("./MixedGeometryBatch.js").GeometryBatch, frameState: import("../../Map").FrameState, geometryType: import("../../geom/Geometry.js").Type, callback: () => void): void;
64
+ rebuild(batch: import("./MixedGeometryBatch.js").GeometryBatch, currentTransform: import("../../transform.js").Transform, geometryType: import("../../geom/Geometry.js").Type, callback: () => void): void;
65
+ /**
66
+ * Render the geometries in the batch. This will also update the current transform used for rendering according to
67
+ * the invert transform of the webgl buffers
68
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
69
+ */
70
+ render(batch: import("./MixedGeometryBatch.js").GeometryBatch): void;
66
71
  /**
67
72
  * Render the geometries in the batch. This will also update the current transform used for rendering according to
68
73
  * the invert transform of the webgl buffers
69
74
  * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
70
- * @param {import("../../transform.js").Transform} currentTransform Transform
71
75
  * @param {import("../../Map.js").FrameState} frameState Frame state.
72
- * @param {number} offsetX X offset
73
76
  */
74
- render(batch: import("./MixedGeometryBatch.js").GeometryBatch, currentTransform: import("../../transform.js").Transform, frameState: import("../../Map.js").FrameState, offsetX: number): void;
77
+ preRender(batch: import("./MixedGeometryBatch.js").GeometryBatch, frameState: import("../../Map.js").FrameState): void;
75
78
  /**
76
79
  * Rebuild rendering instructions based on the provided frame state
77
80
  * This is specific to the geometry type and has to be implemented by subclasses.
@@ -1 +1 @@
1
- {"version":3,"file":"BatchRenderer.d.ts","sourceRoot":"","sources":["BatchRenderer.js"],"names":[],"mappings":";;;;;;;;;UAec,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,OAAO,KAAE,MAAM;;AAM9D;;;;GAIG;AACH;IACE;;;;;;OAMG;IACH,oBANW,OAAO,uBAAuB,EAAE,OAAO,UACvC,MAAM,gBACN,MAAM,kBACN,MAAM,oBACN,MAAM,eAAe,CAAC,EAiChC;IA9BC;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,iBAAqE;IAErE;;;;OAIG;IACH,sBAHU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAGjD;IAEpB;;;OAGG;IACH,4BAHU,MAAM,eAAe,CAAC,CAGQ;IAG1C;;;;;;;OAOG;IACH,eALW,OAAO,yBAAyB,EAAE,aAAa,cAC/C,OAAO,WAAW,EAAE,UAAU,gBAC9B,OAAO,wBAAwB,EAAE,IAAI,kBACzB,IAAI,QAU1B;IAED;;;;;;;OAOG;IACH,cALW,OAAO,yBAAyB,EAAE,aAAa,oBAC/C,OAAO,oBAAoB,EAAE,SAAS,cACtC,OAAO,cAAc,EAAE,UAAU,WACjC,MAAM,QAgBhB;IAED;;;;;OAKG;IACH,4CAHW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;;;OAOG;IACH,yBAoEC;CACF"}
1
+ {"version":3,"file":"BatchRenderer.d.ts","sourceRoot":"","sources":["BatchRenderer.js"],"names":[],"mappings":";;;;;;;;;UAac,MAAM;;;;;qBACG,OAAO,eAAe,EAAE,WAAW,KAAE,MAAM;;AAMlE;;;;GAIG;AACH;IACE;;;;;;OAMG;IACH,oBANW,OAAO,uBAAuB,EAAE,OAAO,UACvC,MAAM,gBACN,MAAM,kBACN,MAAM,oBACN,MAAM,eAAe,CAAC,EAiChC;IA9BC;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,gBAAqB;IAErB;;;OAGG;IACH,iBAAqE;IAErE;;;;OAIG;IACH,sBAHU,MAAM,OAAO,uBAAuB,EAAE,oBAAoB,CAAC,CAGjD;IAEpB;;;OAGG;IACH,4BAHU,MAAM,eAAe,CAAC,CAGQ;IAG1C;;;;;;OAMG;IACH,eALW,OAAO,yBAAyB,EAAE,aAAa,oBAC/C,OAAO,oBAAoB,EAAE,SAAS,gBACtC,OAAO,wBAAwB,EAAE,IAAI,kBACzB,IAAI,QAO1B;IAED;;;;OAIG;IACH,cAFW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;OAKG;IACH,iBAHW,OAAO,yBAAyB,EAAE,aAAa,cAC/C,OAAO,cAAc,EAAE,UAAU,QAQ3C;IAED;;;;;OAKG;IACH,4CAHW,OAAO,yBAAyB,EAAE,aAAa,QAKzD;IAED;;;;;;;OAOG;IACH,yBAmEC;CACF"}
@@ -4,17 +4,15 @@
4
4
  import {WebGLWorkerMessageType} from './constants.js';
5
5
  import {abstract} from '../../util.js';
6
6
  import {
7
- create as createTransform,
8
7
  makeInverse as makeInverseTransform,
9
- multiply as multiplyTransform,
10
- translate as translateTransform,
8
+ setFromArray as setFromTransform,
11
9
  } from '../../transform.js';
12
10
 
13
11
  /**
14
12
  * @typedef {Object} CustomAttribute A description of a custom attribute to be passed on to the GPU, with a value different
15
13
  * for each feature.
16
14
  * @property {string} name Attribute name.
17
- * @property {function(import("../../Feature").default):number} callback This callback computes the numerical value of the
15
+ * @property {function(import("../../Feature").FeatureLike):number} callback This callback computes the numerical value of the
18
16
  * attribute for a given feature.
19
17
  */
20
18
 
@@ -67,19 +65,15 @@ class AbstractBatchRenderer {
67
65
  }
68
66
 
69
67
  /**
70
- * Rebuild rendering instructions and webgl buffers based on the provided frame state
71
- * Note: this is a costly operation.
68
+ * Rebuild rendering instructions and generate webgl buffers from them
72
69
  * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
73
- * @param {import("../../Map").FrameState} frameState Frame state.
70
+ * @param {import("../../transform.js").Transform} currentTransform Transform
74
71
  * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
75
72
  * @param {function(): void} callback Function called once the render buffers are updated
76
73
  */
77
- rebuild(batch, frameState, geometryType, callback) {
78
- // store transform for rendering instructions
79
- batch.renderInstructionsTransform = this.helper_.makeProjectionTransform(
80
- frameState,
81
- createTransform()
82
- );
74
+ rebuild(batch, currentTransform, geometryType, callback) {
75
+ // this transform is the frame of reference for the upcoming render instructions
76
+ setFromTransform(batch.renderInstructionsTransform, currentTransform);
83
77
  this.generateRenderInstructions(batch);
84
78
  this.generateBuffers_(batch, geometryType, callback);
85
79
  }
@@ -88,24 +82,24 @@ class AbstractBatchRenderer {
88
82
  * Render the geometries in the batch. This will also update the current transform used for rendering according to
89
83
  * the invert transform of the webgl buffers
90
84
  * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
91
- * @param {import("../../transform.js").Transform} currentTransform Transform
92
- * @param {import("../../Map.js").FrameState} frameState Frame state.
93
- * @param {number} offsetX X offset
94
85
  */
95
- render(batch, currentTransform, frameState, offsetX) {
96
- // multiply the current projection transform with the invert of the one used to fill buffers
97
- this.helper_.makeProjectionTransform(frameState, currentTransform);
98
- translateTransform(currentTransform, offsetX, 0);
99
- multiplyTransform(currentTransform, batch.invertVerticesBufferTransform);
86
+ render(batch) {
87
+ const renderCount = batch.indicesBuffer.getSize();
88
+ this.helper_.drawElements(0, renderCount);
89
+ }
100
90
 
91
+ /**
92
+ * Render the geometries in the batch. This will also update the current transform used for rendering according to
93
+ * the invert transform of the webgl buffers
94
+ * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
95
+ * @param {import("../../Map.js").FrameState} frameState Frame state.
96
+ */
97
+ preRender(batch, frameState) {
101
98
  // enable program, buffers and attributes
102
99
  this.helper_.useProgram(this.program_, frameState);
103
100
  this.helper_.bindBuffer(batch.verticesBuffer);
104
101
  this.helper_.bindBuffer(batch.indicesBuffer);
105
102
  this.helper_.enableAttributes(this.attributes);
106
-
107
- const renderCount = batch.indicesBuffer.getSize();
108
- this.helper_.drawElements(0, renderCount);
109
103
  }
110
104
 
111
105
  /**
@@ -172,11 +166,10 @@ class AbstractBatchRenderer {
172
166
  // we've received our response: stop listening
173
167
  this.worker_.removeEventListener('message', handleMessage);
174
168
 
175
- // store transform & invert transform for webgl buffers
176
- batch.verticesBufferTransform = received.renderInstructionsTransform;
169
+ // invert transform for webgl buffers
177
170
  makeInverseTransform(
178
171
  batch.invertVerticesBufferTransform,
179
- batch.verticesBufferTransform
172
+ received.renderInstructionsTransform
180
173
  );
181
174
 
182
175
  // copy & flush received buffers to GPU
@@ -1,4 +1,7 @@
1
1
  export default MixedGeometryBatch;
2
+ export type RenderFeature = import("../../render/Feature").default;
3
+ export type Feature = import("../../Feature").default;
4
+ export type GeometryType = import("../../geom/Geometry.js").Type;
2
5
  /**
3
6
  * Object that holds a reference to a feature as well as the raw coordinates of its various geometries
4
7
  */
@@ -6,7 +9,7 @@ export type GeometryBatchItem = {
6
9
  /**
7
10
  * Feature
8
11
  */
9
- feature: import("../../Feature").default;
12
+ feature: Feature | RenderFeature;
10
13
  /**
11
14
  * Array of flat coordinates arrays, one for each geometry related to the feature
12
15
  */
@@ -57,10 +60,6 @@ export type PolygonGeometryBatch = {
57
60
  * Converts world space coordinates to screen space; applies to the rendering instructions
58
61
  */
59
62
  renderInstructionsTransform: import("../../transform.js").Transform;
60
- /**
61
- * Converts world space coordinates to screen space; applies to the webgl vertices buffer
62
- */
63
- verticesBufferTransform: import("../../transform.js").Transform;
64
63
  /**
65
64
  * Screen space to world space; applies to the webgl vertices buffer
66
65
  */
@@ -106,10 +105,6 @@ export type LineStringGeometryBatch = {
106
105
  * Converts world space coordinates to screen space; applies to the rendering instructions
107
106
  */
108
107
  renderInstructionsTransform: import("../../transform.js").Transform;
109
- /**
110
- * Converts world space coordinates to screen space; applies to the webgl vertices buffer
111
- */
112
- verticesBufferTransform: import("../../transform.js").Transform;
113
108
  /**
114
109
  * Screen space to world space; applies to the webgl vertices buffer
115
110
  */
@@ -151,18 +146,23 @@ export type PointGeometryBatch = {
151
146
  * Converts world space coordinates to screen space; applies to the rendering instructions
152
147
  */
153
148
  renderInstructionsTransform: import("../../transform.js").Transform;
154
- /**
155
- * Converts world space coordinates to screen space; applies to the webgl vertices buffer
156
- */
157
- verticesBufferTransform: import("../../transform.js").Transform;
158
149
  /**
159
150
  * Screen space to world space; applies to the webgl vertices buffer
160
151
  */
161
152
  invertVerticesBufferTransform: import("../../transform.js").Transform;
162
153
  };
154
+ /**
155
+ * @typedef {import("../../render/Feature").default} RenderFeature
156
+ */
157
+ /**
158
+ * @typedef {import("../../Feature").default} Feature
159
+ */
160
+ /**
161
+ * @typedef {import("../../geom/Geometry.js").Type} GeometryType
162
+ */
163
163
  /**
164
164
  * @typedef {Object} GeometryBatchItem Object that holds a reference to a feature as well as the raw coordinates of its various geometries
165
- * @property {import("../../Feature").default} feature Feature
165
+ * @property {Feature|RenderFeature} feature Feature
166
166
  * @property {Array<Array<number>>} flatCoordss Array of flat coordinates arrays, one for each geometry related to the feature
167
167
  * @property {number} [verticesCount] Only defined for linestring and polygon batches
168
168
  * @property {number} [ringsCount] Only defined for polygon batches
@@ -181,7 +181,6 @@ export type PointGeometryBatch = {
181
181
  * @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
182
182
  * @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
183
183
  * @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
184
- * @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
185
184
  * @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
186
185
  * @property {number} verticesCount Amount of vertices from geometries in the batch.
187
186
  * @property {number} ringsCount How many outer and inner rings in this batch.
@@ -196,7 +195,6 @@ export type PointGeometryBatch = {
196
195
  * @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
197
196
  * @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
198
197
  * @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
199
- * @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
200
198
  * @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
201
199
  * @property {number} verticesCount Amount of vertices from geometries in the batch.
202
200
  */
@@ -210,7 +208,6 @@ export type PointGeometryBatch = {
210
208
  * @property {WebGLArrayBuffer} verticesBuffer Vertices WebGL buffer
211
209
  * @property {WebGLArrayBuffer} indicesBuffer Indices WebGL buffer
212
210
  * @property {import("../../transform.js").Transform} renderInstructionsTransform Converts world space coordinates to screen space; applies to the rendering instructions
213
- * @property {import("../../transform.js").Transform} verticesBufferTransform Converts world space coordinates to screen space; applies to the webgl vertices buffer
214
211
  * @property {import("../../transform.js").Transform} invertVerticesBufferTransform Screen space to world space; applies to the webgl vertices buffer
215
212
  */
216
213
  /**
@@ -246,60 +243,51 @@ declare class MixedGeometryBatch {
246
243
  */
247
244
  lineStringBatch: LineStringGeometryBatch;
248
245
  /**
249
- * @param {Array<import("../../Feature").default>} features Array of features to add to the batch
246
+ * @param {Array<Feature|RenderFeature>} features Array of features to add to the batch
250
247
  */
251
- addFeatures(features: Array<import("../../Feature").default>): void;
248
+ addFeatures(features: Array<Feature | RenderFeature>): void;
252
249
  /**
253
- * @param {import("../../Feature").default} feature Feature to add to the batch
250
+ * @param {Feature|RenderFeature} feature Feature to add to the batch
254
251
  */
255
- addFeature(feature: import("../../Feature").default): void;
252
+ addFeature(feature: Feature | RenderFeature): void;
256
253
  /**
257
- * @param {import("../../Feature").default} feature Feature
258
- * @return {GeometryBatchItem} Batch item added (or existing one)
259
- * @private
260
- */
261
- private addFeatureEntryInPointBatch_;
262
- /**
263
- * @param {import("../../Feature").default} feature Feature
264
- * @return {GeometryBatchItem} Batch item added (or existing one)
265
- * @private
266
- */
267
- private addFeatureEntryInLineStringBatch_;
268
- /**
269
- * @param {import("../../Feature").default} feature Feature
270
- * @return {GeometryBatchItem} Batch item added (or existing one)
271
- * @private
272
- */
273
- private addFeatureEntryInPolygonBatch_;
274
- /**
275
- * @param {import("../../Feature").default} feature Feature
254
+ * @param {Feature|RenderFeature} feature Feature
276
255
  * @private
277
256
  */
278
257
  private clearFeatureEntryInPointBatch_;
279
258
  /**
280
- * @param {import("../../Feature").default} feature Feature
259
+ * @param {Feature|RenderFeature} feature Feature
281
260
  * @private
282
261
  */
283
262
  private clearFeatureEntryInLineStringBatch_;
284
263
  /**
285
- * @param {import("../../Feature").default} feature Feature
264
+ * @param {Feature|RenderFeature} feature Feature
286
265
  * @private
287
266
  */
288
267
  private clearFeatureEntryInPolygonBatch_;
289
268
  /**
290
- * @param {import("../../geom").Geometry} geometry Geometry
291
- * @param {import("../../Feature").default} feature Feature
269
+ * @param {import("../../geom").Geometry|RenderFeature} geometry Geometry
270
+ * @param {Feature|RenderFeature} feature Feature
292
271
  * @private
293
272
  */
294
273
  private addGeometry_;
295
274
  /**
296
- * @param {import("../../Feature").default} feature Feature
275
+ * @param {GeometryType} type Geometry type
276
+ * @param {Array<number>} flatCoords Flat coordinates
277
+ * @param {Array<number> | Array<Array<number>> | null} ends Coordinate ends
278
+ * @param {Feature|RenderFeature} feature Feature
279
+ * @param {string} featureUid Feature uid
280
+ * @private
281
+ */
282
+ private addCoordinates_;
283
+ /**
284
+ * @param {Feature|RenderFeature} feature Feature
297
285
  */
298
- changeFeature(feature: import("../../Feature").default): void;
286
+ changeFeature(feature: Feature | RenderFeature): void;
299
287
  /**
300
- * @param {import("../../Feature").default} feature Feature
288
+ * @param {Feature|RenderFeature} feature Feature
301
289
  */
302
- removeFeature(feature: import("../../Feature").default): void;
290
+ removeFeature(feature: Feature | RenderFeature): void;
303
291
  clear(): void;
304
292
  }
305
293
  import WebGLArrayBuffer from '../../webgl/Buffer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"MixedGeometryBatch.d.ts","sourceRoot":"","sources":["MixedGeometryBatch.js"],"names":[],"mappings":";;;;;;;;aAUc,OAAO,eAAe,EAAE,OAAO;;;;iBAC/B,MAAM,MAAM,MAAM,CAAC,CAAC;;;;;;;;;;;;;;4BAOrB,kBAAkB,GAAC,uBAAuB,GAAC,oBAAoB;;;;;;;;;;YAKvD,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;6BACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;gBACN,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;6BACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;6BACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;AAvDpD;;;;;;;GAOG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAEI;;OAEG;IACH,cAFU,oBAAoB,CAa7B;IAED;;OAEG;IACH,YAFU,kBAAkB,CAW3B;IAED;;OAEG;IACH,iBAFU,uBAAuB,CAYhC;IAGH;;OAEG;IACH,sBAFW,MAAM,OAAO,eAAe,EAAE,OAAO,CAAC,QAMhD;IAED;;OAEG;IACH,oBAFW,OAAO,eAAe,EAAE,OAAO,QAQzC;IAED;;;;OAIG;IACH,qCASC;IAED;;;;OAIG;IACH,0CAUC;IAED;;;;OAIG;IACH,uCAYC;IAED;;;OAGG;IACH,uCAOC;IAED;;;OAGG;IACH,4CAQC;IAED;;;OAGG;IACH,yCASC;IAED;;;;OAIG;IACH,qBAyEC;IAED;;OAEG;IACH,uBAFW,OAAO,eAAe,EAAE,OAAO,QAWzC;IAED;;OAEG;IACH,uBAFW,OAAO,eAAe,EAAE,OAAO,QAMzC;IAED,cAUC;CACF;6BAtW4B,uBAAuB"}
1
+ {"version":3,"file":"MixedGeometryBatch.d.ts","sourceRoot":"","sources":["MixedGeometryBatch.js"],"names":[],"mappings":";4BAUa,OAAO,sBAAsB,EAAE,OAAO;sBAGtC,OAAO,eAAe,EAAE,OAAO;2BAG/B,OAAO,wBAAwB,EAAE,IAAI;;;;;;;;aAKpC,OAAO,GAAC,aAAa;;;;iBACrB,MAAM,MAAM,MAAM,CAAC,CAAC;;;;;;;;;;;;;;4BAOrB,kBAAkB,GAAC,uBAAuB,GAAC,oBAAoB;;;;;;;;;;YAKvD,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;gBACN,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;;;mBACtC,MAAM;;;;;;;;;;;YAKC,MAAM,GAAE,iBAAiB;;;;;qBAEhC,MAAM;;;;;wBACN,YAAY;;;;oBAEZ,gBAAgB;;;;mBAChB,gBAAgB;;;;iCAChB,OAAO,oBAAoB,EAAE,SAAS;;;;mCACtC,OAAO,oBAAoB,EAAE,SAAS;;AA9DpD;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;;;;;;GAOG;AAEH;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAEI;;OAEG;IACH,cAFU,oBAAoB,CAY7B;IAED;;OAEG;IACH,YAFU,kBAAkB,CAU3B;IAED;;OAEG;IACH,iBAFU,uBAAuB,CAWhC;IAGH;;OAEG;IACH,sBAFW,MAAM,OAAO,GAAC,aAAa,CAAC,QAMtC;IAED;;OAEG;IACH,oBAFW,OAAO,GAAC,aAAa,QAQ/B;IAED;;;OAGG;IACH,uCAOC;IAED;;;OAGG;IACH,4CAQC;IAED;;;OAGG;IACH,yCASC;IAED;;;;OAIG;IACH,qBAwFC;IAED;;;;;;;OAOG;IACH,wBA6IC;IAED;;OAEG;IACH,uBAFW,OAAO,GAAC,aAAa,QAW/B;IAED;;OAEG;IACH,uBAFW,OAAO,GAAC,aAAa,QAM/B;IAED,cAUC;CACF;6BA7d4B,uBAAuB"}