bruce-cesium 7.5.7 → 7.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bruce-cesium.es5.js +1918 -330
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +1916 -328
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +1 -1
- package/dist/lib/rendering/displaced-surface-primitive.js +187 -36
- package/dist/lib/rendering/displaced-surface-primitive.js.map +1 -1
- package/dist/lib/rendering/entity-render-engine-polygon.js +20 -9
- package/dist/lib/rendering/entity-render-engine-polygon.js.map +1 -1
- package/dist/lib/rendering/render-managers/common/entity-label.js +975 -57
- package/dist/lib/rendering/render-managers/common/entity-label.js.map +1 -1
- package/dist/lib/rendering/texture-frame-series-animator.js +220 -20
- package/dist/lib/rendering/texture-frame-series-animator.js.map +1 -1
- package/dist/lib/rendering/texture-value-labels.js +478 -194
- package/dist/lib/rendering/texture-value-labels.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +34 -9
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/types/bruce-cesium.d.ts +1 -1
- package/dist/types/rendering/displaced-surface-primitive.d.ts +32 -0
- package/dist/types/rendering/entity-render-engine-polygon.d.ts +1 -0
- package/dist/types/rendering/render-managers/common/entity-label.d.ts +134 -20
- package/dist/types/rendering/texture-frame-series-animator.d.ts +42 -0
- package/dist/types/rendering/texture-value-labels.d.ts +59 -11
- package/dist/types/rendering/visuals-register.d.ts +7 -0
- package/package.json +2 -2
|
@@ -250,6 +250,10 @@ var TextureFrameSeriesAnimator;
|
|
|
250
250
|
TextureFrameSeriesAnimator.AppearanceSignature = AppearanceSignature;
|
|
251
251
|
const MAX_COMPOSITE_TEXELS = 2048;
|
|
252
252
|
const VALUE_DILATE_PASSES = 2;
|
|
253
|
+
// Decoded frame bytes kept at once. A 2048 square composite is 16 MB, so a long series cannot all stay.
|
|
254
|
+
const MAX_CACHED_FRAME_BYTES = 256 * 1024 * 1024;
|
|
255
|
+
// Fetched bytes kept for decoding again, a small fraction of what they decode to.
|
|
256
|
+
const MAX_RAW_FRAME_BYTES = 96 * 1024 * 1024;
|
|
253
257
|
/*
|
|
254
258
|
* Rewrites a packed 16 bit value as the 8 bit grey the colour ramps index on.
|
|
255
259
|
*
|
|
@@ -270,19 +274,33 @@ var TextureFrameSeriesAnimator;
|
|
|
270
274
|
/*
|
|
271
275
|
* Bleeds covered values outward into uncovered texels, leaving alpha untouched.
|
|
272
276
|
*/
|
|
273
|
-
function
|
|
277
|
+
function DilateValues(value, width, height, passes, packed) {
|
|
274
278
|
const texels = width * height;
|
|
275
|
-
|
|
279
|
+
// 255 for a texel that had data to begin with, otherwise the 1 based pass that filled it, so a pass
|
|
280
|
+
// reads only texels filled before it and can work in place.
|
|
281
|
+
const stamp = new Uint8Array(texels);
|
|
276
282
|
for (let p = 0; p < texels; p++) {
|
|
277
|
-
|
|
283
|
+
stamp[p] = value[p * 4 + 3] !== 0 ? 255 : 0;
|
|
278
284
|
}
|
|
285
|
+
// Whether a texel or a horizontal neighbour had data, so empty space is skipped in three reads.
|
|
286
|
+
const across = new Uint8Array(texels);
|
|
279
287
|
for (let pass = 0; pass < passes; pass++) {
|
|
280
|
-
const
|
|
281
|
-
const
|
|
288
|
+
const current = pass + 1;
|
|
289
|
+
const had = (p) => stamp[p] !== 0 && stamp[p] !== current;
|
|
290
|
+
for (let y = 0; y < height; y++) {
|
|
291
|
+
const row = y * width;
|
|
292
|
+
for (let x = 0; x < width; x++) {
|
|
293
|
+
const p = row + x;
|
|
294
|
+
across[p] = (had(p) || (x > 0 && had(p - 1)) || (x + 1 < width && had(p + 1))) ? 1 : 0;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
282
297
|
for (let y = 0; y < height; y++) {
|
|
283
298
|
for (let x = 0; x < width; x++) {
|
|
284
299
|
const p = y * width + x;
|
|
285
|
-
if (
|
|
300
|
+
if (stamp[p] !== 0) {
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
if (!across[p] && !(y > 0 && across[p - width]) && !(y + 1 < height && across[p + width])) {
|
|
286
304
|
continue;
|
|
287
305
|
}
|
|
288
306
|
let sum = 0;
|
|
@@ -291,13 +309,13 @@ var TextureFrameSeriesAnimator;
|
|
|
291
309
|
for (let dx = -1; dx <= 1; dx++) {
|
|
292
310
|
const nx = x + dx;
|
|
293
311
|
const ny = y + dy;
|
|
294
|
-
if (nx < 0 || ny < 0 || nx >= width || ny >= height || !
|
|
312
|
+
if (nx < 0 || ny < 0 || nx >= width || ny >= height || !had(ny * width + nx)) {
|
|
295
313
|
continue;
|
|
296
314
|
}
|
|
297
315
|
const at = (ny * width + nx) * 4;
|
|
298
316
|
// Averaged as a value rather than per byte: averaging a packed low byte
|
|
299
317
|
// on its own wraps at every 256th step and speckles the bled edge.
|
|
300
|
-
sum += packed ?
|
|
318
|
+
sum += packed ? value[at] * 256 + value[at + 1] : value[at];
|
|
301
319
|
hits++;
|
|
302
320
|
}
|
|
303
321
|
}
|
|
@@ -313,18 +331,25 @@ var TextureFrameSeriesAnimator;
|
|
|
313
331
|
value[p * 4 + 1] = v;
|
|
314
332
|
value[p * 4 + 2] = v;
|
|
315
333
|
}
|
|
316
|
-
|
|
334
|
+
stamp[p] = current;
|
|
317
335
|
}
|
|
318
336
|
}
|
|
319
337
|
}
|
|
320
338
|
}
|
|
321
339
|
}
|
|
340
|
+
TextureFrameSeriesAnimator.DilateValues = DilateValues;
|
|
341
|
+
/*
|
|
342
|
+
* Bytes one cached frame holds, counting a buffer shared between colour and value once.
|
|
343
|
+
*/
|
|
344
|
+
function frameBytes(pixels, value) {
|
|
345
|
+
return (pixels ? pixels.byteLength : 0) + (value && value !== pixels ? value.byteLength : 0);
|
|
346
|
+
}
|
|
322
347
|
const DEFAULT_CROSSFADE_MS = 900;
|
|
323
348
|
const DEFAULT_LOW_COLOR = { red: 255, green: 255, blue: 255, alpha: 0.12 };
|
|
324
349
|
const DEFAULT_HIGH_COLOR = { red: 21, green: 96, blue: 196, alpha: 0.92 };
|
|
325
350
|
class Animator {
|
|
326
351
|
constructor(options) {
|
|
327
|
-
var _a, _b, _c;
|
|
352
|
+
var _a, _b, _c, _d;
|
|
328
353
|
this.removeOnTick = null;
|
|
329
354
|
this.removeCrossfadeTick = null;
|
|
330
355
|
this.disposed = false;
|
|
@@ -355,6 +380,15 @@ var TextureFrameSeriesAnimator;
|
|
|
355
380
|
this.extremesLoad = null;
|
|
356
381
|
this.floorPixels = null;
|
|
357
382
|
this.ceilingPixels = null;
|
|
383
|
+
// How far through the fade from the previous value frame to the presented one, 1 when settled.
|
|
384
|
+
this.fadeMix = 1;
|
|
385
|
+
// Where the current fade started from, above zero when it took over from one still running.
|
|
386
|
+
this.fadeMixStart = 0;
|
|
387
|
+
// Version the value canvas was last written at, since in value only mode it is written on demand.
|
|
388
|
+
this.valueCanvasVersion = -1;
|
|
389
|
+
this.rawBytes = 0;
|
|
390
|
+
this.cachedBytes = 0;
|
|
391
|
+
this.lastFrameBytes = 0;
|
|
358
392
|
if (!options.entity.polygon) {
|
|
359
393
|
throw new Error("TextureFrameSeriesAnimator requires an entity with polygon graphics.");
|
|
360
394
|
}
|
|
@@ -402,6 +436,9 @@ var TextureFrameSeriesAnimator;
|
|
|
402
436
|
this.maskBaseline = (_c = options.maskBaseline) !== null && _c !== void 0 ? _c : this.tiles.some((tile) => Boolean(tile.BaselineMask));
|
|
403
437
|
this.valueCanvas = this.produceValueCanvas ? document.createElement("canvas") : null;
|
|
404
438
|
this.driveMaterial = options.driveMaterial !== false;
|
|
439
|
+
this.valueOnly = this.produceValueCanvas && !this.driveMaterial;
|
|
440
|
+
this.rawCache = new Array(this.frames.length).fill(null);
|
|
441
|
+
this.cacheBudget = (_d = options.cacheBytes) !== null && _d !== void 0 ? _d : MAX_CACHED_FRAME_BYTES;
|
|
405
442
|
this.originalMaterial = options.entity.polygon.material;
|
|
406
443
|
this.imageProperty = new Cesium.CallbackProperty(() => this.pool[this.poolIdx], false);
|
|
407
444
|
if (this.driveMaterial) {
|
|
@@ -467,7 +504,40 @@ var TextureFrameSeriesAnimator;
|
|
|
467
504
|
* or null unless the instance was constructed with produceValueCanvas.
|
|
468
505
|
*/
|
|
469
506
|
GetValueCanvas() {
|
|
470
|
-
|
|
507
|
+
if (!this.valueDims) {
|
|
508
|
+
return null;
|
|
509
|
+
}
|
|
510
|
+
if (this.valueOnly && this.valueCanvasVersion !== this.presentVersion && this.displayedValuePixels) {
|
|
511
|
+
this.writeInto(this.valueCanvas, this.displayedValuePixels, this.valueDims);
|
|
512
|
+
this.valueCanvasVersion = this.presentVersion;
|
|
513
|
+
}
|
|
514
|
+
return this.valueCanvas;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* The presented frame's value pixels, or null before one. Shares the cached array, so never write to it.
|
|
518
|
+
*/
|
|
519
|
+
GetValueRaster() {
|
|
520
|
+
if (!this.valueDims || !this.displayedValuePixels) {
|
|
521
|
+
return null;
|
|
522
|
+
}
|
|
523
|
+
return { data: this.displayedValuePixels, width: this.valueDims.width, height: this.valueDims.height };
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* The two value frames being faded between and the mix, or null unless the material is not driven.
|
|
527
|
+
*/
|
|
528
|
+
GetValueFade() {
|
|
529
|
+
if (!this.valueOnly || !this.valueDims || !this.displayedValuePixels) {
|
|
530
|
+
return null;
|
|
531
|
+
}
|
|
532
|
+
const previous = this.fadeFromValuePixels;
|
|
533
|
+
const from = previous && previous.length === this.displayedValuePixels.length ? previous : null;
|
|
534
|
+
return {
|
|
535
|
+
from,
|
|
536
|
+
to: this.displayedValuePixels,
|
|
537
|
+
width: this.valueDims.width,
|
|
538
|
+
height: this.valueDims.height,
|
|
539
|
+
mix: from ? this.fadeMix : 1
|
|
540
|
+
};
|
|
471
541
|
}
|
|
472
542
|
/**
|
|
473
543
|
* Increments every time a frame is presented, so a consumer holding the value canvas can tell
|
|
@@ -534,7 +604,11 @@ var TextureFrameSeriesAnimator;
|
|
|
534
604
|
if (this.currentFrameIndex < 0) {
|
|
535
605
|
return this.frameCache[0] ? -1 : 0;
|
|
536
606
|
}
|
|
537
|
-
|
|
607
|
+
// Full once another frame will not fit, so a prefetch only displaces a frame further from the
|
|
608
|
+
// playhead than itself and never trades the two ends of the window back and forth.
|
|
609
|
+
const full = this.cachedBytes + this.lastFrameBytes > this.cacheBudget;
|
|
610
|
+
const reach = full ? this.farthestCachedDistance() : n;
|
|
611
|
+
for (let d = 0; d < Math.min(n, reach); d++) {
|
|
538
612
|
const forward = this.currentFrameIndex + d;
|
|
539
613
|
if (forward < n && !this.frameCache[forward]) {
|
|
540
614
|
return forward;
|
|
@@ -546,6 +620,68 @@ var TextureFrameSeriesAnimator;
|
|
|
546
620
|
}
|
|
547
621
|
return -1;
|
|
548
622
|
}
|
|
623
|
+
farthestCachedDistance() {
|
|
624
|
+
let farthest = 0;
|
|
625
|
+
for (let i = 0; i < this.frameCache.length; i++) {
|
|
626
|
+
if (this.frameCache[i]) {
|
|
627
|
+
farthest = Math.max(farthest, Math.abs(i - this.currentFrameIndex));
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
return farthest;
|
|
631
|
+
}
|
|
632
|
+
/*
|
|
633
|
+
* Drops decoded frames furthest from the playhead until the cache fits its budget again.
|
|
634
|
+
*/
|
|
635
|
+
evictDecoded(keep) {
|
|
636
|
+
// A tinted fade reads its target from the cache each tick, where a value fade holds the arrays.
|
|
637
|
+
const fading = !this.valueOnly && this.fadeStartMs !== null ? this.fadeToIndex : -1;
|
|
638
|
+
while (this.cachedBytes > this.cacheBudget) {
|
|
639
|
+
let victim = -1;
|
|
640
|
+
let distance = -1;
|
|
641
|
+
for (let i = 0; i < this.frameCache.length; i++) {
|
|
642
|
+
if (!this.frameCache[i] || i === keep || i === this.currentFrameIndex || i === fading) {
|
|
643
|
+
continue;
|
|
644
|
+
}
|
|
645
|
+
const d = Math.abs(i - this.currentFrameIndex);
|
|
646
|
+
if (d > distance) {
|
|
647
|
+
distance = d;
|
|
648
|
+
victim = i;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
if (victim < 0) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
this.cachedBytes -= frameBytes(this.frameCache[victim], this.valueCache[victim]);
|
|
655
|
+
this.frameCache[victim] = null;
|
|
656
|
+
this.valueCache[victim] = null;
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
/*
|
|
660
|
+
* Keeps a frame's fetched bytes unless they are large, as a tile major archive's are.
|
|
661
|
+
*/
|
|
662
|
+
keepRaw(idx, buffer, base) {
|
|
663
|
+
if (buffer.byteLength > MAX_RAW_FRAME_BYTES / 16) {
|
|
664
|
+
return;
|
|
665
|
+
}
|
|
666
|
+
this.rawCache[idx] = { buffer, base };
|
|
667
|
+
this.rawBytes += buffer.byteLength;
|
|
668
|
+
while (this.rawBytes > MAX_RAW_FRAME_BYTES) {
|
|
669
|
+
let victim = -1;
|
|
670
|
+
let distance = -1;
|
|
671
|
+
for (let i = 0; i < this.rawCache.length; i++) {
|
|
672
|
+
const d = Math.abs(i - this.currentFrameIndex);
|
|
673
|
+
if (this.rawCache[i] && i !== idx && d > distance) {
|
|
674
|
+
distance = d;
|
|
675
|
+
victim = i;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
if (victim < 0) {
|
|
679
|
+
return;
|
|
680
|
+
}
|
|
681
|
+
this.rawBytes -= this.rawCache[victim].buffer.byteLength;
|
|
682
|
+
this.rawCache[victim] = null;
|
|
683
|
+
}
|
|
684
|
+
}
|
|
549
685
|
pumpFetchQueue() {
|
|
550
686
|
if (this.disposed || this.inFlightIndex !== -1) {
|
|
551
687
|
return;
|
|
@@ -589,10 +725,18 @@ var TextureFrameSeriesAnimator;
|
|
|
589
725
|
lo = Math.min(lo, at.ByteOffset);
|
|
590
726
|
hi = Math.max(hi, at.ByteOffset + at.ByteLength);
|
|
591
727
|
}
|
|
592
|
-
|
|
593
|
-
const
|
|
594
|
-
if (
|
|
595
|
-
|
|
728
|
+
let buffer;
|
|
729
|
+
const raw = this.rawCache[idx];
|
|
730
|
+
if (raw && raw.base === lo) {
|
|
731
|
+
buffer = raw.buffer;
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
const response = await fetch(this.archiveUrl, { headers: { Range: `bytes=${lo}-${hi - 1}` } });
|
|
735
|
+
buffer = await response.arrayBuffer();
|
|
736
|
+
if (this.disposed) {
|
|
737
|
+
return;
|
|
738
|
+
}
|
|
739
|
+
this.keepRaw(idx, buffer, lo);
|
|
596
740
|
}
|
|
597
741
|
// Awaited before decoding rather than applied later, so no frame is ever cached unmasked and
|
|
598
742
|
// then corrected once the mask lands.
|
|
@@ -604,9 +748,15 @@ var TextureFrameSeriesAnimator;
|
|
|
604
748
|
if (this.disposed) {
|
|
605
749
|
return;
|
|
606
750
|
}
|
|
751
|
+
if (this.frameCache[idx]) {
|
|
752
|
+
this.cachedBytes -= frameBytes(this.frameCache[idx], this.valueCache[idx]);
|
|
753
|
+
}
|
|
607
754
|
this.frameCache[idx] = decoded.pixels;
|
|
608
755
|
this.frameDims[idx] = { width: decoded.width, height: decoded.height };
|
|
609
756
|
this.valueCache[idx] = decoded.valuePixels || null;
|
|
757
|
+
this.lastFrameBytes = frameBytes(decoded.pixels, decoded.valuePixels || null);
|
|
758
|
+
this.cachedBytes += this.lastFrameBytes;
|
|
759
|
+
this.evictDecoded(idx);
|
|
610
760
|
if (this.shouldPresent(idx, isTarget)) {
|
|
611
761
|
this.beginCrossfadeTo(idx);
|
|
612
762
|
}
|
|
@@ -676,6 +826,13 @@ var TextureFrameSeriesAnimator;
|
|
|
676
826
|
*/
|
|
677
827
|
tint(imageData) {
|
|
678
828
|
const canvas = { width: imageData.width, height: imageData.height };
|
|
829
|
+
if (this.valueOnly) {
|
|
830
|
+
// One array serves as both, since nothing will ever display the colour.
|
|
831
|
+
const values = imageData.data;
|
|
832
|
+
this.applyBaselineMask(values, undefined, canvas.width, canvas.height);
|
|
833
|
+
DilateValues(values, canvas.width, canvas.height, VALUE_DILATE_PASSES, IsPackedValue(this.metadata));
|
|
834
|
+
return { pixels: values, width: canvas.width, height: canvas.height, valuePixels: values };
|
|
835
|
+
}
|
|
679
836
|
// Copied before tinting: the ramp is a lerp between two colours, so the value cannot be
|
|
680
837
|
// recovered from the tinted pixels afterwards.
|
|
681
838
|
const valuePixels = this.produceValueCanvas ? new Uint8ClampedArray(imageData.data) : undefined;
|
|
@@ -696,7 +853,7 @@ var TextureFrameSeriesAnimator;
|
|
|
696
853
|
}
|
|
697
854
|
this.applyBaselineMask(imageData.data, valuePixels, canvas.width, canvas.height);
|
|
698
855
|
if (valuePixels) {
|
|
699
|
-
|
|
856
|
+
DilateValues(valuePixels, canvas.width, canvas.height, VALUE_DILATE_PASSES, IsPackedValue(this.metadata));
|
|
700
857
|
}
|
|
701
858
|
return { pixels: imageData.data, width: canvas.width, height: canvas.height, valuePixels };
|
|
702
859
|
}
|
|
@@ -954,6 +1111,10 @@ var TextureFrameSeriesAnimator;
|
|
|
954
1111
|
}
|
|
955
1112
|
}
|
|
956
1113
|
beginCrossfadeTo(idx) {
|
|
1114
|
+
if (this.valueOnly) {
|
|
1115
|
+
this.beginValueFadeTo(idx);
|
|
1116
|
+
return;
|
|
1117
|
+
}
|
|
957
1118
|
const to = this.frameCache[idx];
|
|
958
1119
|
this.fadeFromValuePixels = this.displayedValuePixels === null && this.valueCache[idx]
|
|
959
1120
|
? new Uint8ClampedArray(this.valueCache[idx].length)
|
|
@@ -963,12 +1124,53 @@ var TextureFrameSeriesAnimator;
|
|
|
963
1124
|
this.fadeToDims = this.frameDims[idx];
|
|
964
1125
|
this.fadeStartMs = Now();
|
|
965
1126
|
}
|
|
1127
|
+
/*
|
|
1128
|
+
* Presents a value frame at once and leaves the fade to the consumer, which blends on the GPU.
|
|
1129
|
+
*/
|
|
1130
|
+
beginValueFadeTo(idx) {
|
|
1131
|
+
const to = this.valueCache[idx];
|
|
1132
|
+
if (!to || to === this.displayedValuePixels) {
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
// A new target mid fade keeps whichever frame is mostly on screen and carries on from the current
|
|
1136
|
+
// mix, so frames landing in quick succession do not jump the sheet back.
|
|
1137
|
+
const midFade = this.fadeStartMs !== null && Boolean(this.fadeFromValuePixels);
|
|
1138
|
+
if (midFade && this.fadeMix < 0.5) {
|
|
1139
|
+
this.fadeMixStart = this.fadeMix;
|
|
1140
|
+
}
|
|
1141
|
+
else {
|
|
1142
|
+
this.fadeFromValuePixels = this.displayedValuePixels;
|
|
1143
|
+
this.fadeMixStart = 0;
|
|
1144
|
+
}
|
|
1145
|
+
this.displayedValuePixels = to;
|
|
1146
|
+
this.valueDims = this.frameDims[idx];
|
|
1147
|
+
this.fadeToIndex = idx;
|
|
1148
|
+
this.fadeMix = this.fadeFromValuePixels ? this.fadeMixStart : 1;
|
|
1149
|
+
this.fadeStartMs = this.fadeFromValuePixels ? Now() : null;
|
|
1150
|
+
this.presentVersion++;
|
|
1151
|
+
this.requestRender();
|
|
1152
|
+
}
|
|
1153
|
+
requestRender() {
|
|
1154
|
+
if (this.viewer && this.viewer.scene && this.viewer.scene.requestRenderMode) {
|
|
1155
|
+
this.viewer.scene.requestRender();
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
966
1158
|
tickCrossfade() {
|
|
967
1159
|
if (this.disposed || this.fadeStartMs === null) {
|
|
968
1160
|
return;
|
|
969
1161
|
}
|
|
970
1162
|
const t = Math.min(1, (Now() - this.fadeStartMs) / this.crossfadeMs);
|
|
971
1163
|
const eased = easeInOutQuad(t);
|
|
1164
|
+
if (this.valueOnly) {
|
|
1165
|
+
this.fadeMix = this.fadeMixStart + (1 - this.fadeMixStart) * eased;
|
|
1166
|
+
if (t >= 1) {
|
|
1167
|
+
this.fadeStartMs = null;
|
|
1168
|
+
this.fadeFromValuePixels = null;
|
|
1169
|
+
this.fadeMix = 1;
|
|
1170
|
+
}
|
|
1171
|
+
this.requestRender();
|
|
1172
|
+
return;
|
|
1173
|
+
}
|
|
972
1174
|
const from = this.fadeFromPixels;
|
|
973
1175
|
const to = this.frameCache[this.fadeToIndex];
|
|
974
1176
|
const n = Math.min(from.length, to.length);
|
|
@@ -1008,9 +1210,7 @@ var TextureFrameSeriesAnimator;
|
|
|
1008
1210
|
this.valueDims = dims;
|
|
1009
1211
|
}
|
|
1010
1212
|
this.presentVersion++;
|
|
1011
|
-
|
|
1012
|
-
this.viewer.scene.requestRender();
|
|
1013
|
-
}
|
|
1213
|
+
this.requestRender();
|
|
1014
1214
|
}
|
|
1015
1215
|
}
|
|
1016
1216
|
TextureFrameSeriesAnimator.Animator = Animator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture-frame-series-animator.js","sourceRoot":"","sources":["../../../src/rendering/texture-frame-series-animator.ts"],"names":[],"mappings":";;;AAAA,+CAA4E;AAC5E,iCAAiC;AACjC,yDACmC;AAEnC,IAAiB,0BAA0B,CAgwC1C;AAhwCD,WAAiB,0BAA0B;IA6EvC;;;OAGG;IACH,SAAgB,KAAK,CAAC,SAAmD;QACrE,MAAM,OAAO,GAAG,iCAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,GAAG,gCAAgC,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;SACf;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,iCAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,iCAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAClH,MAAM,KAAK,GAAG,iCAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7D,MAAM,IAAI,GAA0B;YAChC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,iCAAkB,CAAC,QAAQ,CAAC,SAAS;YAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,iCAAkB,CAAC,QAAQ,CAAC,iBAAiB;YACzE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACzD,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACzD,uFAAuF;YACvF,gFAAgF;YAChF,mBAAmB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YAC5F,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9E,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC5E,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC7E,cAAc,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;SAChF,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,0FAA0F;QAC1F,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IA7Ce,gCAAK,QA6CpB,CAAA;IAED;;OAEG;IACH,SAAS,eAAe,CAAC,SAAuC;QAC5D,MAAM,IAAI,GAAG,iCAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE;YACN,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;SACzC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,SAAS,CAAC,IAAoC,EAAE,KAA2B;QAChF,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,iCAAkB,CAAC,QAAQ,CAAC,WAAW,CAA2C,CAAC,IAAI,EAAE,CAAC;QACtI,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,EAAE,GAAG,iCAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,iCAAkB,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACrG,OAAO;gBACH,SAAS,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpD,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC9B,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACjC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,iCAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC;YAClE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,iCAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC;YACpE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,iCAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC3E,CAAC;IACN,CAAC;IAED;;OAEG;IACH,SAAS,QAAQ,CAAC,IAAoC,EAAE,IAAY;QAChE,MAAM,EAAE,GAAG,iCAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,SAAgB,SAAS,CAAC,QAA2C;QAEjE,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;QACxE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;eACzD,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;YAC7E,OAAO,IAAI,CAAC;SACf;QACD,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACtC,6FAA6F;QAC7F,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,QAAQ,GAAG,KAAK,EAAE,CAAC;IAChE,CAAC;IAde,oCAAS,YAcxB,CAAA;IAED;;;OAGG;IACH,SAAgB,aAAa,CAAC,QAA2C;QACrE,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAFe,wCAAa,gBAE5B,CAAA;IAED;;;OAGG;IACH,SAAgB,QAAQ,CAAC,GAA6C,EAAE,KAAa;QACjF,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC;IAFe,mCAAQ,WAEvB,CAAA;IAED;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,QAA2C;QACrE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,iCAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAFe,wCAAa,gBAE5B,CAAA;IAED;;;;;OAKG;IACH,SAAgB,YAAY,CAAC,QAA2C,EACpE,MAAyB,EAAE,EAAU;QACrC,OAAO,iCAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iCAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,iCAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3K,CAAC;IAHe,uCAAY,eAG3B,CAAA;IAED,kGAAkG;IACrF,4CAAiB,GAAG,OAAO,CAAC;IAEzC;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,QAA2C;QACrE,OAAO,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAFe,wCAAa,gBAE5B,CAAA;IAED;;;OAGG;IACH,SAAgB,OAAO,CAAC,QAA2C;QAC/D,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAFe,kCAAO,UAEtB,CAAA;IAED;;;;;;;OAOG;IACH,SAAgB,iBAAiB,CAAC,QAA2C,EACzE,KAAa;QACb,OAAO,iCAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;YAChD,GAAG,EAAE,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9E,GAAG,EAAE,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjF,CAAC,CAAC;IACP,CAAC;IANe,4CAAiB,oBAMhC,CAAA;IAED;;;;OAIG;IACH,SAAgB,sBAAsB,CAAC,IAAS;QAC5C,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CACH,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;YACtC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACrE,CAAC;IACN,CAAC;IATe,iDAAsB,yBASrC,CAAA;IAED,mGAAmG;IACnG,SAAS,aAAa,CAAC,MAAuC;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,CAAC,CAAC;SACZ;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAK,KAAa,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACxB,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAED,iEAAiE;IACjE,SAAS,YAAY,CAAC,MAAuC;QACzD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,IAAI,CAAC;SACf;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAa,aAAb,KAAK,uBAAL,KAAK,CAAU,KAAK,CAAA,KAAK,QAAQ;gBACpD,CAAC,CAAC,oBAAK,CAAC,YAAY,CAAE,KAAa,CAAC,KAAK,CAAC;gBAC1C,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,MAAM,EAAE;gBACR,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAsBD;;OAEG;IACH,SAAgB,mBAAmB,CAAC,OAOnC;;QACG,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,MAAA,OAAO,CAAC,gBAAgB,mCAAI,IAAI;YAChC,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI;YAC1B,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI;YAC1B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;SAChC,CAAC,CAAC;IACP,CAAC;IAde,8CAAmB,sBAclC,CAAA;IAmCD,MAAM,oBAAoB,GAAG,IAAI,CAAC;IAClC,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,SAAS,aAAa,CAAC,MAAyB,EAAE,MAAe;QAC7D,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;YACzE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACjB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;SACxB;IACL,CAAC;IAED;;OAEG;IACH,SAAS,YAAY,CAAC,KAAwB,EAAE,KAAa,EAAE,MAAc,EAAE,MAAc,EACzF,MAAe;QACf,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9C;QAED,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;oBACxB,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;wBACd,SAAS;qBACZ;oBACD,IAAI,GAAG,GAAG,CAAC,CAAC;oBACZ,IAAI,IAAI,GAAG,CAAC,CAAC;oBACb,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;wBAC7B,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;4BAC7B,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;4BAClB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;4BAClB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE;gCAChF,SAAS;6BACZ;4BACD,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;4BACjC,wEAAwE;4BACxE,mEAAmE;4BACnE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC/D,IAAI,EAAE,CAAC;yBACV;qBACJ;oBACD,IAAI,IAAI,GAAG,CAAC,EAAE;wBACV,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;wBACjC,IAAI,MAAM,EAAE;4BACR,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;4BAC9B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;4BAC3B,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;yBACxB;6BACI;4BACD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;4BACjB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;4BACrB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;yBACxB;wBACD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACjB;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,MAAM,oBAAoB,GAAG,GAAG,CAAC;IACjC,MAAM,iBAAiB,GAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzF,MAAM,kBAAkB,GAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAExF,MAAa,QAAQ;QAoEjB,YAAY,OAAiB;;YAzDrB,iBAAY,GAAgC,IAAI,CAAC;YACjD,wBAAmB,GAAgC,IAAI,CAAC;YACxD,aAAQ,GAAG,KAAK,CAAC;YAIzB,mGAAmG;YAC3F,kBAAa,GAAsB,IAAI,CAAC;YACxC,iBAAY,GAA6C,IAAI,CAAC;YAC9D,iBAAY,GAAyB,IAAI,CAAC;YAQ1C,sBAAiB,GAAG,CAAC,CAAC,CAAC;YAE/B,2FAA2F;YAC3F,0FAA0F;YAC1F,qEAAqE;YAC7D,kBAAa,GAAG,CAAC,CAAC,CAAC;YACnB,iBAAY,GAAG,CAAC,CAAC,CAAC;YAElB,oBAAe,GAA6B,IAAI,CAAC;YACjD,mBAAc,GAA6B,IAAI,CAAC;YAChD,yBAAoB,GAA6B,IAAI,CAAC;YACtD,wBAAmB,GAA6B,IAAI,CAAC;YACrD,gBAAW,GAAG,CAAC,CAAC,CAAC;YACjB,eAAU,GAA6C,IAAI,CAAC;YAC5D,gBAAW,GAAkB,IAAI,CAAC;YAE1C,uFAAuF;YACvF,yFAAyF;YACzF,uEAAuE;YACtD,SAAI,GAAwB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1G,YAAO,GAAG,CAAC,CAAC;YAcZ,cAAS,GAA6C,IAAI,CAAC;YAC3D,mBAAc,GAAG,CAAC,CAAC;YACnB,iBAAY,GAAyB,IAAI,CAAC;YAC1C,gBAAW,GAAqB,IAAI,CAAC;YACrC,kBAAa,GAAqB,IAAI,CAAC;YAG3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;aAC3F;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;aAC9E;YAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,oBAAoB,CAAC;YAE/D,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,oBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,iBAAiB,CAAC;YACjF,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,oBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,kBAAkB,CAAC;YAEnF,mFAAmF;YACnF,6EAA6E;YAC7E,MAAM,MAAM,GAA6B,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YAC7D,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjB,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;oBACzD,KAAK,EAAE,oBAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,iBAAiB;iBAC1D,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC;YAEX,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,yFAAyF;YACzF,iFAAiF;YACjF,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;gBACjF,CAAC,CAAC;oBACE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC;oBAC5D,WAAW,EAAE,WAAW;oBACxB,KAAK,EAAE,WAAW;iBACrB;gBACD,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAErF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAkD,CAAC;YAClG,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACvF,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;aACxH;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAED;;;WAGG;QACI,OAAO;YACV,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAuB,CAAC;aAC/D;QACL,CAAC;QAEM,UAAU;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,oFAAoF;QAC7E,sBAAsB;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED;;;WAGG;QACI,aAAa;YAChB,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QAED;;;WAGG;QACI,gBAAgB;YACnB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QAED;;;;;WAKG;QACI,kBAAkB;YACrB,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QAED;;;WAGG;QACI,cAAc;YACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;QAED;;;WAGG;QACI,iBAAiB;YACpB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAEO,WAAW,CAAC,WAA8B;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,6DAA6D;QACrD,cAAc,CAAC,WAA8B;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3D,OAAO,CAAC,CAAC;aACZ;YACD,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,EAAE,CAAC;aACb;YACD,OAAO,EAAE,GAAG,EAAE,EAAE;gBACZ,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE;oBAC7D,EAAE,GAAG,GAAG,CAAC;iBACZ;qBACI;oBACD,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;iBAChB;aACJ;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,iFAAiF;QACjF,wDAAwD;QAChD,WAAW,CAAC,GAAW;YAC3B,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB,EAAE;gBAChC,OAAO;aACV;YACD,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO;aACV;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAEO,WAAW,CAAC,GAAW;YAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO;aACV;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,GAAG,EAAE;gBAC5B,OAAO;aACV;YACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC;QAED,oEAAoE;QAC5D,oBAAoB;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACjC,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC1C,OAAO,OAAO,CAAC;iBAClB;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBAC7C,OAAO,QAAQ,CAAC;iBACnB;aACJ;YACD,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QAEO,cAAc;YAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE;gBAC5C,OAAO;aACV;YACD,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;YACd,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE;gBAC1B,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,QAAQ,GAAG,IAAI,CAAC;aACnB;iBACI;gBACD,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;aACtC;YACD,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;gBACb,OAAO;aACV;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;iBAC5B,KAAK,CAAC,GAAG,EAAE;gBACR,aAAa;YACjB,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,IAAI,CAAC,cAAc,EAAE,CAAC;iBACzB;YACL,CAAC,CAAC,CAAC;QACX,CAAC;QAEO,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,WAAoB,IAAI;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,sFAAsF;YACtF,8EAA8E;YAC9E,IAAI,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,EAAE,EAAE;oBACL,SAAS;iBACZ;gBACD,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;aACpD;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,6FAA6F;YAC7F,sCAAsC;YACtC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;YAEnD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;aAC9B;QACL,CAAC;QAED;;WAEG;QACK,aAAa,CAAC,GAAW,EAAE,QAAiB;YAChD,IAAI,GAAG,KAAK,IAAI,CAAC,iBAAiB,EAAE;gBAChC,OAAO,IAAI,CAAC;aACf;YACD,2EAA2E;YAC3E,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAO,KAAK,CAAC;aAChB;YACD,wFAAwF;YACxF,kDAAkD;YAClD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;QAED;;WAEG;QACO,KAAK,CAAC,YAAY,CAAC,KAAmB,EAAE,GAAW,EAAE,MAAmB,EAAE,SAAiB;YAEjG,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;YAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACzB,SAAS;iBACZ;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACjD,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aAChD;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QAED;;WAEG;QACK,eAAe;YACnB,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YACxB,OAAO;gBACH,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;gBACzC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBACxC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3C,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aAC7C,CAAC;QACN,CAAC;QAED;;WAEG;QACK,aAAa,CAAC,KAAmB,EAAE,MAAe;YACtD,MAAM,IAAI,GAAG,iCAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAY,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC/F,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,CAAC;QAED;;WAEG;QACO,IAAI,CAAC,SAAoB;YAC/B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;YACpE,wFAAwF;YACxF,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,qFAAqF;YACrF,4DAA4D;YAC5D,oFAAoF;YACpF,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,mFAAmF;YACnF,iFAAiF;YACjF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,IAAA,gCAAkB,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACjD;iBACI;gBACD,IAAA,qCAAuB,EAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACrE;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAA,8BAAgB,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAC/E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC9B;YACD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjF,IAAI,WAAW,EAAE;gBACb,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EACtE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACrC;YAED,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAC/F,CAAC;QAED;;WAEG;QACK,SAAS,CAAC,MAAyB,EAAE,MAAyB,EAClE,IAAuC;YACvC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED;;WAEG;QACI,WAAW;YACd,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACpE,CAAC;QAED;;WAEG;QACI,cAAc;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAChD;YACD,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED;;WAEG;QACK,KAAK,CAAC,qBAAqB;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE;gBACtB,IAAI,CAAC,EAAE,EAAE;oBACL,SAAS;iBACZ;gBACD,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;gBACZ,OAAO;aACV;YAED,IAAI;gBACA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO;iBACV;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO;iBACV;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBACZ,SAAS;qBACZ;oBACD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACjD,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;iBACpD;gBAED,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBACpE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;gBACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAClE;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,IAAI,CAAC,qEAAqE,EAAE,CAAC,CAAC,CAAC;aAC1F;QACL,CAAC;QAED;;;;;WAKG;QACK,KAAK,CAAC,iBAAiB;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAE/C,uFAAuF;YACvF,qEAAqE;YACrE,MAAM,MAAM,GAAsC,EAAE,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBACzC,IAAI,EAAE,EAAE;wBACJ,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;qBACjE;iBACJ;aACJ;YACD,MAAM,IAAI,GAAG,iCAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;aACV;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO;aACV;YAED,MAAM,IAAI,GAAG,KAAK,EAAE,IAAkF,EAAE,EAAE;gBACtG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO,IAAI,CAAC;iBACf;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBAClC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,KAAK,EAAE;wBACR,SAAS;qBACZ;oBACD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACjD,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC7C,IAAI,GAAG,IAAI,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,CAAC,CAAC;YAEF,IAAI;gBACA,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC3D;YACD,OAAO,CAAC,EAAE;gBACN,OAAO,CAAC,IAAI,CAAC,gEAAgE,EAAE,CAAC,CAAC,CAAC;aACrF;QACL,CAAC;QAED;;;;;;WAMG;QACK,QAAQ,CAAC,IAAgB,EAAE,MAAe,EAAE,IAAuC;YAEvF,MAAM,IAAI,GAAG,iCAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAW,EAAE,MAAM,EAC7D,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACxE,CAAC;QAED;;;;;WAKG;QACK,YAAY,CAAC,KAAkB,EAAE,IAAY,EACjD,OAAmE;YAEnE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACxC,IAAI,CAAC,EAAE,EAAE;oBACL,OAAO,IAAI,CAAC;iBACf;gBACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAChF,IAAI;oBACA,OAAO,MAAM,IAAA,uBAAS,EAAC,SAAS,CAAC,CAAC;iBACrC;gBACD,MAAM;oBACF,OAAO,IAAI,CAAC;iBACf;wBACO;oBACJ,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;iBAClC;YACL,CAAC,CAAC,CAAC,CAAC;QACR,CAAC;QAGD;;WAEG;QACK,kBAAkB;YACtB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBACpD;gBACD,OAAO,IAAI,CAAC,YAAY,CAAC;aAC5B;YACD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC/C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;aAC5B;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,OAAO,IAAI,CAAC,YAAY,CAAC;aAC5B;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;YAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC;iBACtF,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;iBAC1C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,OAAO;iBACV;gBACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,KAAuB,CAAC;gBAC5B,IAAI;oBACA,KAAK,GAAG,MAAM,IAAA,uBAAS,EAAC,SAAS,CAAC,CAAC;iBACtC;wBACO;oBACJ,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;iBAClC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBAExE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;gBACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACvE,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,6FAA6F;gBAC7F,OAAO,CAAC,IAAI,CAAC,mFAAmF,EAAE,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC,CAAC;YACP,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED;;WAEG;QACK,iBAAiB,CAAC,MAAyB,EAAE,WAA0C,EAC3F,KAAa,EAAE,MAAc;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBAC9B,OAAO;aACV;YACD,2FAA2F;YAC3F,mDAAmD;YACnD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC1E,OAAO;aACV;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACV,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACtB,IAAI,WAAW,EAAE;wBACb,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;qBAC9B;iBACJ;aACJ;QACL,CAAC;QAEO,gBAAgB,CAAC,GAAW;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjF,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YAC9G,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;QAC7B,CAAC;QAEO,aAAa;YACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;gBAC5C,OAAO;aACV;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;YACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACpD;YAED,IAAI,YAAY,GAA6B,IAAI,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE;gBACT,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3C,YAAY,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;oBAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;qBACxE;iBACJ;qBACI;oBACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACJ;YAED,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAE3D,IAAI,CAAC,IAAI,CAAC,EAAE;gBACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;aACnC;QACL,CAAC;QAEO,aAAa,CAAC,MAAyB,EAAE,IAAuC,EAAE,WAAsC;YAC5H,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;YAE9B,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,EAAE;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;gBACpD,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aACrC;QACL,CAAC;KACJ;IA/xBY,mCAAQ,WA+xBpB,CAAA;IAED,SAAS,aAAa,CAAC,CAAS;QAC5B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,GAAG;QACR,OAAO,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/E,CAAC;AACL,CAAC,EAhwCgB,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAgwC1C"}
|
|
1
|
+
{"version":3,"file":"texture-frame-series-animator.js","sourceRoot":"","sources":["../../../src/rendering/texture-frame-series-animator.ts"],"names":[],"mappings":"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"}
|