dsp-collection 0.2.5 → 0.2.7
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 +6 -2
- package/filter/FirFilterWin.d.ts +8 -0
- package/filter/FirFilterWin.d.ts.map +1 -0
- package/filter/FirFilterWin.js +55 -0
- package/filter/FirFilterWin.js.map +1 -0
- package/filter/SpecFilt.d.ts +11 -10
- package/filter/SpecFilt.d.ts.map +1 -0
- package/filter/SpecFilt.js +98 -98
- package/filter/SpecFilt.js.map +1 -1
- package/math/Complex.d.ts +43 -42
- package/math/Complex.d.ts.map +1 -0
- package/math/Complex.js +130 -129
- package/math/Complex.js.map +1 -1
- package/math/ComplexArray.d.ts +37 -36
- package/math/ComplexArray.d.ts.map +1 -0
- package/math/ComplexArray.js +170 -170
- package/math/ComplexArray.js.map +1 -1
- package/math/MathUtils.d.ts +10 -7
- package/math/MathUtils.d.ts.map +1 -0
- package/math/MathUtils.js +116 -81
- package/math/MathUtils.js.map +1 -1
- package/math/MutableComplex.d.ts +24 -22
- package/math/MutableComplex.d.ts.map +1 -0
- package/math/MutableComplex.js +68 -64
- package/math/MutableComplex.js.map +1 -1
- package/math/NumApprox.d.ts +4 -3
- package/math/NumApprox.d.ts.map +1 -0
- package/math/NumApprox.js +67 -67
- package/math/NumApprox.js.map +1 -1
- package/math/PolyReal.d.ts +14 -13
- package/math/PolyReal.d.ts.map +1 -0
- package/math/PolyReal.js +226 -226
- package/math/PolyReal.js.map +1 -1
- package/package.json +11 -3
- package/signal/AdaptiveStft.d.ts +13 -12
- package/signal/AdaptiveStft.d.ts.map +1 -0
- package/signal/AdaptiveStft.js +57 -57
- package/signal/AdaptiveStft.js.map +1 -1
- package/signal/Autocorrelation.d.ts +6 -5
- package/signal/Autocorrelation.d.ts.map +1 -0
- package/signal/Autocorrelation.js +53 -53
- package/signal/Autocorrelation.js.map +1 -1
- package/signal/Dft.d.ts +10 -9
- package/signal/Dft.d.ts.map +1 -0
- package/signal/Dft.js +87 -87
- package/signal/Dft.js.map +1 -1
- package/signal/EnvelopeDetection.d.ts +2 -1
- package/signal/EnvelopeDetection.d.ts.map +1 -0
- package/signal/EnvelopeDetection.js +9 -9
- package/signal/EnvelopeDetection.js.map +1 -1
- package/signal/Fft.d.ts +10 -9
- package/signal/Fft.d.ts.map +1 -0
- package/signal/Fft.js +275 -275
- package/signal/Fft.js.map +1 -1
- package/signal/Goertzel.d.ts +6 -5
- package/signal/Goertzel.d.ts.map +1 -0
- package/signal/Goertzel.js +48 -48
- package/signal/Goertzel.js.map +1 -1
- package/signal/InstFreq.d.ts +9 -8
- package/signal/InstFreq.d.ts.map +1 -0
- package/signal/InstFreq.js +26 -26
- package/signal/InstFreq.js.map +1 -1
- package/signal/PitchDetectionHarm.d.ts +27 -26
- package/signal/PitchDetectionHarm.d.ts.map +1 -0
- package/signal/PitchDetectionHarm.js +72 -68
- package/signal/PitchDetectionHarm.js.map +1 -1
- package/signal/Resampling.d.ts +8 -7
- package/signal/Resampling.d.ts.map +1 -0
- package/signal/Resampling.js +218 -218
- package/signal/Resampling.js.map +1 -1
- package/signal/WindowFunctions.d.ts +42 -40
- package/signal/WindowFunctions.d.ts.map +1 -0
- package/signal/WindowFunctions.js +194 -194
- package/signal/WindowFunctions.js.map +1 -1
- package/utils/ArrayUtils.d.ts +10 -9
- package/utils/ArrayUtils.d.ts.map +1 -0
- package/utils/ArrayUtils.js +68 -68
- package/utils/ArrayUtils.js.map +1 -1
- package/utils/DspUtils.d.ts +5 -2
- package/utils/DspUtils.d.ts.map +1 -0
- package/utils/DspUtils.js +12 -6
- package/utils/DspUtils.js.map +1 -1
- package/utils/MiscUtils.d.ts +7 -6
- package/utils/MiscUtils.d.ts.map +1 -0
- package/utils/MiscUtils.js +20 -20
- package/utils/MiscUtils.js.map +1 -1
package/math/Complex.js
CHANGED
|
@@ -1,130 +1,131 @@
|
|
|
1
|
-
import * as MathUtils from "./MathUtils.js";
|
|
2
|
-
|
|
3
|
-
constructor(re, im = 0) {
|
|
4
|
-
this.re = re;
|
|
5
|
-
this.im = im;
|
|
6
|
-
}
|
|
7
|
-
toString() {
|
|
8
|
-
return "(" + this.re + ", " + this.im + ")";
|
|
9
|
-
}
|
|
10
|
-
toNumber(eps) {
|
|
11
|
-
const absIm = Math.abs(this.im);
|
|
12
|
-
if (!(absIm <= eps || absIm <= Math.abs(this.re) * eps)) {
|
|
13
|
-
throw new Error("The imaginary part of the complex number is not neglectable small for the conversion to a real number. re=" + this.re + " im=" + this.im + " eps=" + eps + ".");
|
|
14
|
-
}
|
|
15
|
-
return this.re;
|
|
16
|
-
}
|
|
17
|
-
isNaN() {
|
|
18
|
-
return isNaN(this.re) || isNaN(this.im);
|
|
19
|
-
}
|
|
20
|
-
isInfinite() {
|
|
21
|
-
return this.re == Infinity || this.re == -Infinity || this.im == Infinity || this.im == -Infinity;
|
|
22
|
-
}
|
|
23
|
-
isFinite() {
|
|
24
|
-
return isFinite(this.re) && isFinite(this.im);
|
|
25
|
-
}
|
|
26
|
-
equals(x) {
|
|
27
|
-
return x && this.re == x.re && this.im == x.im;
|
|
28
|
-
}
|
|
29
|
-
fuzzyEquals(x, eps) {
|
|
30
|
-
return MathUtils.fuzzyEquals(this.re, x.re, eps) && MathUtils.fuzzyEquals(this.im, x.im, eps);
|
|
31
|
-
}
|
|
32
|
-
static expj(arg) {
|
|
33
|
-
return new Complex(Math.cos(arg), Math.sin(arg));
|
|
34
|
-
}
|
|
35
|
-
static fromPolar(abs, arg) {
|
|
36
|
-
return new Complex(abs * Math.cos(arg), abs * Math.sin(arg));
|
|
37
|
-
}
|
|
38
|
-
abs() {
|
|
39
|
-
return Math.hypot(this.re, this.im);
|
|
40
|
-
}
|
|
41
|
-
arg() {
|
|
42
|
-
return Math.atan2(this.im, this.re);
|
|
43
|
-
}
|
|
44
|
-
conj() {
|
|
45
|
-
return new Complex(this.re, -this.im);
|
|
46
|
-
}
|
|
47
|
-
neg() {
|
|
48
|
-
return new Complex(-this.re, -this.im);
|
|
49
|
-
}
|
|
50
|
-
reciprocal() {
|
|
51
|
-
if (this.isNaN()) {
|
|
52
|
-
return Complex.NaN;
|
|
53
|
-
}
|
|
54
|
-
if (this.isInfinite()) {
|
|
55
|
-
return Complex.ZERO;
|
|
56
|
-
}
|
|
57
|
-
const scale = this.re * this.re + this.im * this.im;
|
|
58
|
-
if (scale == 0) {
|
|
59
|
-
return Complex.INFINITY;
|
|
60
|
-
}
|
|
61
|
-
return new Complex(this.re / scale, -this.im / scale);
|
|
62
|
-
}
|
|
63
|
-
exp() {
|
|
64
|
-
return Complex.fromPolar(Math.exp(this.re), this.im);
|
|
65
|
-
}
|
|
66
|
-
log() {
|
|
67
|
-
return new Complex(Math.log(this.abs()), this.arg());
|
|
68
|
-
}
|
|
69
|
-
sqr() {
|
|
70
|
-
return new Complex(this.re * this.re - this.im * this.im, 2 * this.re * this.im);
|
|
71
|
-
}
|
|
72
|
-
sqrt() {
|
|
73
|
-
if (this.re == 0 && this.im == 0) {
|
|
74
|
-
return Complex.ZERO;
|
|
75
|
-
}
|
|
76
|
-
const m = this.abs();
|
|
77
|
-
return new Complex(Math.sqrt((m + this.re) / 2), Math.sign(this.im) * Math.sqrt((m - this.re) / 2));
|
|
78
|
-
}
|
|
79
|
-
addReal(x) {
|
|
80
|
-
return new Complex(this.re + x, this.im);
|
|
81
|
-
}
|
|
82
|
-
add(x) {
|
|
83
|
-
return new Complex(this.re + x.re, this.im + x.im);
|
|
84
|
-
}
|
|
85
|
-
subReal(x) {
|
|
86
|
-
return new Complex(this.re - x, this.im);
|
|
87
|
-
}
|
|
88
|
-
static subFromReal(x, y) {
|
|
89
|
-
return new Complex(x - y.re, -y.im);
|
|
90
|
-
}
|
|
91
|
-
sub(x) {
|
|
92
|
-
return new Complex(this.re - x.re, this.im - x.im);
|
|
93
|
-
}
|
|
94
|
-
mulReal(x) {
|
|
95
|
-
return new Complex(this.re * x, this.im * x);
|
|
96
|
-
}
|
|
97
|
-
mul(x) {
|
|
98
|
-
return new Complex(this.re * x.re - this.im * x.im, this.re * x.im + this.im * x.re);
|
|
99
|
-
}
|
|
100
|
-
divReal(x) {
|
|
101
|
-
return new Complex(this.re / x, this.im / x);
|
|
102
|
-
}
|
|
103
|
-
div(x) {
|
|
104
|
-
const m = x.re * x.re + x.im * x.im;
|
|
105
|
-
return new Complex((this.re * x.re + this.im * x.im) / m, (this.im * x.re - this.re * x.im) / m);
|
|
106
|
-
}
|
|
107
|
-
static divFromReal(x, y) {
|
|
108
|
-
const m = y.re * y.re + y.im * y.im;
|
|
109
|
-
return new Complex(x * y.re / m, -x * y.im / m);
|
|
110
|
-
}
|
|
111
|
-
powInt(x) {
|
|
112
|
-
if (!Number.isInteger(x)) {
|
|
113
|
-
throw new Error("powInt() used with non-integer exponent.");
|
|
114
|
-
}
|
|
115
|
-
return Complex.fromPolar(Math.pow(this.abs(), x), this.arg() * x);
|
|
116
|
-
}
|
|
117
|
-
powReal(x) {
|
|
118
|
-
return this.log().mulReal(x).exp();
|
|
119
|
-
}
|
|
120
|
-
pow(x) {
|
|
121
|
-
return this.log().mul(x).exp();
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
Complex.I = new Complex(0, 1);
|
|
125
|
-
Complex.ZERO = new Complex(0);
|
|
126
|
-
Complex.ONE = new Complex(1);
|
|
127
|
-
Complex.TWO = new Complex(2);
|
|
128
|
-
Complex.NaN = new Complex(NaN, NaN);
|
|
129
|
-
Complex.INFINITY = new Complex(Infinity, Infinity);
|
|
1
|
+
import * as MathUtils from "./MathUtils.js";
|
|
2
|
+
class Complex {
|
|
3
|
+
constructor(re, im = 0) {
|
|
4
|
+
this.re = re;
|
|
5
|
+
this.im = im;
|
|
6
|
+
}
|
|
7
|
+
toString() {
|
|
8
|
+
return "(" + this.re + ", " + this.im + ")";
|
|
9
|
+
}
|
|
10
|
+
toNumber(eps) {
|
|
11
|
+
const absIm = Math.abs(this.im);
|
|
12
|
+
if (!(absIm <= eps || absIm <= Math.abs(this.re) * eps)) {
|
|
13
|
+
throw new Error("The imaginary part of the complex number is not neglectable small for the conversion to a real number. re=" + this.re + " im=" + this.im + " eps=" + eps + ".");
|
|
14
|
+
}
|
|
15
|
+
return this.re;
|
|
16
|
+
}
|
|
17
|
+
isNaN() {
|
|
18
|
+
return isNaN(this.re) || isNaN(this.im);
|
|
19
|
+
}
|
|
20
|
+
isInfinite() {
|
|
21
|
+
return this.re == Infinity || this.re == -Infinity || this.im == Infinity || this.im == -Infinity;
|
|
22
|
+
}
|
|
23
|
+
isFinite() {
|
|
24
|
+
return isFinite(this.re) && isFinite(this.im);
|
|
25
|
+
}
|
|
26
|
+
equals(x) {
|
|
27
|
+
return x && this.re == x.re && this.im == x.im;
|
|
28
|
+
}
|
|
29
|
+
fuzzyEquals(x, eps) {
|
|
30
|
+
return MathUtils.fuzzyEquals(this.re, x.re, eps) && MathUtils.fuzzyEquals(this.im, x.im, eps);
|
|
31
|
+
}
|
|
32
|
+
static expj(arg) {
|
|
33
|
+
return new Complex(Math.cos(arg), Math.sin(arg));
|
|
34
|
+
}
|
|
35
|
+
static fromPolar(abs, arg) {
|
|
36
|
+
return new Complex(abs * Math.cos(arg), abs * Math.sin(arg));
|
|
37
|
+
}
|
|
38
|
+
abs() {
|
|
39
|
+
return Math.hypot(this.re, this.im);
|
|
40
|
+
}
|
|
41
|
+
arg() {
|
|
42
|
+
return Math.atan2(this.im, this.re);
|
|
43
|
+
}
|
|
44
|
+
conj() {
|
|
45
|
+
return new Complex(this.re, -this.im);
|
|
46
|
+
}
|
|
47
|
+
neg() {
|
|
48
|
+
return new Complex(-this.re, -this.im);
|
|
49
|
+
}
|
|
50
|
+
reciprocal() {
|
|
51
|
+
if (this.isNaN()) {
|
|
52
|
+
return Complex.NaN;
|
|
53
|
+
}
|
|
54
|
+
if (this.isInfinite()) {
|
|
55
|
+
return Complex.ZERO;
|
|
56
|
+
}
|
|
57
|
+
const scale = this.re * this.re + this.im * this.im;
|
|
58
|
+
if (scale == 0) {
|
|
59
|
+
return Complex.INFINITY;
|
|
60
|
+
}
|
|
61
|
+
return new Complex(this.re / scale, -this.im / scale);
|
|
62
|
+
}
|
|
63
|
+
exp() {
|
|
64
|
+
return Complex.fromPolar(Math.exp(this.re), this.im);
|
|
65
|
+
}
|
|
66
|
+
log() {
|
|
67
|
+
return new Complex(Math.log(this.abs()), this.arg());
|
|
68
|
+
}
|
|
69
|
+
sqr() {
|
|
70
|
+
return new Complex(this.re * this.re - this.im * this.im, 2 * this.re * this.im);
|
|
71
|
+
}
|
|
72
|
+
sqrt() {
|
|
73
|
+
if (this.re == 0 && this.im == 0) {
|
|
74
|
+
return Complex.ZERO;
|
|
75
|
+
}
|
|
76
|
+
const m = this.abs();
|
|
77
|
+
return new Complex(Math.sqrt((m + this.re) / 2), Math.sign(this.im) * Math.sqrt((m - this.re) / 2));
|
|
78
|
+
}
|
|
79
|
+
addReal(x) {
|
|
80
|
+
return new Complex(this.re + x, this.im);
|
|
81
|
+
}
|
|
82
|
+
add(x) {
|
|
83
|
+
return new Complex(this.re + x.re, this.im + x.im);
|
|
84
|
+
}
|
|
85
|
+
subReal(x) {
|
|
86
|
+
return new Complex(this.re - x, this.im);
|
|
87
|
+
}
|
|
88
|
+
static subFromReal(x, y) {
|
|
89
|
+
return new Complex(x - y.re, -y.im);
|
|
90
|
+
}
|
|
91
|
+
sub(x) {
|
|
92
|
+
return new Complex(this.re - x.re, this.im - x.im);
|
|
93
|
+
}
|
|
94
|
+
mulReal(x) {
|
|
95
|
+
return new Complex(this.re * x, this.im * x);
|
|
96
|
+
}
|
|
97
|
+
mul(x) {
|
|
98
|
+
return new Complex(this.re * x.re - this.im * x.im, this.re * x.im + this.im * x.re);
|
|
99
|
+
}
|
|
100
|
+
divReal(x) {
|
|
101
|
+
return new Complex(this.re / x, this.im / x);
|
|
102
|
+
}
|
|
103
|
+
div(x) {
|
|
104
|
+
const m = x.re * x.re + x.im * x.im;
|
|
105
|
+
return new Complex((this.re * x.re + this.im * x.im) / m, (this.im * x.re - this.re * x.im) / m);
|
|
106
|
+
}
|
|
107
|
+
static divFromReal(x, y) {
|
|
108
|
+
const m = y.re * y.re + y.im * y.im;
|
|
109
|
+
return new Complex(x * y.re / m, -x * y.im / m);
|
|
110
|
+
}
|
|
111
|
+
powInt(x) {
|
|
112
|
+
if (!Number.isInteger(x)) {
|
|
113
|
+
throw new Error("powInt() used with non-integer exponent.");
|
|
114
|
+
}
|
|
115
|
+
return Complex.fromPolar(Math.pow(this.abs(), x), this.arg() * x);
|
|
116
|
+
}
|
|
117
|
+
powReal(x) {
|
|
118
|
+
return this.log().mulReal(x).exp();
|
|
119
|
+
}
|
|
120
|
+
pow(x) {
|
|
121
|
+
return this.log().mul(x).exp();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
Complex.I = new Complex(0, 1);
|
|
125
|
+
Complex.ZERO = new Complex(0);
|
|
126
|
+
Complex.ONE = new Complex(1);
|
|
127
|
+
Complex.TWO = new Complex(2);
|
|
128
|
+
Complex.NaN = new Complex(NaN, NaN);
|
|
129
|
+
Complex.INFINITY = new Complex(Infinity, Infinity);
|
|
130
|
+
export default Complex;
|
|
130
131
|
//# sourceMappingURL=Complex.js.map
|
package/math/Complex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Complex.js","sourceRoot":"","sources":["../../src/math/Complex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAK5C,
|
|
1
|
+
{"version":3,"file":"Complex.js","sourceRoot":"","sources":["../../src/math/Complex.ts"],"names":[],"mappings":"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"}
|
package/math/ComplexArray.d.ts
CHANGED
|
@@ -1,36 +1,37 @@
|
|
|
1
|
-
import Complex from "./Complex.
|
|
2
|
-
import MutableComplex from "./MutableComplex.
|
|
3
|
-
export default class ComplexArray {
|
|
4
|
-
re: Float64Array;
|
|
5
|
-
im: Float64Array;
|
|
6
|
-
length: number;
|
|
7
|
-
constructor(x?: number | Complex[] | ArrayLike<number>);
|
|
8
|
-
private constructByLength;
|
|
9
|
-
private constructByArrayOfComplex;
|
|
10
|
-
private constructByArrayOfNumber;
|
|
11
|
-
static fromPolar(absArray: ArrayLike<number>, argArray: ArrayLike<number>): ComplexArray;
|
|
12
|
-
slice(begin?: number, end?: number): ComplexArray;
|
|
13
|
-
subarray(begin: number, end: number): ComplexArray;
|
|
14
|
-
set(i: number, c: Complex): void;
|
|
15
|
-
setReIm(i: number, re: number, im: number): void;
|
|
16
|
-
setPolar(i: number, abs: number, arg: number): void;
|
|
17
|
-
static copy1(a1: ComplexArray, i1: number, a2: ComplexArray, i2: number): void;
|
|
18
|
-
get(i: number): MutableComplex;
|
|
19
|
-
getAbs(i: number): number;
|
|
20
|
-
getArg(i: number): number;
|
|
21
|
-
toString(): string;
|
|
22
|
-
getAbsArray(): Float64Array;
|
|
23
|
-
getArgArray(): Float64Array;
|
|
24
|
-
addRealTo(i: number, x: number): void;
|
|
25
|
-
addTo(i: number, x: Complex): void;
|
|
26
|
-
subRealFrom(i: number, x: number): void;
|
|
27
|
-
subFrom(i: number, x: Complex): void;
|
|
28
|
-
mulByReal(i: number, x: number): void;
|
|
29
|
-
mulBy(i: number, x: Complex): void;
|
|
30
|
-
divByReal(i: number, x: number): void;
|
|
31
|
-
divBy(i: number, x: Complex): void;
|
|
32
|
-
mulByArray(a2: ComplexArray): void;
|
|
33
|
-
mulAllByReal(x: number): void;
|
|
34
|
-
setMul(i: number, re1: number, im1: number, re2: number, im2: number): void;
|
|
35
|
-
setDiv(i: number, re1: number, im1: number, re2: number, im2: number): void;
|
|
36
|
-
}
|
|
1
|
+
import Complex from "./Complex.ts";
|
|
2
|
+
import MutableComplex from "./MutableComplex.ts";
|
|
3
|
+
export default class ComplexArray {
|
|
4
|
+
re: Float64Array;
|
|
5
|
+
im: Float64Array;
|
|
6
|
+
length: number;
|
|
7
|
+
constructor(x?: number | Complex[] | ArrayLike<number>);
|
|
8
|
+
private constructByLength;
|
|
9
|
+
private constructByArrayOfComplex;
|
|
10
|
+
private constructByArrayOfNumber;
|
|
11
|
+
static fromPolar(absArray: ArrayLike<number>, argArray: ArrayLike<number>): ComplexArray;
|
|
12
|
+
slice(begin?: number, end?: number): ComplexArray;
|
|
13
|
+
subarray(begin: number, end: number): ComplexArray;
|
|
14
|
+
set(i: number, c: Complex): void;
|
|
15
|
+
setReIm(i: number, re: number, im: number): void;
|
|
16
|
+
setPolar(i: number, abs: number, arg: number): void;
|
|
17
|
+
static copy1(a1: ComplexArray, i1: number, a2: ComplexArray, i2: number): void;
|
|
18
|
+
get(i: number): MutableComplex;
|
|
19
|
+
getAbs(i: number): number;
|
|
20
|
+
getArg(i: number): number;
|
|
21
|
+
toString(): string;
|
|
22
|
+
getAbsArray(): Float64Array;
|
|
23
|
+
getArgArray(): Float64Array;
|
|
24
|
+
addRealTo(i: number, x: number): void;
|
|
25
|
+
addTo(i: number, x: Complex): void;
|
|
26
|
+
subRealFrom(i: number, x: number): void;
|
|
27
|
+
subFrom(i: number, x: Complex): void;
|
|
28
|
+
mulByReal(i: number, x: number): void;
|
|
29
|
+
mulBy(i: number, x: Complex): void;
|
|
30
|
+
divByReal(i: number, x: number): void;
|
|
31
|
+
divBy(i: number, x: Complex): void;
|
|
32
|
+
mulByArray(a2: ComplexArray): void;
|
|
33
|
+
mulAllByReal(x: number): void;
|
|
34
|
+
setMul(i: number, re1: number, im1: number, re2: number, im2: number): void;
|
|
35
|
+
setDiv(i: number, re1: number, im1: number, re2: number, im2: number): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ComplexArray.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComplexArray.d.ts","sourceRoot":"","sources":["../../src/math/ComplexArray.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAUjD,MAAM,CAAC,OAAO,OAAO,YAAY;IAEtB,EAAE,EAAM,YAAY,CAAC;IACrB,EAAE,EAAM,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;gBAEH,CAAC,GAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,CAAK;IAUjE,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,wBAAwB;WAKlB,SAAS,CAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,GAAI,YAAY;IAQ1F,KAAK,CAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAI,YAAY;IAOnD,QAAQ,CAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAI,YAAY;IASpD,GAAG,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO;IAI1B,OAAO,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAI1C,QAAQ,CAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;WAItC,KAAK,CAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAMxE,GAAG,CAAE,CAAC,EAAE,MAAM,GAAI,cAAc;IAGhC,MAAM,CAAE,CAAC,EAAE,MAAM,GAAI,MAAM;IAG3B,MAAM,CAAE,CAAC,EAAE,MAAM,GAAI,MAAM;IAK3B,QAAQ,IAAK,MAAM;IASnB,WAAW,IAAK,YAAY;IAO5B,WAAW,IAAK,YAAY;IAS5B,SAAS,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAG/B,KAAK,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO;IAI5B,WAAW,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAGjC,OAAO,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO;IAI9B,SAAS,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAI/B,KAAK,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO;IAG5B,SAAS,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAI/B,KAAK,CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO;IAO5B,UAAU,CAAE,EAAE,EAAE,YAAY;IAM5B,YAAY,CAAE,CAAC,EAAE,MAAM;IAUvB,MAAM,CAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAOrE,MAAM,CAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAK3E"}
|