toosoon-utils 4.0.2 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +132 -15
- package/lib/functions.d.ts +8 -1
- package/lib/functions.js +12 -1
- package/lib/geometry.d.ts +58 -14
- package/lib/geometry.js +112 -15
- package/lib/maths.d.ts +8 -8
- package/lib/maths.js +11 -11
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Utility functions & classes.
|
|
4
4
|
|
|
5
|
+
[](https://nodei.co/npm/toosoon-utils/)
|
|
6
|
+
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
7
9
|
Yarn:
|
|
@@ -289,6 +291,16 @@ Promise wrapped setTimeout.
|
|
|
289
291
|
wait(delay?: number): Promise<void>;
|
|
290
292
|
```
|
|
291
293
|
|
|
294
|
+
##### isDefined(value)
|
|
295
|
+
|
|
296
|
+
Check if a value is defined.
|
|
297
|
+
|
|
298
|
+
- `value`: Value to check.
|
|
299
|
+
|
|
300
|
+
```ts
|
|
301
|
+
isDefined(value: any): boolean;
|
|
302
|
+
```
|
|
303
|
+
|
|
292
304
|
##### debounce(callback, delay)
|
|
293
305
|
|
|
294
306
|
Create a debounced function that delays the execution of `callback` until a specified `delay` time has passed since the last call.
|
|
@@ -401,15 +413,118 @@ diagonal(width: number, height: number): number;
|
|
|
401
413
|
|
|
402
414
|
Convert radians to a 3D point on the surface of a unit sphere.
|
|
403
415
|
|
|
404
|
-
- `radius`: Radius of the sphere
|
|
405
|
-
- `phi`: Polar angle from the y (up) axis [0, PI]
|
|
406
|
-
- `theta`: Equator angle around the y (up) axis [0, 2*PI]
|
|
407
|
-
- `[target]`: Target vector
|
|
416
|
+
- `radius`: Radius of the sphere.
|
|
417
|
+
- `phi`: Polar angle from the y (up) axis [0, PI].
|
|
418
|
+
- `theta`: Equator angle around the y (up) axis [0, 2*PI].
|
|
419
|
+
- `[target]`: Target vector.
|
|
408
420
|
|
|
409
421
|
```ts
|
|
410
422
|
radToSphere(radius: number, phi: number, theta: number, target?: Vector3): Vector3;
|
|
411
423
|
```
|
|
412
424
|
|
|
425
|
+
#### Curves
|
|
426
|
+
|
|
427
|
+
##### cubicBezier(t, x1, y1, cpx1, cpy1, cpx2, cpy2, x2, y2)
|
|
428
|
+
|
|
429
|
+
Interpolate a point on an elliptical arc Cubic Bézier curve.
|
|
430
|
+
|
|
431
|
+
- `t`: Normalized time value to interpolate.
|
|
432
|
+
- `x1`: X-axis coordinate of the start point.
|
|
433
|
+
- `y1`: Y-axis coordinate of the start point.
|
|
434
|
+
- `cpx1`: X-axis coordinate of the first control point.
|
|
435
|
+
- `cpy1`: Y-axis coordinate of the first control point.
|
|
436
|
+
- `cpx2`: X-axis coordinate of the second control point.
|
|
437
|
+
- `cpy2`: Y-axis coordinate of the second control point.
|
|
438
|
+
- `x2`: X-axis coordinate of the end point.
|
|
439
|
+
- `y2`: Y-axis coordinate of the end point.
|
|
440
|
+
|
|
441
|
+
```ts
|
|
442
|
+
cubicBezier(
|
|
443
|
+
t: number,
|
|
444
|
+
x1: number,
|
|
445
|
+
y1: number,
|
|
446
|
+
cpx1: number,
|
|
447
|
+
cpy1: number,
|
|
448
|
+
cpx2: number,
|
|
449
|
+
cpy2: number,
|
|
450
|
+
x2: number,
|
|
451
|
+
y2: number
|
|
452
|
+
): [number, number];
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
##### quadraticBesier(t, x1, y1, cpx, cpy, x2, y2)
|
|
456
|
+
|
|
457
|
+
Interpolate a point on an elliptical arc Quadratic Bézier curve.
|
|
458
|
+
|
|
459
|
+
- `t`: Normalized time value to interpolate.
|
|
460
|
+
- `x1`: X-axis coordinate of the start point.
|
|
461
|
+
- `y1`: Y-axis coordinate of the start point.
|
|
462
|
+
- `cpx`: X-axis coordinate of the control point.
|
|
463
|
+
- `cpy`: Y-axis coordinate of the control point.
|
|
464
|
+
- `x2`: X-axis coordinate of the end point.
|
|
465
|
+
- `y2`: Y-axis coordinate of the end point.
|
|
466
|
+
|
|
467
|
+
```ts
|
|
468
|
+
quadraticBesier(
|
|
469
|
+
t: number,
|
|
470
|
+
x1: number,
|
|
471
|
+
y1: number,
|
|
472
|
+
cpx: number,
|
|
473
|
+
cpy: number,
|
|
474
|
+
x2: number,
|
|
475
|
+
y2: number
|
|
476
|
+
): [number, number];
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
##### arc(t, x1, y1, x2, y2, rx, ry, angle, largeArc, sweep)
|
|
480
|
+
|
|
481
|
+
Interpolate a point on an elliptical arc.
|
|
482
|
+
|
|
483
|
+
- `t`: Normalized time value to interpolate.
|
|
484
|
+
- `x1`: X-axis coordinate of the starting point of the arc.
|
|
485
|
+
- `y1`: Y-axis coordinate of the starting point of the arc.
|
|
486
|
+
- `x2`: X-axis coordinate of the ending point of the arc.
|
|
487
|
+
- `y2`: Y-axis coordinate of the ending point of the arc.
|
|
488
|
+
- `rx`: X-radius of the ellipse.
|
|
489
|
+
- `ry`: Y-radius of the ellipse.
|
|
490
|
+
- `angle`: Rotation angle of the ellipse (in radians).
|
|
491
|
+
- `[largeArc=true]`: Flag indicating whether to draw the larger of the two possible arcs.
|
|
492
|
+
- `[clockwise=true]`: Flag indicating the direction of the arc.
|
|
493
|
+
|
|
494
|
+
```ts
|
|
495
|
+
arc(
|
|
496
|
+
t: number,
|
|
497
|
+
x1: number,
|
|
498
|
+
y1: number,
|
|
499
|
+
x2: number,
|
|
500
|
+
y2: number,
|
|
501
|
+
rx: number,
|
|
502
|
+
ry: number,
|
|
503
|
+
angle: number,
|
|
504
|
+
largeArc?: boolean,
|
|
505
|
+
sweep?: boolean
|
|
506
|
+
): [number, number];
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
#### Fit
|
|
510
|
+
|
|
511
|
+
<!-- -->
|
|
512
|
+
|
|
513
|
+
```ts
|
|
514
|
+
type FitInput = {
|
|
515
|
+
width: number;
|
|
516
|
+
height: number;
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
type FitOutput = {
|
|
520
|
+
left: number;
|
|
521
|
+
top: number;
|
|
522
|
+
width: number;
|
|
523
|
+
height: number;
|
|
524
|
+
scale: number;
|
|
525
|
+
};
|
|
526
|
+
```
|
|
527
|
+
|
|
413
528
|
##### cover(target, container)
|
|
414
529
|
|
|
415
530
|
Make a target fit a container (cover mode).
|
|
@@ -418,7 +533,7 @@ Make a target fit a container (cover mode).
|
|
|
418
533
|
- `container`: Dimension of the container.
|
|
419
534
|
|
|
420
535
|
```ts
|
|
421
|
-
cover(target:
|
|
536
|
+
cover(target: FitInput, container: FitInput): FitOutput;
|
|
422
537
|
```
|
|
423
538
|
|
|
424
539
|
##### contain(target, container)
|
|
@@ -429,7 +544,7 @@ Make a target fit a container (contain mode).
|
|
|
429
544
|
- `container`: Dimension of the container.
|
|
430
545
|
|
|
431
546
|
```ts
|
|
432
|
-
contain(target:
|
|
547
|
+
contain(target: FitInput, container: FitInput): FitOutput;
|
|
433
548
|
```
|
|
434
549
|
|
|
435
550
|
### Maths
|
|
@@ -497,43 +612,43 @@ Clamp a value between two bounds.
|
|
|
497
612
|
clamp(value: number, min?: number, max?: number): number;
|
|
498
613
|
```
|
|
499
614
|
|
|
500
|
-
##### lerp(
|
|
615
|
+
##### lerp(t, min, max)
|
|
501
616
|
|
|
502
617
|
Linear interpolation between two values (lerping).
|
|
503
618
|
|
|
504
|
-
- `
|
|
619
|
+
- `t`: Normalized time value to interpolate.
|
|
505
620
|
- `min`: Minimum value.
|
|
506
621
|
- `max`: Maximum value.
|
|
507
622
|
|
|
508
623
|
```ts
|
|
509
|
-
lerp(
|
|
624
|
+
lerp(t: number, min: number, max: number): number;
|
|
510
625
|
```
|
|
511
626
|
|
|
512
|
-
##### triLerp(
|
|
627
|
+
##### triLerp(t, min, max, target)
|
|
513
628
|
|
|
514
629
|
Triangular interpolation between two values.
|
|
515
630
|
|
|
516
|
-
- `
|
|
631
|
+
- `t`: Normalized time value to interpolate.
|
|
517
632
|
- `min`: Minimum value.
|
|
518
633
|
- `max`: Maximum value.
|
|
519
634
|
- `target`: Triangle target value.
|
|
520
635
|
|
|
521
636
|
```ts
|
|
522
|
-
triLerp(
|
|
637
|
+
triLerp(t: number, min: number, max: number, target: number): number;
|
|
523
638
|
```
|
|
524
639
|
|
|
525
|
-
##### expLerp(
|
|
640
|
+
##### expLerp(t, currentMin, currentMax, targetMin, targetMax)
|
|
526
641
|
|
|
527
642
|
Exponential interpolation between two values.
|
|
528
643
|
|
|
529
|
-
- `
|
|
644
|
+
- `t`: Normalized time value to interpolate.
|
|
530
645
|
- `currentMin`: Lower bound of the value's current range.
|
|
531
646
|
- `currentMax`: Upper bound of the value's current range.
|
|
532
647
|
- `targetMin`: Lower bound of the value's target range.
|
|
533
648
|
- `targetMax`: Upper bound of the value's target range.
|
|
534
649
|
|
|
535
650
|
```ts
|
|
536
|
-
expLerp(
|
|
651
|
+
expLerp(t: number, currentMin: number, currentMax: number, targetMin: number, targetMax: number): number;
|
|
537
652
|
```
|
|
538
653
|
|
|
539
654
|
##### normalize(value, min, max)
|
|
@@ -1261,3 +1376,5 @@ FrameRate.update(): boolean;
|
|
|
1261
1376
|
## License
|
|
1262
1377
|
|
|
1263
1378
|
MIT License, see [LICENSE](https://github.com/toosoon-dev/toosoon-utils/tree/master/LICENSE) for details.
|
|
1379
|
+
|
|
1380
|
+
[](https://nodei.co/npm/toosoon-utils/)
|
package/lib/functions.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ export declare function wait(delay?: number): Promise<void>;
|
|
|
18
18
|
* @returns {Function} Debounced function
|
|
19
19
|
*/
|
|
20
20
|
export declare function debounce<T extends (...args: any[]) => void>(callback: T, delay: number): (...args: Parameters<T>) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a value is defined
|
|
23
|
+
*
|
|
24
|
+
* @param {any} value Value to check
|
|
25
|
+
* @returns {boolean}
|
|
26
|
+
*/
|
|
27
|
+
export declare function isDefined<T>(value: T): value is Exclude<T, undefined | null>;
|
|
21
28
|
/**
|
|
22
29
|
* Create a throttled function that limits the execution of `callback` to once every `limit` time
|
|
23
30
|
*
|
|
@@ -29,7 +36,7 @@ export declare function throttle<T extends (...args: any[]) => void>(callback: T
|
|
|
29
36
|
/**
|
|
30
37
|
* Deferred promise implementation
|
|
31
38
|
*
|
|
32
|
-
* @returns {
|
|
39
|
+
* @returns {Deferred}
|
|
33
40
|
*/
|
|
34
41
|
export declare function defer<T = void>(): Deferred<T>;
|
|
35
42
|
/**
|
package/lib/functions.js
CHANGED
|
@@ -26,6 +26,17 @@ export function debounce(callback, delay) {
|
|
|
26
26
|
timeout = setTimeout(() => callback(...args), delay);
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if a value is defined
|
|
31
|
+
*
|
|
32
|
+
* @param {any} value Value to check
|
|
33
|
+
* @returns {boolean}
|
|
34
|
+
*/
|
|
35
|
+
export function isDefined(value) {
|
|
36
|
+
if (typeof value === 'undefined' || value === null)
|
|
37
|
+
return false;
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
29
40
|
/**
|
|
30
41
|
* Create a throttled function that limits the execution of `callback` to once every `limit` time
|
|
31
42
|
*
|
|
@@ -46,7 +57,7 @@ export function throttle(callback, limit) {
|
|
|
46
57
|
/**
|
|
47
58
|
* Deferred promise implementation
|
|
48
59
|
*
|
|
49
|
-
* @returns {
|
|
60
|
+
* @returns {Deferred}
|
|
50
61
|
*/
|
|
51
62
|
export function defer() {
|
|
52
63
|
let resolve;
|
package/lib/geometry.d.ts
CHANGED
|
@@ -16,10 +16,10 @@ export declare function toRadians(degrees: number): number;
|
|
|
16
16
|
/**
|
|
17
17
|
* Calculate the angle from a point to another
|
|
18
18
|
*
|
|
19
|
-
* @param {number} x1 X
|
|
20
|
-
* @param {number} y1 Y
|
|
21
|
-
* @param {number} x2 X
|
|
22
|
-
* @param {number} y2 Y
|
|
19
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
20
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
21
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
22
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
23
23
|
* @returns {number} Angle
|
|
24
24
|
*/
|
|
25
25
|
export declare function angle(x1: number, y1: number, x2: number, y2: number): number;
|
|
@@ -34,10 +34,10 @@ export declare function closestAngle(source: number, target: number): number;
|
|
|
34
34
|
/**
|
|
35
35
|
* Calculate the distance between two points
|
|
36
36
|
*
|
|
37
|
-
* @param {number} x1 X
|
|
38
|
-
* @param {number} y1 Y
|
|
39
|
-
* @param {number} x2 X
|
|
40
|
-
* @param {number} y2 Y
|
|
37
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
38
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
39
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
40
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
41
41
|
* @returns {number} Computed distance
|
|
42
42
|
*/
|
|
43
43
|
export declare function distance(x1: number, y1: number, x2: number, y2: number): number;
|
|
@@ -59,6 +59,50 @@ export declare function diagonal(width: number, height: number): number;
|
|
|
59
59
|
* @returns {Vector3}
|
|
60
60
|
*/
|
|
61
61
|
export declare function radToSphere(radius: number, phi: number, theta: number, target?: Vector3): Vector3;
|
|
62
|
+
/**
|
|
63
|
+
* Interpolate a point on an elliptical arc Cubic Bézier curve
|
|
64
|
+
*
|
|
65
|
+
* @param {number} t Normalized time value to interpolate
|
|
66
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
67
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
68
|
+
* @param {number} cpx1 X-axis coordinate of the first control point
|
|
69
|
+
* @param {number} cpy1 Y-axis coordinate of the first control point
|
|
70
|
+
* @param {number} cpx2 X-axis coordinate of the second control point
|
|
71
|
+
* @param {number} cpy2 Y-axis coordinate of the second control point
|
|
72
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
73
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
74
|
+
* @returns {[number, number]} Interpolated coordinates on the curve
|
|
75
|
+
*/
|
|
76
|
+
export declare function cubicBezier(t: number, x1: number, y1: number, cpx1: number, cpy1: number, cpx2: number, cpy2: number, x2: number, y2: number): [number, number];
|
|
77
|
+
/**
|
|
78
|
+
* Interpolate a point on an elliptical arc Quadratic Bézier curve
|
|
79
|
+
*
|
|
80
|
+
* @param {number} t Normalized time value to interpolate
|
|
81
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
82
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
83
|
+
* @param {number} cpx X-axis coordinate of the control point
|
|
84
|
+
* @param {number} cpy Y-axis coordinate of the control point
|
|
85
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
86
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
87
|
+
* @returns {[number, number]} Interpolated coordinates on the curve
|
|
88
|
+
*/
|
|
89
|
+
export declare function quadraticBesier(t: number, x1: number, y1: number, cpx: number, cpy: number, x2: number, y2: number): [number, number];
|
|
90
|
+
/**
|
|
91
|
+
* Interpolate a point on an elliptical arc
|
|
92
|
+
*
|
|
93
|
+
* @param {number} t Normalized time value to interpolate
|
|
94
|
+
* @param {number} x1 X-axis coordinate of the starting point of the arc
|
|
95
|
+
* @param {number} y1 Y-axis coordinate of the starting point of the arc
|
|
96
|
+
* @param {number} x2 X-axis coordinate of the ending point of the arc
|
|
97
|
+
* @param {number} y2 Y-axis coordinate of the ending point of the arc
|
|
98
|
+
* @param {number} rx X-radius of the ellipse
|
|
99
|
+
* @param {number} ry Y-radius of the ellipse
|
|
100
|
+
* @param {number} angle Rotation angle of the ellipse (in radians)
|
|
101
|
+
* @param {boolean} [largeArc=true] Flag indicating whether to draw the larger of the two possible arcs
|
|
102
|
+
* @param {boolean} [clockwise=true] Flag indicating the direction of the arc
|
|
103
|
+
* @returns {[number, number]} Interpolated coordinates on the arc
|
|
104
|
+
*/
|
|
105
|
+
export declare function arc(t: number, x1: number, y1: number, x2: number, y2: number, rx: number, ry: number, angle: number, largeArc?: boolean, clockwise?: boolean): [number, number];
|
|
62
106
|
export type FitInput = {
|
|
63
107
|
width: number;
|
|
64
108
|
height: number;
|
|
@@ -73,16 +117,16 @@ export type FitOutput = {
|
|
|
73
117
|
/**
|
|
74
118
|
* Make a target fit a container (cover mode)
|
|
75
119
|
*
|
|
76
|
-
* @param {
|
|
77
|
-
* @param {
|
|
78
|
-
* @returns {
|
|
120
|
+
* @param {FitInput} target Dimensions of the target
|
|
121
|
+
* @param {FitInput} container Dimensions of the container
|
|
122
|
+
* @returns {FitOutput}
|
|
79
123
|
*/
|
|
80
124
|
export declare function cover(target: FitInput, container: FitInput): FitOutput;
|
|
81
125
|
/**
|
|
82
126
|
* Make a target fit a container (contain mode)
|
|
83
127
|
*
|
|
84
|
-
* @param {
|
|
85
|
-
* @param {
|
|
86
|
-
* @returns {
|
|
128
|
+
* @param {FitInput} target Dimensions of the target
|
|
129
|
+
* @param {FitInput} container Dimensions of the container
|
|
130
|
+
* @returns {FitOutput}
|
|
87
131
|
*/
|
|
88
132
|
export declare function contain(target: FitInput, container: FitInput): FitOutput;
|
package/lib/geometry.js
CHANGED
|
@@ -20,10 +20,10 @@ export function toRadians(degrees) {
|
|
|
20
20
|
/**
|
|
21
21
|
* Calculate the angle from a point to another
|
|
22
22
|
*
|
|
23
|
-
* @param {number} x1 X
|
|
24
|
-
* @param {number} y1 Y
|
|
25
|
-
* @param {number} x2 X
|
|
26
|
-
* @param {number} y2 Y
|
|
23
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
24
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
25
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
26
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
27
27
|
* @returns {number} Angle
|
|
28
28
|
*/
|
|
29
29
|
export function angle(x1, y1, x2, y2) {
|
|
@@ -43,10 +43,10 @@ export function closestAngle(source, target) {
|
|
|
43
43
|
/**
|
|
44
44
|
* Calculate the distance between two points
|
|
45
45
|
*
|
|
46
|
-
* @param {number} x1 X
|
|
47
|
-
* @param {number} y1 Y
|
|
48
|
-
* @param {number} x2 X
|
|
49
|
-
* @param {number} y2 Y
|
|
46
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
47
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
48
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
49
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
50
50
|
* @returns {number} Computed distance
|
|
51
51
|
*/
|
|
52
52
|
export function distance(x1, y1, x2, y2) {
|
|
@@ -79,12 +79,109 @@ export function radToSphere(radius, phi, theta, target = { x: 0, y: 0, z: 0 }) {
|
|
|
79
79
|
target.z = radius * Math.sin(phi) * Math.cos(theta);
|
|
80
80
|
return target;
|
|
81
81
|
}
|
|
82
|
+
// *********************
|
|
83
|
+
// Curves
|
|
84
|
+
// *********************
|
|
85
|
+
/**
|
|
86
|
+
* Interpolate a point on an elliptical arc Cubic Bézier curve
|
|
87
|
+
*
|
|
88
|
+
* @param {number} t Normalized time value to interpolate
|
|
89
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
90
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
91
|
+
* @param {number} cpx1 X-axis coordinate of the first control point
|
|
92
|
+
* @param {number} cpy1 Y-axis coordinate of the first control point
|
|
93
|
+
* @param {number} cpx2 X-axis coordinate of the second control point
|
|
94
|
+
* @param {number} cpy2 Y-axis coordinate of the second control point
|
|
95
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
96
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
97
|
+
* @returns {[number, number]} Interpolated coordinates on the curve
|
|
98
|
+
*/
|
|
99
|
+
export function cubicBezier(t, x1, y1, cpx1, cpy1, cpx2, cpy2, x2, y2) {
|
|
100
|
+
const t2 = t * t;
|
|
101
|
+
const t3 = t2 * t;
|
|
102
|
+
const T = 1 - t;
|
|
103
|
+
const T2 = T * T;
|
|
104
|
+
const T3 = T2 * T;
|
|
105
|
+
const x = T3 * x1 + 3 * T2 * t * cpx1 + 3 * T * t2 * cpx2 + t3 * x2;
|
|
106
|
+
const y = T3 * y1 + 3 * T2 * t * cpy1 + 3 * T * t2 * cpy2 + t3 * y2;
|
|
107
|
+
return [x, y];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Interpolate a point on an elliptical arc Quadratic Bézier curve
|
|
111
|
+
*
|
|
112
|
+
* @param {number} t Normalized time value to interpolate
|
|
113
|
+
* @param {number} x1 X-axis coordinate of the start point
|
|
114
|
+
* @param {number} y1 Y-axis coordinate of the start point
|
|
115
|
+
* @param {number} cpx X-axis coordinate of the control point
|
|
116
|
+
* @param {number} cpy Y-axis coordinate of the control point
|
|
117
|
+
* @param {number} x2 X-axis coordinate of the end point
|
|
118
|
+
* @param {number} y2 Y-axis coordinate of the end point
|
|
119
|
+
* @returns {[number, number]} Interpolated coordinates on the curve
|
|
120
|
+
*/
|
|
121
|
+
export function quadraticBesier(t, x1, y1, cpx, cpy, x2, y2) {
|
|
122
|
+
const t2 = t * t;
|
|
123
|
+
const T = 1 - t;
|
|
124
|
+
const T2 = T * T;
|
|
125
|
+
const x = T2 * x1 + 2 * T * t * cpx + t2 * x2;
|
|
126
|
+
const y = T2 * y1 + 2 * T * t * cpy + t2 * y2;
|
|
127
|
+
return [x, y];
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Interpolate a point on an elliptical arc
|
|
131
|
+
*
|
|
132
|
+
* @param {number} t Normalized time value to interpolate
|
|
133
|
+
* @param {number} x1 X-axis coordinate of the starting point of the arc
|
|
134
|
+
* @param {number} y1 Y-axis coordinate of the starting point of the arc
|
|
135
|
+
* @param {number} x2 X-axis coordinate of the ending point of the arc
|
|
136
|
+
* @param {number} y2 Y-axis coordinate of the ending point of the arc
|
|
137
|
+
* @param {number} rx X-radius of the ellipse
|
|
138
|
+
* @param {number} ry Y-radius of the ellipse
|
|
139
|
+
* @param {number} angle Rotation angle of the ellipse (in radians)
|
|
140
|
+
* @param {boolean} [largeArc=true] Flag indicating whether to draw the larger of the two possible arcs
|
|
141
|
+
* @param {boolean} [clockwise=true] Flag indicating the direction of the arc
|
|
142
|
+
* @returns {[number, number]} Interpolated coordinates on the arc
|
|
143
|
+
*/
|
|
144
|
+
export function arc(t, x1, y1, x2, y2, rx, ry, angle, largeArc = true, clockwise = true) {
|
|
145
|
+
const centerX = (x1 - x2) / 2;
|
|
146
|
+
const centerY = (y1 - y2) / 2;
|
|
147
|
+
const cosAngle = Math.cos(angle);
|
|
148
|
+
const sinAngle = Math.sin(angle);
|
|
149
|
+
const x1p = cosAngle * centerX + sinAngle * centerY;
|
|
150
|
+
const y1p = -sinAngle * centerX + cosAngle * centerY;
|
|
151
|
+
rx = Math.abs(rx);
|
|
152
|
+
ry = Math.abs(ry);
|
|
153
|
+
const lambda = x1p ** 2 / rx ** 2 + y1p ** 2 / ry ** 2;
|
|
154
|
+
if (lambda > 1) {
|
|
155
|
+
rx *= Math.sqrt(lambda);
|
|
156
|
+
ry *= Math.sqrt(lambda);
|
|
157
|
+
}
|
|
158
|
+
const sign = largeArc !== clockwise ? 1 : -1;
|
|
159
|
+
const factor = sign *
|
|
160
|
+
Math.sqrt(Math.max(0, (rx ** 2 * ry ** 2 - rx ** 2 * y1p ** 2 - ry ** 2 * x1p ** 2) / (rx ** 2 * y1p ** 2 + ry ** 2 * x1p ** 2)));
|
|
161
|
+
const cxp = (factor * rx * y1p) / ry;
|
|
162
|
+
const cyp = (-factor * ry * x1p) / rx;
|
|
163
|
+
const cx = cosAngle * cxp - sinAngle * cyp + (x1 + x2) / 2;
|
|
164
|
+
const cy = sinAngle * cxp + cosAngle * cyp + (y1 + y2) / 2;
|
|
165
|
+
const startAngle = Math.atan2((y1p - cyp) / ry, (x1p - cxp) / rx);
|
|
166
|
+
const endAngle = Math.atan2((-y1p - cyp) / ry, (-x1p - cxp) / rx);
|
|
167
|
+
let deltaAngle = endAngle - startAngle;
|
|
168
|
+
if (clockwise === false && deltaAngle > 0) {
|
|
169
|
+
deltaAngle -= 2 * PI;
|
|
170
|
+
}
|
|
171
|
+
else if (clockwise === true && deltaAngle < 0) {
|
|
172
|
+
deltaAngle += 2 * PI;
|
|
173
|
+
}
|
|
174
|
+
const theta = startAngle + t * deltaAngle;
|
|
175
|
+
const x = cx + rx * Math.cos(theta) * cosAngle - ry * Math.sin(theta) * sinAngle;
|
|
176
|
+
const y = cy + rx * Math.cos(theta) * sinAngle + ry * Math.sin(theta) * cosAngle;
|
|
177
|
+
return [x, y];
|
|
178
|
+
}
|
|
82
179
|
/**
|
|
83
180
|
* Make a target fit a container
|
|
84
181
|
*
|
|
85
182
|
* @param {object} target Dimensions of the target
|
|
86
183
|
* @param {object} container Dimensions of the container
|
|
87
|
-
* @param {
|
|
184
|
+
* @param {'contain'|'cover'} mode Can be 'contain' | 'cover'
|
|
88
185
|
* @returns {object}
|
|
89
186
|
*/
|
|
90
187
|
function fit(target, container, mode) {
|
|
@@ -108,9 +205,9 @@ function fit(target, container, mode) {
|
|
|
108
205
|
/**
|
|
109
206
|
* Make a target fit a container (cover mode)
|
|
110
207
|
*
|
|
111
|
-
* @param {
|
|
112
|
-
* @param {
|
|
113
|
-
* @returns {
|
|
208
|
+
* @param {FitInput} target Dimensions of the target
|
|
209
|
+
* @param {FitInput} container Dimensions of the container
|
|
210
|
+
* @returns {FitOutput}
|
|
114
211
|
*/
|
|
115
212
|
export function cover(target, container) {
|
|
116
213
|
return fit(target, container, 'cover');
|
|
@@ -118,9 +215,9 @@ export function cover(target, container) {
|
|
|
118
215
|
/**
|
|
119
216
|
* Make a target fit a container (contain mode)
|
|
120
217
|
*
|
|
121
|
-
* @param {
|
|
122
|
-
* @param {
|
|
123
|
-
* @returns {
|
|
218
|
+
* @param {FitInput} target Dimensions of the target
|
|
219
|
+
* @param {FitInput} container Dimensions of the container
|
|
220
|
+
* @returns {FitOutput}
|
|
124
221
|
*/
|
|
125
222
|
export function contain(target, container) {
|
|
126
223
|
return fit(target, container, 'contain');
|
package/lib/maths.d.ts
CHANGED
|
@@ -46,33 +46,33 @@ export declare function clamp(value: number, min?: number, max?: number): number
|
|
|
46
46
|
/**
|
|
47
47
|
* Linear interpolation between two values (lerping)
|
|
48
48
|
*
|
|
49
|
-
* @param {number}
|
|
50
|
-
* @param {number} min
|
|
51
|
-
* @param {number} max
|
|
49
|
+
* @param {number} t Normalized time value to interpolate
|
|
50
|
+
* @param {number} min Minimum value
|
|
51
|
+
* @param {number} max Maximum value
|
|
52
52
|
* @returns {number} Lerped value
|
|
53
53
|
*/
|
|
54
|
-
export declare function lerp(
|
|
54
|
+
export declare function lerp(t: number, min: number, max: number): number;
|
|
55
55
|
/**
|
|
56
56
|
* Triangular interpolation between two values
|
|
57
57
|
*
|
|
58
|
-
* @param {number}
|
|
58
|
+
* @param {number} t Normalized time value to interpolate
|
|
59
59
|
* @param {number} min Minimum value
|
|
60
60
|
* @param {number} max Maximum value
|
|
61
61
|
* @param {number} target Triangle target value
|
|
62
62
|
* @returns {number} Interpolated value
|
|
63
63
|
*/
|
|
64
|
-
export declare function triLerp(
|
|
64
|
+
export declare function triLerp(t: number, min: number, max: number, target: number): number;
|
|
65
65
|
/**
|
|
66
66
|
* Exponential interpolation between two values
|
|
67
67
|
*
|
|
68
|
-
* @param {number} value
|
|
68
|
+
* @param {number} t Normalized time value to interpolate
|
|
69
69
|
* @param {number} currentMin Lower bound of the value's current range
|
|
70
70
|
* @param {number} currentMax Upper bound of the value's current range
|
|
71
71
|
* @param {number} targetMin Lower bound of the value's target range
|
|
72
72
|
* @param {number} targetMax Upper bound of the value's target range
|
|
73
73
|
* @returns {number} Interpolated value
|
|
74
74
|
*/
|
|
75
|
-
export declare function expLerp(
|
|
75
|
+
export declare function expLerp(t: number, currentMin: number, currentMax: number, targetMin: number, targetMax: number): number;
|
|
76
76
|
/**
|
|
77
77
|
* Normalize a value between two bounds
|
|
78
78
|
*
|
package/lib/maths.js
CHANGED
|
@@ -62,40 +62,40 @@ export function clamp(value, min = 0, max = 1) {
|
|
|
62
62
|
/**
|
|
63
63
|
* Linear interpolation between two values (lerping)
|
|
64
64
|
*
|
|
65
|
-
* @param {number}
|
|
66
|
-
* @param {number} min
|
|
67
|
-
* @param {number} max
|
|
65
|
+
* @param {number} t Normalized time value to interpolate
|
|
66
|
+
* @param {number} min Minimum value
|
|
67
|
+
* @param {number} max Maximum value
|
|
68
68
|
* @returns {number} Lerped value
|
|
69
69
|
*/
|
|
70
|
-
export function lerp(
|
|
71
|
-
return min + (max - min) *
|
|
70
|
+
export function lerp(t, min, max) {
|
|
71
|
+
return min + (max - min) * t;
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Triangular interpolation between two values
|
|
75
75
|
*
|
|
76
|
-
* @param {number}
|
|
76
|
+
* @param {number} t Normalized time value to interpolate
|
|
77
77
|
* @param {number} min Minimum value
|
|
78
78
|
* @param {number} max Maximum value
|
|
79
79
|
* @param {number} target Triangle target value
|
|
80
80
|
* @returns {number} Interpolated value
|
|
81
81
|
*/
|
|
82
|
-
export function triLerp(
|
|
82
|
+
export function triLerp(t, min, max, target) {
|
|
83
83
|
const x = Math.pow(1 + Math.abs(target - max) / Math.abs(target - min), -1);
|
|
84
|
-
return
|
|
84
|
+
return t <= x ? min - (min - target) * (t / x) : target - (target - max) * ((t - x) / (1 - x));
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Exponential interpolation between two values
|
|
88
88
|
*
|
|
89
|
-
* @param {number} value
|
|
89
|
+
* @param {number} t Normalized time value to interpolate
|
|
90
90
|
* @param {number} currentMin Lower bound of the value's current range
|
|
91
91
|
* @param {number} currentMax Upper bound of the value's current range
|
|
92
92
|
* @param {number} targetMin Lower bound of the value's target range
|
|
93
93
|
* @param {number} targetMax Upper bound of the value's target range
|
|
94
94
|
* @returns {number} Interpolated value
|
|
95
95
|
*/
|
|
96
|
-
export function expLerp(
|
|
96
|
+
export function expLerp(t, currentMin, currentMax, targetMin, targetMax) {
|
|
97
97
|
return (targetMin *
|
|
98
|
-
Math.pow(targetMax / targetMin, (clamp(
|
|
98
|
+
Math.pow(targetMax / targetMin, (clamp(t, currentMin, currentMax) - currentMin) / (currentMax - currentMin)));
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Normalize a value between two bounds
|
package/lib/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/types.ts","../src/geometry.ts","../src/maths.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/query.ts","../src/random.ts","../src/strings.ts","../src/classes/_pool.ts","../src/classes/color-scale.ts","../src/classes/frame-rate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"45cf2eb6cd6d7189ff80c87564aaa4fea53eb4c3da65d5e641127373de571cd9","signature":"0b4eec0a8599d6713095e0af18ab7e6204b675cd9fe8b2d02d04d66746e586e1"},{"version":"4081f0b74378ad72b7d0437cc085790616e863a2237409408b4ebfefb1dcb565","signature":"b10a0e63e1d8780944a62d94f79acf7b71b07bccd70934be176a31bb44328e16"},{"version":"5621f86b4fd0dbd01d97b62af419c6a8d83f2aab2024c99673f4e8cf12862a87","signature":"cf4585d7fe2e680c995ea5f3531406bf2e90d1e91cbe1e19f47a12459207db0f"},{"version":"5f0fcfcbcc870dcdeb52d296b5bd1901a9cd04a1616cd7f1bcf8e47bf3a8cc47","signature":"a0ff24ef84faa00948def16d69f7a1604e4f52088597b022145265391b5561ab"},{"version":"72cb034a46d7ab7bc377e5492915bd65baceac0fa3f960861c52e5a166818f7d","signature":"f050bc3aefd3841cd01f8ae29fa09bf78246975c5983da82a5d34a35bc342e84"},{"version":"2319a6f113ef4cc739b0144f40434149fc6b681af1c7a0868c347c167cf21285","signature":"309de51e4d0b348939ba9d776c0ba208b4d4b8347de072a8af7ea43d6339233a"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"4a9c6b262d0d61ffcc6adc1abf3c74285db99a49902bab0d38ec19ec2c89152a","signature":"c719b5b9764c93a65f6f9b7c19f8a9daf1728eddf3ab92e6b09ea5500b5a7671"},{"version":"abf157af4c9f3385a2f62d2fd751d67e868bd66bde489ca17d8bea83bfe0e9e5","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"10264fe1de3f0382802714f56b647344e758d682320b9605b0cd133a5322b7eb","signature":"027a0b75ecc4aca51f293dab58d070cd0d844e64c1557fcefa3581617f0b9733"},{"version":"3f4f97806466e0c4f906c8acbdd8f272362a2f6ccd18bbfdbb0886b4f44a9015","signature":"fb0ac8ea5e50c65d0a51af06faa24b82ce90fdbd2ef6ce6db5d773433e4c1b1a"},{"version":"fb82dc4ee7474b17ee18f8f486c72dc08d4a4a58de1fa5bd848f605dc35aea56","signature":"4dfc999d370f6f4e1172db031360eb34235ed377f9556010e0abba18df13a4be"},{"version":"7bc4d01db2f1ddfa2e7df8296e45b5f4403acb4acc46b8fd9a558308c58ede73","signature":"ed5b0fb47fcfa158461fd0d3dad57a8c0ddc976112798b8cfbfcf68e43550a35"},{"version":"1595db0c3abc543ff883ee0aa1b929aa8e86c03a5f19c5448a54f179064cc239","signature":"261ef4a665f5a6e9e28dfee9c2937d46b3b4958aad127d1d21b22b38a5a21449"},{"version":"1bb614fee833c30ffdc7ccac0743f50bc58ad8da274759973b1f8ee223a5f482","signature":"658f275e39f25ec9655c143d4604e7aca92cbd4725466976160f1b1d82e22096"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[70,84]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[85],[120],[121,126,154],[122,133,134,141,151,162],[122,123,133,141],[124,163],[125,126,134,142],[126,151,159],[127,129,133,141],[120,128],[129,130],[133],[131,133],[120,133],[133,134,135,151,162],[133,134,135,148,151,154],[118,121,167],[129,133,136,141,151,162],[133,134,136,137,141,151,159,162],[136,138,151,159,162],[85,86,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[133,139],[140,162,167],[129,133,141,151],[142],[143],[120,144],[145,161,167],[146],[147],[133,148,149],[148,150,163,165],[121,133,151,152,153,154],[121,151,153],[151,152],[154],[155],[120,151],[133,157,158],[157,158],[126,141,151,159],[160],[141,161],[121,136,147,162],[126,163],[151,164],[140,165],[166],[121,126,133,135,144,151,162,165,167],[151,168],[95,99,162],[95,151,162],[90],[92,95,159,162],[141,159],[170],[90,170],[92,95,141,162],[87,88,91,94,121,133,151,162],[87,93],[91,95,121,154,162,170],[121,170],[111,121,170],[89,90,170],[95],[89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117],[95,102,103],[93,95,103,104],[94],[87,90,95],[95,99,103,104],[99],[93,95,98,162],[87,92,93,95,99,102],[121,151],[90,95,111,121,167,170],[71,73,74],[77],[70,71,72,73],[71],[70,71],[71,72],[70]],"referencedMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,77],[84,78],[74,79],[77,80],[72,81],[80,82],[71,83]],"exportedModulesMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,80],[74,80],[77,80],[72,80],[80,80],[71,83]],"semanticDiagnosticsPerFile":[85,86,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,119,169,136,137,138,170,139,140,141,142,143,144,145,146,147,148,149,150,151,153,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,102,109,101,116,93,92,115,110,113,95,94,90,89,112,91,96,97,100,87,118,117,104,105,107,103,106,111,98,99,108,88,114,82,83,84,74,70,75,76,77,72,73,78,79,80,81,71]},"version":"5.4.2"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.promise.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.esnext.object.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../src/types.ts","../src/geometry.ts","../src/maths.ts","../src/colors.ts","../src/dom.ts","../src/files.ts","../src/functions.ts","../src/prng.ts","../src/query.ts","../src/random.ts","../src/strings.ts","../src/classes/_pool.ts","../src/classes/color-scale.ts","../src/classes/frame-rate.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"45cf2eb6cd6d7189ff80c87564aaa4fea53eb4c3da65d5e641127373de571cd9","signature":"0b4eec0a8599d6713095e0af18ab7e6204b675cd9fe8b2d02d04d66746e586e1"},{"version":"4081f0b74378ad72b7d0437cc085790616e863a2237409408b4ebfefb1dcb565","signature":"b10a0e63e1d8780944a62d94f79acf7b71b07bccd70934be176a31bb44328e16"},{"version":"6b72071c318f9d58e578adb9b1fc7e8efbcd97ac06d7a5ebe664aaeb7203ea89","signature":"8ca64610bb38e31a24b92d1cbaa1fed6150bc3ea77a43b1bbda8478a356eaf8b"},{"version":"df8f01a1ba4f3369c8b15d38fb6a9f0fd839e34ef76904deab2aaf996740aac8","signature":"b91d086d99300009fd42a09c07971ccbdc42d8ad2f92e6991fe16dc6a59a20f5"},{"version":"72cb034a46d7ab7bc377e5492915bd65baceac0fa3f960861c52e5a166818f7d","signature":"f050bc3aefd3841cd01f8ae29fa09bf78246975c5983da82a5d34a35bc342e84"},{"version":"2319a6f113ef4cc739b0144f40434149fc6b681af1c7a0868c347c167cf21285","signature":"309de51e4d0b348939ba9d776c0ba208b4d4b8347de072a8af7ea43d6339233a"},{"version":"d52ff004bb7cd1c00d0a179f4b0893ddf84cdafc6830b2ceafc814804dfff9a5","signature":"4d71e33886aa72fef5fe425d76a3557f6553ee0b08863733656d58b91b8a6e77"},{"version":"c7b93e1b93c8a738763ad4faa9c78302ccd8a06641037582bd935b8eb1aacce3","signature":"d2951601eea48e682032e8c5bd5e7a70c64abe03a57a0573abdea62100e38f82"},{"version":"abf157af4c9f3385a2f62d2fd751d67e868bd66bde489ca17d8bea83bfe0e9e5","signature":"3244739232ed0f77eb4aa4cd9af4feddcf5c3eabdf4f6c3388a5a75569935adb"},{"version":"10264fe1de3f0382802714f56b647344e758d682320b9605b0cd133a5322b7eb","signature":"027a0b75ecc4aca51f293dab58d070cd0d844e64c1557fcefa3581617f0b9733"},{"version":"3f4f97806466e0c4f906c8acbdd8f272362a2f6ccd18bbfdbb0886b4f44a9015","signature":"fb0ac8ea5e50c65d0a51af06faa24b82ce90fdbd2ef6ce6db5d773433e4c1b1a"},{"version":"fb82dc4ee7474b17ee18f8f486c72dc08d4a4a58de1fa5bd848f605dc35aea56","signature":"4dfc999d370f6f4e1172db031360eb34235ed377f9556010e0abba18df13a4be"},{"version":"7bc4d01db2f1ddfa2e7df8296e45b5f4403acb4acc46b8fd9a558308c58ede73","signature":"ed5b0fb47fcfa158461fd0d3dad57a8c0ddc976112798b8cfbfcf68e43550a35"},{"version":"1595db0c3abc543ff883ee0aa1b929aa8e86c03a5f19c5448a54f179064cc239","signature":"261ef4a665f5a6e9e28dfee9c2937d46b3b4958aad127d1d21b22b38a5a21449"},{"version":"1bb614fee833c30ffdc7ccac0743f50bc58ad8da274759973b1f8ee223a5f482","signature":"658f275e39f25ec9655c143d4604e7aca92cbd4725466976160f1b1d82e22096"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447"],"root":[[70,84]],"options":{"allowJs":true,"checkJs":true,"declaration":true,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[85],[120],[121,126,154],[122,133,134,141,151,162],[122,123,133,141],[124,163],[125,126,134,142],[126,151,159],[127,129,133,141],[120,128],[129,130],[133],[131,133],[120,133],[133,134,135,151,162],[133,134,135,148,151,154],[118,121,167],[129,133,136,141,151,162],[133,134,136,137,141,151,159,162],[136,138,151,159,162],[85,86,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[133,139],[140,162,167],[129,133,141,151],[142],[143],[120,144],[145,161,167],[146],[147],[133,148,149],[148,150,163,165],[121,133,151,152,153,154],[121,151,153],[151,152],[154],[155],[120,151],[133,157,158],[157,158],[126,141,151,159],[160],[141,161],[121,136,147,162],[126,163],[151,164],[140,165],[166],[121,126,133,135,144,151,162,165,167],[151,168],[95,99,162],[95,151,162],[90],[92,95,159,162],[141,159],[170],[90,170],[92,95,141,162],[87,88,91,94,121,133,151,162],[87,93],[91,95,121,154,162,170],[121,170],[111,121,170],[89,90,170],[95],[89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117],[95,102,103],[93,95,103,104],[94],[87,90,95],[95,99,103,104],[99],[93,95,98,162],[87,92,93,95,99,102],[121,151],[90,95,111,121,167,170],[71,73,74],[77],[70,71,72,73],[71],[70,71],[71,72],[70]],"referencedMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,77],[84,78],[74,79],[77,80],[72,81],[80,82],[71,83]],"exportedModulesMap":[[85,1],[86,1],[120,2],[121,3],[122,4],[123,5],[124,6],[125,7],[126,8],[127,9],[128,10],[129,11],[130,11],[132,12],[131,13],[133,14],[134,15],[135,16],[119,17],[136,18],[137,19],[138,20],[170,21],[139,22],[140,23],[141,24],[142,25],[143,26],[144,27],[145,28],[146,29],[147,30],[148,31],[149,31],[150,32],[151,33],[153,34],[152,35],[154,36],[155,37],[156,38],[157,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[102,51],[109,52],[101,51],[116,53],[93,54],[92,55],[115,56],[110,57],[113,58],[95,59],[94,60],[90,61],[89,62],[112,63],[91,64],[96,65],[100,65],[118,66],[117,65],[104,67],[105,68],[107,69],[103,70],[106,71],[111,56],[98,72],[99,73],[108,74],[88,75],[114,76],[83,80],[74,80],[77,80],[72,80],[80,80],[71,83]],"semanticDiagnosticsPerFile":[85,86,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,119,169,136,137,138,170,139,140,141,142,143,144,145,146,147,148,149,150,151,153,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,102,109,101,116,93,92,115,110,113,95,94,90,89,112,91,96,97,100,87,118,117,104,105,107,103,106,111,98,99,108,88,114,82,83,84,74,70,75,76,77,72,73,78,79,80,81,71]},"version":"5.4.2"}
|