@mapvx/web-js 3.5.0-dev.1 → 3.5.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/controllers/routeController.js +221 -47
  2. package/dist/cjs/controllers/routeController.js.map +1 -1
  3. package/dist/cjs/domain/models/animation.js.map +1 -1
  4. package/dist/cjs/domain/models/marker.js +31 -0
  5. package/dist/cjs/domain/models/marker.js.map +1 -1
  6. package/dist/cjs/domain/models/routeInstance.js.map +1 -1
  7. package/dist/cjs/logger/sentry.js +1 -1
  8. package/dist/cjs/map/map.js +18 -10
  9. package/dist/cjs/map/map.js.map +1 -1
  10. package/dist/cjs/utils/loadGlb.js +55 -20
  11. package/dist/cjs/utils/loadGlb.js.map +1 -1
  12. package/dist/cjs/utils/three.js +70 -34
  13. package/dist/cjs/utils/three.js.map +1 -1
  14. package/dist/es/controllers/routeController.d.ts +14 -0
  15. package/dist/es/controllers/routeController.d.ts.map +1 -1
  16. package/dist/es/controllers/routeController.js +221 -47
  17. package/dist/es/controllers/routeController.js.map +1 -1
  18. package/dist/es/domain/models/animation.d.ts +19 -0
  19. package/dist/es/domain/models/animation.d.ts.map +1 -1
  20. package/dist/es/domain/models/animation.js.map +1 -1
  21. package/dist/es/domain/models/marker.d.ts +27 -0
  22. package/dist/es/domain/models/marker.d.ts.map +1 -1
  23. package/dist/es/domain/models/marker.js +31 -0
  24. package/dist/es/domain/models/marker.js.map +1 -1
  25. package/dist/es/domain/models/routeInstance.d.ts +11 -0
  26. package/dist/es/domain/models/routeInstance.d.ts.map +1 -1
  27. package/dist/es/domain/models/routeInstance.js.map +1 -1
  28. package/dist/es/logger/sentry.js +1 -1
  29. package/dist/es/map/map.d.ts +9 -0
  30. package/dist/es/map/map.d.ts.map +1 -1
  31. package/dist/es/map/map.js +18 -10
  32. package/dist/es/map/map.js.map +1 -1
  33. package/dist/es/utils/loadGlb.d.ts +41 -0
  34. package/dist/es/utils/loadGlb.d.ts.map +1 -1
  35. package/dist/es/utils/loadGlb.js +55 -21
  36. package/dist/es/utils/loadGlb.js.map +1 -1
  37. package/dist/es/utils/three.d.ts +37 -8
  38. package/dist/es/utils/three.d.ts.map +1 -1
  39. package/dist/es/utils/three.js +68 -32
  40. package/dist/es/utils/three.js.map +1 -1
  41. package/dist/umd/index.js +548 -205
  42. package/dist/umd/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -12,6 +12,31 @@ const DEFAULT_AUTO_FIT_PADDING = {
12
12
  bottom: 150,
13
13
  left: 150,
14
14
  };
15
+ /**
16
+ * Longest gap between two frames, in milliseconds, that still counts as
17
+ * animation time.
18
+ *
19
+ * The frame loop charges the marker for however much wall clock has elapsed,
20
+ * which is what makes a step take `stepTime` at any frame rate. A gap larger
21
+ * than any frame rate can explain is not slow rendering, though — it is time
22
+ * the animation did not run at all. `requestAnimationFrame` does not fire in a
23
+ * backgrounded tab, so the first frame after the page comes back carries the
24
+ * entire absence, and charging it advanced the draw by the whole gap: one
25
+ * frame 10 s late at 50 m/s consumed exactly a hundred vertices in a single
26
+ * `setData`, with the camera following the line as it jumped.
27
+ *
28
+ * Such a gap is therefore not charged (see `animateStep`). This is deliberately
29
+ * NOT a clamp on how far one frame may advance: clamping would cap the catch-up
30
+ * and hand back the frame-rate independence this loop exists to provide, and it
31
+ * would still be wrong — the marker would sprint to catch up through time
32
+ * nobody watched. Skipping the gap instead is what a pause does, which is what
33
+ * an absence is.
34
+ *
35
+ * 500 ms is two frames per second. Real rendering does not sustain anything
36
+ * near that low, so the threshold only ever separates absence from rendering,
37
+ * and never shortens the catch-up of a genuinely slow frame.
38
+ */
39
+ const MAX_FRAME_GAP_MS = 500;
15
40
  /**
16
41
  * Represents the controller for routes on the map.
17
42
  * Supports multiple simultaneous routes with independent customizations,
@@ -35,10 +60,16 @@ export class RouteController {
35
60
  }
36
61
  /**
37
62
  * Add MapLibre sources and layers for a single route instance.
63
+ *
64
+ * All three sources set `lineMetrics`: maplibre computes `line-progress` only
65
+ * when a source asks it to, and `preparePaintForLayer` emits a
66
+ * `line-progress` gradient for a GradientStyle. Without it, a consumer
67
+ * setting a gradient route style silently got no gradient at all.
38
68
  */
39
69
  addSourcesAndLayersForRoute(instance) {
40
70
  this.map.addSource(instance.aheadId, {
41
71
  type: "geojson",
72
+ lineMetrics: true,
42
73
  data: instance.aheadSourceData,
43
74
  });
44
75
  this.map.addLayer({
@@ -52,6 +83,7 @@ export class RouteController {
52
83
  });
53
84
  this.map.addSource(instance.behindId, {
54
85
  type: "geojson",
86
+ lineMetrics: true,
55
87
  data: instance.behindSourceData,
56
88
  });
57
89
  this.map.addLayer({
@@ -65,6 +97,7 @@ export class RouteController {
65
97
  });
66
98
  this.map.addSource(instance.currentId, {
67
99
  type: "geojson",
100
+ lineMetrics: true,
68
101
  data: instance.currentSourceData,
69
102
  });
70
103
  this.map.addLayer({
@@ -335,7 +368,12 @@ export class RouteController {
335
368
  const newFloorId = floorId !== null && floorId !== void 0 ? floorId : this.mapvxMap.getCurrentFloor();
336
369
  if (newFloorId === undefined)
337
370
  return;
338
- if (this.map.getStyle().layers.some((layer) => layer.id === layerId)) {
371
+ // `getLayer` is a map lookup; `getStyle()` serialises every source and
372
+ // layer in the style just to answer the same question. This runs three
373
+ // times per route per floor change, and each preceding `setFilter`
374
+ // invalidates maplibre's serialised-layer cache, so the later calls used to
375
+ // re-serialise from scratch.
376
+ if (this.map.getLayer(layerId) != null) {
339
377
  this.map.setFilter(layerId, ["==", ["get", "floor_key"], newFloorId]);
340
378
  }
341
379
  }
@@ -416,11 +454,18 @@ export class RouteController {
416
454
  * @param floorId The floor ID to update the visibility for.
417
455
  */
418
456
  updateRouteMarkerVisibility(floorId) {
419
- var _a, _b, _c;
457
+ var _a, _b, _c, _d;
458
+ // An outdoor step gives its marker an empty floorId, which never equals a
459
+ // real floor key — so on a venue with buildings the route arrow used to be
460
+ // hidden the moment the map filtered by one, and only reappeared because
461
+ // the animation re-attached the marker on its next frame. Outdoors is an
462
+ // allowance markers and circles already make; the route arrow makes it too.
463
+ const isOutdoor = this.mapvxMap.isOutdoorFloor(floorId);
420
464
  for (const instance of this.routes.values()) {
421
- ((_a = instance.routeMarker) === null || _a === void 0 ? void 0 : _a.floorId) === floorId
422
- ? (_b = instance.routeMarker) === null || _b === void 0 ? void 0 : _b.show(this.map)
423
- : (_c = instance.routeMarker) === null || _c === void 0 ? void 0 : _c.hide();
465
+ const markerFloorId = (_b = (_a = instance.routeMarker) === null || _a === void 0 ? void 0 : _a.floorId) !== null && _b !== void 0 ? _b : "";
466
+ markerFloorId === floorId || (isOutdoor && markerFloorId === "")
467
+ ? (_c = instance.routeMarker) === null || _c === void 0 ? void 0 : _c.show(this.map)
468
+ : (_d = instance.routeMarker) === null || _d === void 0 ? void 0 : _d.hide();
424
469
  }
425
470
  }
426
471
  updatePlaceFloorForRouting(instance, placeId, floorKey) {
@@ -477,7 +522,12 @@ export class RouteController {
477
522
  this.mapvxMap.fitRouteByPlace(route, firstStep.startInsidePlace, fitOptions);
478
523
  }
479
524
  }
480
- (_c = animationConfig.callBack) === null || _c === void 0 ? void 0 : _c.call(animationConfig, { isFinished: false, step: firstStep });
525
+ // The conditions go in before the consumer hears about the start, for the same reason
526
+ // `restartAnimation` orders it that way. `animationStatus` is already "STARTED" here, so a
527
+ // consumer that pauses from inside this callback — showing a modal per step, say — passed
528
+ // `internalPause`'s status guard and then died on its `instance.conditions == null` check:
529
+ // the pause was dropped in silence, the loop kept running, and because the status stayed
530
+ // "STARTED" the matching `resumeAnimation()` bailed out too.
481
531
  instance.conditions = {
482
532
  index: 0,
483
533
  coordinatesIndex: 0,
@@ -490,6 +540,7 @@ export class RouteController {
490
540
  animationId: requestAnimationFrame((time) => this.animateStep(time, instance)),
491
541
  onFinish: (time) => this.prepareForNextStep(time, instance),
492
542
  };
543
+ (_c = animationConfig.callBack) === null || _c === void 0 ? void 0 : _c.call(animationConfig, { isFinished: false, step: firstStep });
493
544
  this.syncRouteCollision();
494
545
  }
495
546
  clearRouteInstance(instance) {
@@ -630,7 +681,14 @@ export class RouteController {
630
681
  this.mapvxMap.fitRouteByPlace(instance.route, firstStep.startInsidePlace, fitOptions);
631
682
  }
632
683
  }
633
- (_e = (_d = instance.animationConfig).callBack) === null || _e === void 0 ? void 0 : _e.call(_d, { isFinished: false, step: firstStep });
684
+ // The new conditions go in before the consumer hears about the restart.
685
+ // Invoking the callback first left `instance.conditions` pointing at the
686
+ // previous run, so a consumer that pauses from inside it — showing a modal
687
+ // per step, say — cancelled a frame id that had already fired, marked the
688
+ // instance PAUSED, and then had a live loop installed underneath it. The
689
+ // next resume passed the "not paused" guard and started a second loop on
690
+ // the same instance; each schedules its own successor, so the doubling was
691
+ // permanent.
634
692
  instance.conditions = {
635
693
  index: 0,
636
694
  coordinatesIndex: 0,
@@ -643,6 +701,7 @@ export class RouteController {
643
701
  animationId: requestAnimationFrame((time) => this.animateStep(time, instance)),
644
702
  onFinish: (time) => this.prepareForNextStep(time, instance),
645
703
  };
704
+ (_e = (_d = instance.animationConfig).callBack) === null || _e === void 0 ? void 0 : _e.call(_d, { isFinished: false, step: firstStep });
646
705
  }
647
706
  /**
648
707
  * Stop the animation of a route.
@@ -699,7 +758,11 @@ export class RouteController {
699
758
  this.mapvxMap.fitRouteByPlace(route, firstStep.startInsidePlace, fitOptions);
700
759
  }
701
760
  }
702
- (_c = animationConfig.callBack) === null || _c === void 0 ? void 0 : _c.call(animationConfig, { isFinished: false, step: firstStep });
761
+ // The conditions go in before the consumer hears about the route, as they
762
+ // do in `startAnimating`. Invoking the callback first left `conditions`
763
+ // undefined, so a consumer advancing the route from it — the step-by-step
764
+ // integration draws its first step this way — hit `nextStepAnimation`'s
765
+ // null check and got an exception instead of a step.
703
766
  instance.conditions = {
704
767
  index: 0,
705
768
  coordinatesIndex: 0,
@@ -727,6 +790,13 @@ export class RouteController {
727
790
  this.setSourceData(instance, instance.aheadId, aheadSteps);
728
791
  this.setCurrentSourceData(instance, step);
729
792
  instance.conditions.index = index;
793
+ // The status settles before either callback, as everywhere else: no frame
794
+ // is live once `animateStep` hands over to `onFinish`, so "WAITING" is
795
+ // already true here. Writing it afterwards overwrote the "ANIMATING" of a
796
+ // consumer that chained the next step from this callback, and the
797
+ // following `nextStepAnimation` then skipped its cancel and installed a
798
+ // second self-sustaining loop on the same instance.
799
+ instance.stepAnimationStatus = "WAITING";
730
800
  if (index < route.steps.length) {
731
801
  const nextStep = route.steps[index];
732
802
  // Auto-fit by place if enabled and place changed
@@ -745,9 +815,9 @@ export class RouteController {
745
815
  else {
746
816
  (_d = animationConfig.callBack) === null || _d === void 0 ? void 0 : _d.call(animationConfig, { isFinished: true, step: null });
747
817
  }
748
- instance.stepAnimationStatus = "WAITING";
749
818
  },
750
819
  };
820
+ (_c = animationConfig.callBack) === null || _c === void 0 ? void 0 : _c.call(animationConfig, { isFinished: false, step: firstStep });
751
821
  this.syncRouteCollision();
752
822
  }
753
823
  /**
@@ -919,19 +989,31 @@ export class RouteController {
919
989
  });
920
990
  }
921
991
  else {
922
- // finishes animation
923
- (_f = (_e = instance.animationConfig).callBack) === null || _f === void 0 ? void 0 : _f.call(_e, { isFinished: true, step: null });
992
+ // The status settles before the consumer hears that the route finished,
993
+ // for the same reason `startAnimating` and `restartAnimation` order it
994
+ // that way. A consumer that relaunches from this callback — looping a
995
+ // kiosk demo is the ordinary case — got its fresh "STARTED" overwritten
996
+ // by the "FINISHED" written afterwards, and was left with a live loop the
997
+ // controller believed was over: `pauseAnimation` and `stopAnimation` both
998
+ // bailed on the status guard, and the next `restartAnimation` skipped its
999
+ // cancel and installed a second self-sustaining loop.
924
1000
  instance.animationStatus = "FINISHED";
1001
+ (_f = (_e = instance.animationConfig).callBack) === null || _f === void 0 ? void 0 : _f.call(_e, { isFinished: true, step: null });
925
1002
  }
926
1003
  }
927
1004
  animateStep(timestamp, instance) {
928
- var _a, _b;
1005
+ var _a;
929
1006
  if (instance.conditions == null || instance.animationConfig == null || instance.route == null) {
930
1007
  throw new Error("Error: conditions and animationConfig should not be null at this point");
931
1008
  }
932
- let { startTime, resetTime, progress } = instance.conditions;
933
- const { coordinatesIndex, iconRotation, index, onFinish, rotatingIcon, waitStartTime } = instance.conditions;
1009
+ let { startTime, resetTime, progress, waitStartTime } = instance.conditions;
1010
+ const { coordinatesIndex, iconRotation, index, onFinish, rotatingIcon } = instance.conditions;
934
1011
  const { stepTime, minimumSpeed, iconRotationTime, changeFloorTime } = instance.animationConfig;
1012
+ // How long this frame took to arrive. Recorded before any early return, so
1013
+ // the next frame measures from the last one delivered rather than from the
1014
+ // last one that drew.
1015
+ const previousFrameTime = instance.conditions.lastFrameTime;
1016
+ instance.conditions.lastFrameTime = timestamp;
935
1017
  if (startTime == null) {
936
1018
  instance.conditions.startTime = timestamp;
937
1019
  instance.conditions.animationId = requestAnimationFrame((time) => this.animateStep(time, instance));
@@ -943,11 +1025,36 @@ export class RouteController {
943
1025
  resetTime = false;
944
1026
  instance.conditions.resetTime = resetTime;
945
1027
  }
1028
+ else if (previousFrameTime != null && timestamp - previousFrameTime > MAX_FRAME_GAP_MS) {
1029
+ // Absence, not slow rendering: see MAX_FRAME_GAP_MS. Shift the clock
1030
+ // forward by the gap instead of charging it, exactly as resuming from a
1031
+ // pause does above, so this frame redraws where the last one left off
1032
+ // and the next resumes from there.
1033
+ const gap = timestamp - previousFrameTime;
1034
+ // What the previous frame had charged. Equal to `progress` whenever the
1035
+ // two are in step, but the rotation branches above set `startTime` to
1036
+ // the frame timestamp without resetting `progress`, so reading the
1037
+ // stored value would carry a whole rotation's worth of time into the
1038
+ // first frame back. Recomputed instead, which is 0 in exactly that case.
1039
+ progress = previousFrameTime - startTime;
1040
+ instance.conditions.progress = progress;
1041
+ startTime = timestamp - progress;
1042
+ instance.conditions.startTime = startTime;
1043
+ // The floor-change wait runs on the raw timestamp rather than on
1044
+ // `progress`, so it needs the same shift or an absence would satisfy it
1045
+ // outright.
1046
+ if (waitStartTime != null) {
1047
+ waitStartTime += gap;
1048
+ instance.conditions.waitStartTime = waitStartTime;
1049
+ }
1050
+ }
946
1051
  else {
947
1052
  progress = timestamp - startTime;
948
1053
  instance.conditions.progress = progress;
949
1054
  }
950
- const progressInSeconds = progress / 1000;
1055
+ // Not const: the segment loop below rewinds it as it charges the clock for
1056
+ // each segment it consumes within the frame.
1057
+ let progressInSeconds = progress / 1000;
951
1058
  const step = instance.route.steps[index];
952
1059
  if (step.coordinates.length <= 0) {
953
1060
  onFinish === null || onFinish === void 0 ? void 0 : onFinish(timestamp);
@@ -1002,44 +1109,99 @@ export class RouteController {
1002
1109
  return;
1003
1110
  }
1004
1111
  }
1005
- const distance = NavFunctions.distance(start, end);
1006
1112
  const speed = Math.max(step.distance / stepTime, minimumSpeed !== null && minimumSpeed !== void 0 ? minimumSpeed : 0);
1007
- if (speed * progressInSeconds > distance) {
1008
- instance.currentSourceData.geometry.coordinates.push([end.lng, end.lat]);
1009
- const source = this.map.getSource(instance.currentId);
1010
- source === null || source === void 0 ? void 0 : source.setData(instance.currentSourceData);
1011
- if (coordinatesIndex + 2 < step.coordinates.length) {
1012
- const next = step.coordinates[coordinatesIndex + 2];
1013
- if (!compareLatLng(end, next)) {
1014
- if (instance.conditions.isStepByStep) {
1015
- instance.conditions.rotatingIcon = true;
1016
- }
1017
- else {
1018
- const nextAngle = NavFunctions.bearingInDegBetween(end, next);
1019
- instance.conditions.iconRotation = nextAngle;
1020
- (_a = instance.routeMarker) === null || _a === void 0 ? void 0 : _a.setRotation(nextAngle);
1021
- }
1022
- }
1023
- instance.conditions.startTime = timestamp;
1024
- instance.conditions.progress = 0;
1025
- instance.conditions.coordinatesIndex++;
1026
- instance.conditions.animationId = requestAnimationFrame((time) => this.animateStep(time, instance));
1027
- return;
1028
- }
1029
- else {
1113
+ // Consume every whole segment the elapsed time pays for inside this one
1114
+ // frame, carrying the sub-segment remainder into the next.
1115
+ //
1116
+ // Advancing a single vertex per frame — and restarting the clock at each
1117
+ // one, which threw the overshoot away — made a step's duration depend on
1118
+ // the frame rate: it cost `stepTime` plus up to one frame per vertex,
1119
+ // and once `speed * frameInterval` exceeded a segment's length it
1120
+ // ignored `stepTime` altogether and collapsed to `vertexCount / fps`.
1121
+ // Encoded polylines quantise near 1.1 m, so that regime was the common
1122
+ // one, not the corner case.
1123
+ let segmentStart = start;
1124
+ let segmentEnd = end;
1125
+ let segmentDistance = NavFunctions.distance(segmentStart, segmentEnd);
1126
+ // Drop the previous frame's interpolated tip before committing anything.
1127
+ // Coordinates up to and including the current vertex are settled geometry
1128
+ // — exactly `coordinatesIndex + 1` of them — and the tip is a single
1129
+ // moving point after them, re-placed at the end of this frame. Appending
1130
+ // one per frame instead grew the drawn line with elapsed frames, well
1131
+ // past the polyline's own vertex count, and `setData` re-indexed every
1132
+ // one of those points on the next frame.
1133
+ const coordinates = instance.currentSourceData.geometry.coordinates;
1134
+ coordinates.length = Math.min(coordinates.length, instance.conditions.coordinatesIndex + 1);
1135
+ while (speed * progressInSeconds > segmentDistance) {
1136
+ coordinates.push([segmentEnd.lng, segmentEnd.lat]);
1137
+ if (instance.conditions.coordinatesIndex + 2 >= step.coordinates.length) {
1138
+ this.flushCurrentSourceData(instance);
1030
1139
  onFinish === null || onFinish === void 0 ? void 0 : onFinish(timestamp);
1031
1140
  return;
1032
1141
  }
1142
+ // Charge the clock exactly what this segment cost instead of
1143
+ // restarting it, so no time is lost at a vertex.
1144
+ const segmentMs = (segmentDistance / speed) * 1000;
1145
+ startTime += segmentMs;
1146
+ progress -= segmentMs;
1147
+ instance.conditions.startTime = startTime;
1148
+ instance.conditions.progress = progress;
1149
+ progressInSeconds = progress / 1000;
1150
+ instance.conditions.coordinatesIndex++;
1151
+ const next = step.coordinates[instance.conditions.coordinatesIndex + 1];
1152
+ if (!compareLatLng(segmentEnd, next)) {
1153
+ if (instance.conditions.isStepByStep) {
1154
+ // Step-by-step mode animates the turn itself, on the rotation
1155
+ // branch of the next frame. Stop consuming segments and let it.
1156
+ //
1157
+ // The clock restarts here because the rotation branch measures its
1158
+ // own progress from `startTime`, and every other transition into it
1159
+ // resets too (see `prepareForNextStep` and the floor-change hand-off).
1160
+ // Carrying this frame's leftover sub-segment time over instead
1161
+ // started the turn already part-way through — or skipped it outright
1162
+ // once the remainder exceeded `iconRotationTime`. Before the segment
1163
+ // loop existed the per-vertex path reset it as well.
1164
+ instance.conditions.rotatingIcon = true;
1165
+ instance.conditions.startTime = timestamp;
1166
+ instance.conditions.progress = 0;
1167
+ this.flushCurrentSourceData(instance);
1168
+ instance.conditions.animationId = requestAnimationFrame((time) => this.animateStep(time, instance));
1169
+ return;
1170
+ }
1171
+ const nextAngle = NavFunctions.bearingInDegBetween(segmentEnd, next);
1172
+ instance.conditions.iconRotation = nextAngle;
1173
+ (_a = instance.routeMarker) === null || _a === void 0 ? void 0 : _a.setRotation(nextAngle);
1174
+ }
1175
+ segmentStart = segmentEnd;
1176
+ segmentEnd = next;
1177
+ segmentDistance = NavFunctions.distance(segmentStart, segmentEnd);
1033
1178
  }
1034
- const fraction = (speed * progressInSeconds) / distance;
1035
- const point = distance === 0
1036
- ? end
1037
- : NavFunctions.intermediatePointBetween(start, end, Math.min(fraction, 1));
1038
- instance.currentSourceData.geometry.coordinates.push([point.lng, point.lat]);
1039
- const source = this.map.getSource(instance.currentId);
1040
- source === null || source === void 0 ? void 0 : source.setData(instance.currentSourceData);
1179
+ const fraction = (speed * progressInSeconds) / segmentDistance;
1180
+ const point = segmentDistance === 0
1181
+ ? segmentEnd
1182
+ : NavFunctions.intermediatePointBetween(segmentStart, segmentEnd, Math.min(fraction, 1));
1183
+ coordinates.push([point.lng, point.lat]);
1184
+ this.flushCurrentSourceData(instance);
1041
1185
  this.setMarkerLngLat(instance, point);
1042
- (_b = instance.routeMarker) === null || _b === void 0 ? void 0 : _b.addTo(this.map);
1186
+ // Only when it has genuinely left the DOM. maplibre's `Marker.addTo`
1187
+ // opens with `remove()`, so re-attaching an attached marker tears down
1188
+ // and rebuilds 13 map listeners and detaches and re-appends the element.
1189
+ // Unconditionally, that ran every frame — and quietly undid
1190
+ // `updateRouteMarkerVisibility` hiding the arrow, which is the bug it was
1191
+ // really covering for.
1192
+ //
1193
+ // `isConnected` alone cannot express that: `hide()` detaches the element
1194
+ // through maplibre's `Marker.remove()`, so a marker hidden by a floor
1195
+ // change reads as disconnected and was re-attached on the very next
1196
+ // frame — the arrow reappeared on the wrong floor. Hidden-ness is an
1197
+ // intent, so it is read from the flag `hide()`/`show()` maintain, and
1198
+ // `isConnected` is left to answer only what it can: whether a marker
1199
+ // nobody hid has fallen out of the DOM (a step transition removing it).
1200
+ if (instance.routeMarker != null &&
1201
+ !instance.routeMarker.hiddenOnPurpose &&
1202
+ !instance.routeMarker.getElement().isConnected) {
1203
+ instance.routeMarker.addTo(this.map);
1204
+ }
1043
1205
  instance.conditions.animationId = requestAnimationFrame((time) => this.animateStep(time, instance));
1044
1206
  return;
1045
1207
  }
@@ -1048,6 +1210,18 @@ export class RouteController {
1048
1210
  return;
1049
1211
  }
1050
1212
  }
1213
+ /**
1214
+ * Pushes the in-progress segment's geometry to its map source.
1215
+ *
1216
+ * Called once per frame rather than once per vertex crossed: `setData`
1217
+ * rebuilds the whole geojson-vt index and reloads every in-view tile, so its
1218
+ * cost is a large fixed one per call and is worth paying only once, with the
1219
+ * frame's final geometry.
1220
+ */
1221
+ flushCurrentSourceData(instance) {
1222
+ const source = this.map.getSource(instance.currentId);
1223
+ source === null || source === void 0 ? void 0 : source.setData(instance.currentSourceData);
1224
+ }
1051
1225
  setMarkerLngLat(instance, point) {
1052
1226
  var _a, _b;
1053
1227
  if ((_a = instance.conditions) === null || _a === void 0 ? void 0 : _a.isStepByStep) {
@@ -1 +1 @@
1
- {"version":3,"file":"routeController.js","sourceRoot":"","sources":["../../../src/controllers/routeController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routeController.js","sourceRoot":"","sources":["../../../src/controllers/routeController.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAGzD,OAAO,EAAsB,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAErE;;;GAGG;AACH,MAAM,wBAAwB,GAAmB;IAC/C,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACV,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAK1B,YAAY,GAAqB;QAHhB,WAAM,GAA+B,IAAI,GAAG,EAAE,CAAA;QAI7D,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;IACrB,CAAC;IAED,IAAY,GAAG;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAgB;QACtC,MAAM,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,gBAAgB,CAAA;QAC3C,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7C,CAAC;IAED;;;;;;;OAOG;IACK,2BAA2B,CAAC,QAAuB;QACzD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;YACnC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ,CAAC,eAAe;SAC/B,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChB,EAAE,EAAE,QAAQ,CAAC,OAAO;YACpB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ,CAAC,OAAO;YACxB,MAAM,EAAE;gBACN,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE,OAAO;aACpB;SACF,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ,CAAC,gBAAgB;SAChC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChB,EAAE,EAAE,QAAQ,CAAC,QAAQ;YACrB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ,CAAC,QAAQ;YACzB,MAAM,EAAE;gBACN,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE,OAAO;aACpB;SACF,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE;YACrC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,QAAQ,CAAC,iBAAiB;SACjC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChB,EAAE,EAAE,QAAQ,CAAC,SAAS;YACtB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ,CAAC,SAAS;YAC1B,MAAM,EAAE;gBACN,WAAW,EAAE,OAAO;gBACpB,UAAU,EAAE,OAAO;aACpB;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,QAAuB;QAC5D,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;QACrE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;YAAC,WAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YAC3B,CAAC;YAAC,WAAM,CAAC;gBACP,uBAAuB;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB;QACxB,MAAM,MAAM,GAAqD,EAAE,CAAA;QACnE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAe,EAAE,UAA0C;QAClE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAA;QACnC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CACjB,OAAe,EACf,QAAgB,EAChB,gBAAgD;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAEzB,sDAAsD;QACtD,IAAI,QAAQ,GAAG,QAAQ,CAAA;QACvB,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBACnB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACvB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrE,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;oBACpB,QAAQ,GAAG,IAAI,CAAA;oBACf,aAAa,GAAG,CAAC,CAAA;oBACjB,cAAc,GAAG,CAAC,CAAA;oBAClB,YAAY,GAAG,QAAQ,CAAA;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,yEAAyE;QACzE,MAAM,cAAc,GAAc,EAAE,CAAA;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5D,QAAQ,EAAE;oBACR,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB;iBACzC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,sEAAsE;QACtE,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;QACxC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAA;QAC7C,MAAM,mBAAmB,GAAuB,EAAE,CAAA;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,mBAAmB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,0BAA0B;QAC1B,MAAM,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,CAAA;QACvC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QAC/E,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACtD,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAE5C,IAAI,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBAC/D,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;aACnE,CAAC,CAAA;QACJ,CAAC;QAED,gFAAgF;QAChF,MAAM,aAAa,GAAc,EAAE,CAAA;QACnC,MAAM,kBAAkB,GAAuB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACnE,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,kBAAkB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBAC/D,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAClE,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5D,QAAQ,EAAE;oBACR,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB;iBACzC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,iBAAiB;QACjB,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAA;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACzE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAEhD,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,aAAa,CAAA;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,OAAO,CAAC,CAAA;QACvE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAE9C,0CAA0C;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;QACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,CAAS,EACT,CAAS,EACT,CAAS;QAET,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;QACxB,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;QACxB,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;QAC/B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;YACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;YACzB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;QACrD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QAC7D,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAA;QAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAA;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,OAAO,CAAA;QAC3B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;IACrD,CAAC;IAEO,aAAa,CAAC,QAAuB,EAAE,EAAU,EAAE,KAAqB;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,EAAE,CAAC,CAAA;QACpD,IAAI,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC5B,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC5C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC3C,CAAC;aAAM,IAAI,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC7C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAuB,EAAE,IAA8B;QAClF,QAAQ,CAAC,iBAAiB,CAAC,UAAU,GAAG;YACtC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SACzC,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,CAAC,CAAC,CAAA;QACvC,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QACtF,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAA;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC7C,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,UAA0C;QAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAEzD,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,UAA0C;QAE1C,IAAI,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YACrC,2CAA2C;YAC3C,OAAO;gBACL,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;gBACzC,eAAe,EAAE,IAAI,EAAE,mCAAmC;gBAC1D,YAAY,EAAE,UAAU,CAAC,aAAa;aACvC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,UAAU,CAAA;YAEnD,MAAM,cAAc,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE1E,IAAI,cAAc,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,QAAQ,GAA4B;gBACxC,aAAa;gBACb,CAAC,QAAQ,CAAC;gBACV,CAAC,eAAe,CAAC;gBACjB,GAAG,KAAK;aACT,CAAA;YACD,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,QAAQ;gBACzB,YAAY,EAAE,UAAU,CAAC,aAAa;aACvC,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,OAAe,EAAE,OAAgB;QACzD,MAAM,UAAU,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAA;QAC7D,IAAI,UAAU,KAAK,SAAS;YAAE,OAAM;QACpC,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,4EAA4E;QAC5E,6BAA6B;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,IAA8B;;QACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAA;QACxC,CAAC;QAED,sFAAsF;QACtF,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,gFAAgF;YAChF,oEAAoE;YACpE,kFAAkF;YAClF,IACE,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC;gBACtC,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,cAAc;gBAC7C,CAAC,IAAI,CAAC,YAAY,EAClB,CAAC;gBACD,OAAO,IAAI,CAAC,cAAe,CAAA;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC,gBAAiB,CAAA;QAC/B,CAAC;QAED,6FAA6F;QAC7F,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,cAAe,CAAA;QAC7B,CAAC;QAED,wFAAwF;QACxF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAA;QAClD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAA;QACjF,OAAO,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,mCAAI,EAAE,CAAA;IAChC,CAAC;IAEO,kBAAkB,CAAC,KAAqB;QAC9C,MAAM,QAAQ,GAAc,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;gBACxD,QAAQ,EAAE;oBACR,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,IAAI,CAAC,kBAAkB;iBACrC;aACF,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAe;QAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAClD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,MAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,QAAQ,CAAC,WAAW;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;OAGG;IACH,2BAA2B,CAAC,OAAe;;QACzC,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACvD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,MAAA,MAAA,QAAQ,CAAC,WAAW,0CAAE,OAAO,mCAAI,EAAE,CAAA;YACzD,aAAa,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,aAAa,KAAK,EAAE,CAAC;gBAC9D,CAAC,CAAC,MAAA,QAAQ,CAAC,WAAW,0CAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtC,CAAC,CAAC,MAAA,QAAQ,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA;QAClC,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,QAAuB,EAAE,OAAgB,EAAE,QAAiB;;QAC7F,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC9D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAChC,MAAA,QAAQ,CAAC,WAAW,0CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,cAAc,CACZ,KAAe,EACf,UAA0C,EAC1C,eAAwC;;QAExC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAA;QAEnC,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,0BAA0B,CAC7B,QAAQ,EACR,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,gBAAgB,CAC3B,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,iBAAiB,CAAC,UAAU,GAAG;YACtC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;SAC9C,CAAA;QACD,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG;YAChD,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC7D,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;QAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAC/D,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAA;QAE1C,QAAQ,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC;YACzC,UAAU,EAAE,SAAS,CAAC,aAAa;YACnC,OAAO,EAAE,SAAS,CAAC,gBAAgB;YACnC,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAA;QACF,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvC,+BAA+B;QAC/B,IAAI,CAAA,MAAA,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAA;gBACpD,MAAM,UAAU,GAAG;oBACjB,OAAO,EAAE,MAAA,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;iBAC5E,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,2FAA2F;QAC3F,0FAA0F;QAC1F,2FAA2F;QAC3F,yFAAyF;QACzF,6DAA6D;QAC7D,QAAQ,CAAC,UAAU,GAAG;YACpB,KAAK,EAAE,CAAC;YACR,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtF,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;SACpE,CAAA;QAED,MAAA,eAAe,CAAC,QAAQ,gEAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAElE,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAEO,kBAAkB,CAAC,QAAuB;;QAChD,MAAA,QAAQ,CAAC,WAAW,0CAAE,MAAM,EAAE,CAAA;QAC9B,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QAC3C,IACE,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,mBAAmB,KAAK,WAAW,CAAC;YACxF,QAAQ,CAAC,UAAU,IAAI,IAAI,EAC3B,CAAC;YACD,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC;QACD,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAA;QACrC,QAAQ,CAAC,mBAAmB,GAAG,UAAU,CAAA;QACzC,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAA;QAC/B,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAA;QACpC,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAA;IACrC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,OAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACzC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5F,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACjC,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAChC,CAAC;IAEO,aAAa,CAAC,QAAuB;QAC3C,IAAI,QAAQ,CAAC,eAAe,IAAI,SAAS;YAAE,OAAM;QACjD,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI;YAAE,OAAM;QACvC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACrD,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAA;IACrC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,OAAgB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAEO,cAAc,CAAC,QAAuB;QAC5C,IAAI,QAAQ,CAAC,eAAe,IAAI,QAAQ;YAAE,OAAM;QAChD,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI;YAAE,OAAM;QACvC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAA;QACpC,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;QACD,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAA;IACtC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAgB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAAgB;;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QACD,IACE,QAAQ,CAAC,UAAU,IAAI,IAAI;YAC3B,QAAQ,CAAC,eAAe,IAAI,IAAI;YAChC,QAAQ,CAAC,KAAK,IAAI,IAAI;YACtB,QAAQ,CAAC,WAAW,IAAI,IAAI,EAC5B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC3F,CAAC;QAED,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC3C,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC;QAED,QAAQ,CAAC,eAAe,GAAG,SAAS,CAAA;QAEpC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEzC,IAAI,CAAC,0BAA0B,CAC7B,QAAQ,EACR,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,gBAAgB,CAC3B,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnD,QAAQ,CAAC,iBAAiB,CAAC,UAAU,GAAG;YACtC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;SAC9C,CAAA;QACD,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG;YAChD,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAC7D,CAAA;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QAE3C,MAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,0CAAE,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvF,+BAA+B;QAC/B,IAAI,CAAA,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAA;gBACpD,MAAM,UAAU,GAAG;oBACjB,OAAO,EAAE,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;iBACrF,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YACvF,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,aAAa;QACb,QAAQ,CAAC,UAAU,GAAG;YACpB,KAAK,EAAE,CAAC;YACR,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtF,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;SACpE,CAAA;QAED,MAAA,MAAA,QAAQ,CAAC,eAAe,EAAC,QAAQ,mDAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAgB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,IAAI,QAAQ,CAAC,eAAe,IAAI,UAAU,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QACD,0CAA0C;QAC1C,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAA;IACvC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CACd,KAAe,EACf,UAA0C,EAC1C,eAAwC;;QAExC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAA;QAEnC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,CAAC,0BAA0B,CAC7B,QAAQ,EACR,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,gBAAgB,CAC3B,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE9C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;QAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAC9D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAC/D,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAA;QAE1C,QAAQ,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC;YACzC,UAAU,EAAE,SAAS,CAAC,aAAa;YACnC,OAAO,EAAE,SAAS,CAAC,gBAAgB;YACnC,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAA;QACF,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;QAEpD,+BAA+B;QAC/B,IAAI,CAAA,MAAA,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtE,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAA;gBACpD,MAAM,UAAU,GAAG;oBACjB,OAAO,EAAE,MAAA,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;iBAC5E,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,qDAAqD;QACrD,QAAQ,CAAC,UAAU,GAAG;YACpB,KAAK,EAAE,CAAC;YACR,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,GAAG,EAAE;;gBACb,IACE,QAAQ,CAAC,UAAU,IAAI,IAAI;oBAC3B,QAAQ,CAAC,eAAe,IAAI,IAAI;oBAChC,QAAQ,CAAC,KAAK,IAAI,IAAI,EACtB,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;gBACH,CAAC;gBACD,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;gBACnC,KAAK,EAAE,CAAA;gBAEP,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAExC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;gBAC1D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAEzC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;gBAEjC,0EAA0E;gBAC1E,uEAAuE;gBACvE,0EAA0E;gBAC1E,kEAAkE;gBAClE,wEAAwE;gBACxE,oDAAoD;gBACpD,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAA;gBAExC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAEnC,iDAAiD;oBACjD,IAAI,CAAA,MAAA,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;wBAClF,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,cAAc,CAAA;wBACxE,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;4BAC3D,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAA;4BACrC,MAAM,UAAU,GAAG;gCACjB,OAAO,EAAE,MAAA,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;6BAC5E,CAAA;4BACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;wBACxE,CAAC;oBACH,CAAC;oBAED,MAAA,eAAe,CAAC,QAAQ,gEAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAA,eAAe,CAAC,QAAQ,gEAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9D,CAAC;YACH,CAAC;SACF,CAAA;QAED,MAAA,eAAe,CAAC,QAAQ,gEAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAElE,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAgB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,WAAW,EAAE,CAAC;YACjD,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC;QACD,QAAQ,CAAC,mBAAmB,GAAG,WAAW,CAAA;QAE1C,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;QACrC,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAA;YACxC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAA;YACvC,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAA;YAC7C,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,OAAgB;;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,WAAW,EAAE,CAAC;YACjD,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC;QACD,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACxC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;QAEnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAA;YACP,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAExC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;YAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC1D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAEzC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1E,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACzF,CAAC;YAED,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA;YACjC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAA;YACxC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAA;YACvC,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAA;YAE7C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YAElD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACpD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC9E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAA,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACvF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAA;gBAChE,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC3D,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAA;oBACrC,MAAM,UAAU,GAAG;wBACjB,OAAO,EAAE,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;qBACrF,CAAA;oBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBACxE,CAAC;YACH,CAAC;YAED,MAAA,MAAA,QAAQ,CAAC,eAAe,EAAC,QAAQ,mDAAG;gBAClC,UAAU,EAAE,KAAK;gBACjB,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAAgB;;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,SAAS,EAAE,CAAA;QAE/D,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,SAAiB,EAAE,QAAuB;;QACnE,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;QAErC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAExD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAE1D,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAA;QAEpD,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5C,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBACnD,IAAI,CAAC,aAAa,CAAC,GAAG;gBACtB,IAAI,CAAC,aAAa,CAAC,GAAG;aACvB,CAAC,CAAA;YACF,QAAQ,CAAC,iBAAiB,CAAC,UAAU,GAAG;gBACtC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACzC,CAAA;YACD,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;YAC3B,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAA;YACxC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAA;YACvC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;gBAC7E,QAAQ,CAAC,UAAU,CAAC,uBAAuB,GAAG,KAAK,GAAG,CAAC,CAAA;YACzD,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;YAED,iDAAiD;YACjD,IAAI,CAAA,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,0CAAE,OAAO,KAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACvF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAA;gBAChE,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC3D,QAAQ,CAAC,cAAc,GAAG,WAAW,CAAA;oBACrC,MAAM,UAAU,GAAG;wBACjB,OAAO,EAAE,MAAA,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,mCAAI,wBAAwB;qBACrF,CAAA;oBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBACxE,CAAC;YACH,CAAC;YAED,MAAA,MAAA,QAAQ,CAAC,eAAe,EAAC,QAAQ,mDAAG;gBAClC,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aACtC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,sDAAsD;YACtD,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAA;YACrC,MAAA,MAAA,QAAQ,CAAC,eAAe,EAAC,QAAQ,mDAAG,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,QAAuB;;QAC5D,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;QAC3F,CAAC;QACD,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC3E,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC7F,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAA;QAE9F,2EAA2E;QAC3E,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAA;QAC3D,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAA;QAE7C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;YACD,OAAM;QACR,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,SAAS,GAAG,KAAK,CAAA;YACjB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;QAC3C,CAAC;aAAM,IAAI,iBAAiB,IAAI,IAAI,IAAI,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;YACzF,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,mCAAmC;YACnC,MAAM,GAAG,GAAG,SAAS,GAAG,iBAAiB,CAAA;YACzC,wEAAwE;YACxE,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,yEAAyE;YACzE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAA;YACxC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACvC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;YACzC,iEAAiE;YACjE,wEAAwE;YACxE,YAAY;YACZ,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,aAAa,IAAI,GAAG,CAAA;gBACpB,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,aAAa,CAAA;YACnD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;YAChC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACzC,CAAC;QAED,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAA;QAEvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACjC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;QAElD,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,YAAY,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAC1D,IACE,gBAAgB,KAAK,CAAC;oBACtB,QAAQ,CAAC,UAAU,CAAC,uBAAuB,KAAK,KAAK;oBACrD,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,EACvD,CAAC;oBACD,QAAQ,CAAC,UAAU,CAAC,uBAAuB,GAAG,SAAS,CAAA;oBACvD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;oBACvC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;oBACzC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAA;oBACxC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAA;oBACxC,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;oBACD,OAAM;gBACR,CAAC;qBAAM,IAAI,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;oBAChD,MAAM,iBAAiB,GAAG,YAAY,CAAC,wBAAwB,CAC7D,YAAY,EACZ,KAAK,EACL,iBAAiB,GAAG,gBAAgB,CACrC,CAAA;oBACD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;oBACnD,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;oBACD,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;oBACvC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;oBACzC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAA;oBACxC,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAA;oBACxC,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;oBACD,OAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAA;oBAC7C,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;oBACD,OAAM;gBACR,CAAC;gBACD,IAAI,SAAS,GAAG,aAAa,GAAG,eAAe,GAAG,IAAI,EAAE,CAAC;oBACvD,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;oBACD,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;oBACnF,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;oBAChD,QAAQ,CAAC,UAAU,CAAC,aAAa,GAAG,SAAS,CAAA;oBAC7C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAA;oBACrB,OAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC,CAAC,CAAA;YAEnE,wEAAwE;YACxE,2DAA2D;YAC3D,EAAE;YACF,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,uEAAuE;YACvE,4BAA4B;YAC5B,IAAI,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,UAAU,GAAG,GAAG,CAAA;YACpB,IAAI,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YAErE,yEAAyE;YACzE,0EAA0E;YAC1E,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,uEAAuE;YACvE,yCAAyC;YACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAA;YACnE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;YAE3F,OAAO,KAAK,GAAG,iBAAiB,GAAG,eAAe,EAAE,CAAC;gBACnD,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;gBAElD,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;oBACxE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;oBACrC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAA;oBACrB,OAAM;gBACR,CAAC;gBAED,6DAA6D;gBAC7D,iDAAiD;gBACjD,MAAM,SAAS,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;gBAClD,SAAS,IAAI,SAAS,CAAA;gBACtB,QAAQ,IAAI,SAAS,CAAA;gBACrB,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;gBACzC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBACvC,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAAA;gBAEnC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAA;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;gBAEvE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;wBACrC,8DAA8D;wBAC9D,gEAAgE;wBAChE,EAAE;wBACF,mEAAmE;wBACnE,oEAAoE;wBACpE,uEAAuE;wBACvE,+DAA+D;wBAC/D,qEAAqE;wBACrE,qEAAqE;wBACrE,qDAAqD;wBACrD,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAA;wBACvC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;wBACzC,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAA;wBAChC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;wBACrC,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;wBACD,OAAM;oBACR,CAAC;oBACD,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBACpE,QAAQ,CAAC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAA;oBAC5C,MAAA,QAAQ,CAAC,WAAW,0CAAE,WAAW,CAAC,SAAS,CAAC,CAAA;gBAC9C,CAAC;gBAED,YAAY,GAAG,UAAU,CAAA;gBACzB,UAAU,GAAG,IAAI,CAAA;gBACjB,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACnE,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,iBAAiB,CAAC,GAAG,eAAe,CAAA;YAC9D,MAAM,KAAK,GACT,eAAe,KAAK,CAAC;gBACnB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAC,wBAAwB,CAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5F,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACxC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACrC,qEAAqE;YACrE,uEAAuE;YACvE,yEAAyE;YACzE,4DAA4D;YAC5D,0EAA0E;YAC1E,uBAAuB;YACvB,EAAE;YACF,yEAAyE;YACzE,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,wEAAwE;YACxE,IACE,QAAQ,CAAC,WAAW,IAAI,IAAI;gBAC5B,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe;gBACrC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,WAAW,EAC9C,CAAC;gBACD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtC,CAAC;YACD,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAY,EAAE,EAAE,CACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjC,CAAA;YACD,OAAM;QACR,CAAC;aAAM,CAAC;YACN,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAAC,QAAuB;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAgB,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC7C,CAAC;IAEO,eAAe,CAAC,QAAuB,EAAE,KAAa;;QAC5D,IAAI,MAAA,QAAQ,CAAC,UAAU,0CAAE,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QACD,MAAA,QAAQ,CAAC,WAAW,0CAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAEO,iBAAiB,CAAC,QAAuB,EAAE,KAAa;;QAC9D,IAAI,CAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,YAAY,KAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,eAAe,0CAAE,gBAAgB,CAAA,EAAE,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,QAAQ,EAAE,MAAA,QAAQ,CAAC,eAAe,0CAAE,gBAAgB;gBACpD,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAA,QAAQ,CAAC,WAAW,0CAAE,SAAS,EAAE;aAC1C,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAA,QAAQ,CAAC,WAAW,0CAAE,WAAW,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,cAAc,CAAC,OAAgB,EAAE,OAAgB;;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEO,YAAY,CAAC,QAAuB,EAAE,KAAa;;QACzD,MAAM,gBAAgB,GAAG,MAAA,MAAA,QAAQ,CAAC,eAAe,0CAAE,gBAAgB,mCAAI,KAAK,CAAA;QAC5E,IAAI,CAAC,QAAQ,CAAC,YAAY,iBACxB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,MAAA,QAAQ,CAAC,eAAe,0CAAE,gBAAgB,IACjD,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAA,QAAQ,CAAC,WAAW,0CAAE,WAAW,EAAE,EAAE,CAAC,EAC7E,CAAA;IACJ,CAAC;CACF"}
@@ -22,12 +22,31 @@ export interface AnimationConfig {
22
22
  /**
23
23
  * (Optional) The time in seconds to use for each step animation.
24
24
  * If omitted, default to `3`.
25
+ *
26
+ * This is wall-clock time and does not depend on the frame rate: the marker
27
+ * covers as much of the step as the elapsed time entitles it to on each
28
+ * frame, however many polyline vertices that spans. A step still cannot run
29
+ * faster than `step.distance / minimumSpeed` seconds, since the speed is
30
+ * floored by {@link AnimationConfig.minimumSpeed}.
31
+ *
32
+ * Time in which the animation did not run at all is not counted. Browsers
33
+ * stop firing animation frames in a backgrounded tab, so a route left in one
34
+ * resumes where it stopped rather than jumping ahead by however long the tab
35
+ * was away; the step then takes `stepTime` of visible animation.
36
+ *
25
37
  * @defaultValue `3`
26
38
  */
27
39
  stepTime?: number;
28
40
  /**
29
41
  * (Optional) The minimum speed in m/s to use in the animation.
30
42
  * If the calculated speed for the animation of a step is less than this, this will be used for its animation.
43
+ *
44
+ * The default of `40` m/s (144 km/h) suits large outdoor venues. It is a
45
+ * *floor*, so it overrides {@link AnimationConfig.stepTime} on any step
46
+ * shorter than `stepTime * minimumSpeed` metres, which then snaps past in a
47
+ * fraction of the intended time. Indoors, where steps are typically a few
48
+ * metres, set a walking-scale value such as `8` to keep short steps legible.
49
+ *
31
50
  * @defaultValue `40`
32
51
  */
33
52
  minimumSpeed?: number;