@lokalise/node-core 10.0.0-RC1 → 10.0.0
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 +16 -60
- package/dist/index.d.ts +12 -7
- package/dist/index.js +19 -14
- package/dist/index.js.map +1 -1
- package/dist/src/errors/InternalError.d.ts +1 -0
- package/dist/src/errors/InternalError.js +3 -1
- package/dist/src/errors/InternalError.js.map +1 -1
- package/dist/src/errors/PublicNonRecoverableError.d.ts +1 -0
- package/dist/src/errors/PublicNonRecoverableError.js +3 -1
- package/dist/src/errors/PublicNonRecoverableError.js.map +1 -1
- package/dist/src/errors/errorTypeGuards.d.ts +2 -2
- package/dist/src/errors/errorTypeGuards.js +5 -4
- package/dist/src/errors/errorTypeGuards.js.map +1 -1
- package/dist/src/errors/globalErrorHandler.d.ts +8 -7
- package/dist/src/errors/globalErrorHandler.js +15 -16
- package/dist/src/errors/globalErrorHandler.js.map +1 -1
- package/dist/src/errors/publicErrors.d.ts +5 -4
- package/dist/src/errors/publicErrors.js +15 -1
- package/dist/src/errors/publicErrors.js.map +1 -1
- package/dist/src/logging/commonLogger.d.ts +17 -0
- package/dist/src/logging/commonLogger.js +3 -0
- package/dist/src/logging/commonLogger.js.map +1 -0
- package/dist/src/observability/observabilityTypes.d.ts +22 -0
- package/dist/src/observability/observabilityTypes.js +3 -0
- package/dist/src/observability/observabilityTypes.js.map +1 -0
- package/dist/src/utils/checksumUtils.d.ts +7 -0
- package/dist/src/utils/checksumUtils.js +38 -0
- package/dist/src/utils/checksumUtils.js.map +1 -0
- package/dist/src/utils/encryptionUtility.d.ts +21 -0
- package/dist/src/utils/encryptionUtility.js +58 -0
- package/dist/src/utils/encryptionUtility.js.map +1 -0
- package/dist/src/utils/hashUtils.d.ts +9 -0
- package/dist/src/utils/hashUtils.js +19 -0
- package/dist/src/utils/hashUtils.js.map +1 -0
- package/dist/src/utils/objectUtils.d.ts +17 -0
- package/dist/src/utils/objectUtils.js +58 -1
- package/dist/src/utils/objectUtils.js.map +1 -1
- package/dist/src/utils/streamUtils.d.ts +38 -0
- package/dist/src/utils/streamUtils.js +85 -0
- package/dist/src/utils/streamUtils.js.map +1 -0
- package/package.json +20 -26
- package/dist/index.cjs +0 -898
- package/dist/index.d.cts +0 -304
- package/dist/index.d.mts +0 -304
- package/dist/index.mjs +0 -848
- package/dist/src/config/ConfigScope.spec.d.ts +0 -1
- package/dist/src/config/ConfigScope.spec.js +0 -587
- package/dist/src/config/ConfigScope.spec.js.map +0 -1
- package/dist/src/config/configTransformers.spec.d.ts +0 -1
- package/dist/src/config/configTransformers.spec.js +0 -28
- package/dist/src/config/configTransformers.spec.js.map +0 -1
- package/dist/src/errors/PublicNonRecoverableError.spec.d.ts +0 -1
- package/dist/src/errors/PublicNonRecoverableError.spec.js +0 -13
- package/dist/src/errors/PublicNonRecoverableError.spec.js.map +0 -1
- package/dist/src/errors/ResponseStatusError.d.ts +0 -7
- package/dist/src/errors/ResponseStatusError.js +0 -27
- package/dist/src/errors/ResponseStatusError.js.map +0 -1
- package/dist/src/errors/errorTypeGuards.spec.d.ts +0 -1
- package/dist/src/errors/errorTypeGuards.spec.js +0 -23
- package/dist/src/errors/errorTypeGuards.spec.js.map +0 -1
- package/dist/src/errors/globalErrorHandler.spec.d.ts +0 -1
- package/dist/src/errors/globalErrorHandler.spec.js +0 -30
- package/dist/src/errors/globalErrorHandler.spec.js.map +0 -1
- package/dist/src/http/httpClient.d.ts +0 -50
- package/dist/src/http/httpClient.js +0 -180
- package/dist/src/http/httpClient.js.map +0 -1
- package/dist/src/http/httpClient.spec.d.ts +0 -1
- package/dist/src/http/httpClient.spec.js +0 -777
- package/dist/src/http/httpClient.spec.js.map +0 -1
- package/dist/src/http/mock-data/mockProduct1.json +0 -12
- package/dist/src/http/mock-data/mockProductsLimit3.json +0 -38
- package/dist/src/logging/loggerConfigResolver.spec.d.ts +0 -1
- package/dist/src/logging/loggerConfigResolver.spec.js +0 -34
- package/dist/src/logging/loggerConfigResolver.spec.js.map +0 -1
- package/dist/src/utils/arrayUtils.spec.d.ts +0 -1
- package/dist/src/utils/arrayUtils.spec.js +0 -60
- package/dist/src/utils/arrayUtils.spec.js.map +0 -1
- package/dist/src/utils/objectUtils.spec.d.ts +0 -1
- package/dist/src/utils/objectUtils.spec.js +0 -612
- package/dist/src/utils/objectUtils.spec.js.map +0 -1
- package/dist/src/utils/typeUtils.spec.d.ts +0 -1
- package/dist/src/utils/typeUtils.spec.js +0 -115
- package/dist/src/utils/typeUtils.spec.js.map +0 -1
- package/dist/src/utils/waitUtils.spec.d.ts +0 -1
- package/dist/src/utils/waitUtils.spec.js +0 -50
- package/dist/src/utils/waitUtils.spec.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -2
- package/dist/vitest.config.js +0 -34
- package/dist/vitest.config.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,587 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const ConfigScope_1 = require("./ConfigScope");
|
|
6
|
-
const configTransformers_1 = require("./configTransformers");
|
|
7
|
-
const configValidators_1 = require("./configValidators");
|
|
8
|
-
const maybeEnsureClosingSlashTransformer = (value) => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return undefined;
|
|
11
|
-
}
|
|
12
|
-
const lastChar = value.at(-1);
|
|
13
|
-
if (lastChar !== '/') {
|
|
14
|
-
return `${value}/`;
|
|
15
|
-
}
|
|
16
|
-
return value;
|
|
17
|
-
};
|
|
18
|
-
describe('ConfigScope', () => {
|
|
19
|
-
describe('getMandatoryInteger', () => {
|
|
20
|
-
it('accepts an integer', () => {
|
|
21
|
-
process.env.value = '123';
|
|
22
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
23
|
-
const resolvedValue = configScope.getMandatoryInteger('value');
|
|
24
|
-
(0, vitest_1.expect)(resolvedValue).toBe(123);
|
|
25
|
-
});
|
|
26
|
-
it('throws an error on non-number', () => {
|
|
27
|
-
process.env.value = 'abc';
|
|
28
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
29
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryInteger('value')).toThrow(/must be a number/);
|
|
30
|
-
});
|
|
31
|
-
it('throws an error on missing value', () => {
|
|
32
|
-
delete process.env.value;
|
|
33
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
34
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryInteger('value')).toThrow(/Missing mandatory configuration parameter/);
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
describe('getMandatoryValidatedInteger', () => {
|
|
38
|
-
const validator = (0, configValidators_1.createRangeValidator)(0, 15);
|
|
39
|
-
it('accepts a valid integer', () => {
|
|
40
|
-
process.env.value = '15';
|
|
41
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
42
|
-
const resolvedValue = configScope.getMandatoryValidatedInteger('value', validator);
|
|
43
|
-
(0, vitest_1.expect)(resolvedValue).toBe(15);
|
|
44
|
-
});
|
|
45
|
-
it('throws an error on non-number', () => {
|
|
46
|
-
process.env.value = 'abc';
|
|
47
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
48
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryValidatedInteger('value', validator)).toThrow(/must be a number/);
|
|
49
|
-
});
|
|
50
|
-
it('throws an error on missing value', () => {
|
|
51
|
-
delete process.env.value;
|
|
52
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
53
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryInteger('value')).toThrow(/Missing mandatory configuration parameter/);
|
|
54
|
-
});
|
|
55
|
-
it('throws an error on invalid number', () => {
|
|
56
|
-
process.env.value = '16';
|
|
57
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
58
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryValidatedInteger('value', validator)).toThrow(/is invalid for parameter value/);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('getMandatory', () => {
|
|
62
|
-
it('accepts an integer', () => {
|
|
63
|
-
process.env.value = '123';
|
|
64
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
65
|
-
const resolvedValue = configScope.getMandatory('value');
|
|
66
|
-
(0, vitest_1.expect)(resolvedValue).toBe('123');
|
|
67
|
-
});
|
|
68
|
-
it('throws an error on missing value', () => {
|
|
69
|
-
delete process.env.value;
|
|
70
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
71
|
-
(0, vitest_1.expect)(() => configScope.getMandatory('value')).toThrow(/Missing mandatory configuration parameter/);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('getMandatoryOneOf', () => {
|
|
75
|
-
it('accepts item from given list', () => {
|
|
76
|
-
process.env.value = 'g';
|
|
77
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
78
|
-
const resolvedValue = configScope.getMandatoryOneOf('value', ['a', 'g', 'b']);
|
|
79
|
-
(0, vitest_1.expect)(resolvedValue).toBe('g');
|
|
80
|
-
});
|
|
81
|
-
it('throws an error on item not from list', () => {
|
|
82
|
-
process.env.value = 'c';
|
|
83
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
84
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryOneOf('value', ['a', 'g', 'b'])).toThrow(/Unsupported value/);
|
|
85
|
-
});
|
|
86
|
-
it('throws an error on missing value', () => {
|
|
87
|
-
delete process.env.value;
|
|
88
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
89
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryOneOf('value', ['a'])).toThrow(/Missing mandatory configuration parameter/);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe('getOptionalNullable', () => {
|
|
93
|
-
it('accepts value', () => {
|
|
94
|
-
process.env.value = 'val';
|
|
95
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
96
|
-
const resolvedValue = configScope.getOptionalNullable('value', 'def');
|
|
97
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val');
|
|
98
|
-
});
|
|
99
|
-
it('uses default value if not set', () => {
|
|
100
|
-
delete process.env.value;
|
|
101
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
102
|
-
const resolvedValue = configScope.getOptionalNullable('value', 'def');
|
|
103
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
104
|
-
});
|
|
105
|
-
it('keeps null if preferred', () => {
|
|
106
|
-
delete process.env.value;
|
|
107
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
108
|
-
const resolvedValue = configScope.getOptionalNullable('value', null);
|
|
109
|
-
(0, vitest_1.expect)(resolvedValue).toBeNull();
|
|
110
|
-
});
|
|
111
|
-
it('uses default on empty string', () => {
|
|
112
|
-
process.env.value = '';
|
|
113
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
114
|
-
const resolvedValue = configScope.getOptionalNullable('value', 'def');
|
|
115
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
describe('getOptional', () => {
|
|
119
|
-
it('accepts value', () => {
|
|
120
|
-
process.env.value = 'val';
|
|
121
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
122
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
123
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val');
|
|
124
|
-
});
|
|
125
|
-
it('uses default value if not set', () => {
|
|
126
|
-
delete process.env.value;
|
|
127
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
128
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
129
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
130
|
-
});
|
|
131
|
-
// This case can happen when variable is in .env file, but is left empty.
|
|
132
|
-
// Just like this:
|
|
133
|
-
// VAR1=
|
|
134
|
-
it('uses default value if set to empty string', () => {
|
|
135
|
-
process.env.value = '';
|
|
136
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
137
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
138
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
139
|
-
});
|
|
140
|
-
it('returns false if set to false', () => {
|
|
141
|
-
process.env.value = 'false';
|
|
142
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
143
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
144
|
-
(0, vitest_1.expect)(resolvedValue).toBe('false');
|
|
145
|
-
});
|
|
146
|
-
it('returns 0 if set to 0', () => {
|
|
147
|
-
process.env.value = '0';
|
|
148
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
149
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
150
|
-
(0, vitest_1.expect)(resolvedValue).toBe('0');
|
|
151
|
-
});
|
|
152
|
-
it('returns undefined if set to undefined', () => {
|
|
153
|
-
process.env.value = 'undefined';
|
|
154
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
155
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
156
|
-
(0, vitest_1.expect)(resolvedValue).toBe('undefined');
|
|
157
|
-
});
|
|
158
|
-
// Side effect of how node.js handles assigning undefined to process.env
|
|
159
|
-
it('returns undefined (string) if set to undefined (undefined)', () => {
|
|
160
|
-
process.env.value = undefined;
|
|
161
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
162
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
163
|
-
(0, vitest_1.expect)(resolvedValue).toBe('undefined');
|
|
164
|
-
});
|
|
165
|
-
it('returns null if set to null', () => {
|
|
166
|
-
process.env.value = 'null';
|
|
167
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
168
|
-
const resolvedValue = configScope.getOptional('value', 'def');
|
|
169
|
-
(0, vitest_1.expect)(resolvedValue).toBe('null');
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
describe('getOptionalOneOf', () => {
|
|
173
|
-
it('returns env value if it exists on the list', () => {
|
|
174
|
-
process.env.value = 'g';
|
|
175
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
176
|
-
const resolvedValue = configScope.getOptionalOneOf('value', 'default', ['a', 'g', 'b']);
|
|
177
|
-
(0, vitest_1.expect)(resolvedValue).toBe('g');
|
|
178
|
-
});
|
|
179
|
-
it('returns default if env value not exists and the default one exists on the list', () => {
|
|
180
|
-
delete process.env.value;
|
|
181
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
182
|
-
const resolvedValue = configScope.getOptionalOneOf('value', 'g', ['a', 'g', 'b']);
|
|
183
|
-
(0, vitest_1.expect)(resolvedValue).toBe('g');
|
|
184
|
-
});
|
|
185
|
-
it('throws an error on env value item not from list', () => {
|
|
186
|
-
process.env.value = 'c';
|
|
187
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
188
|
-
(0, vitest_1.expect)(() => configScope.getOptionalOneOf('value', 'default', ['a', 'g', 'b'])).toThrow(/Unsupported value/);
|
|
189
|
-
});
|
|
190
|
-
it('throws an error if env value not exists and the default one not exists on the list', () => {
|
|
191
|
-
delete process.env.value;
|
|
192
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
193
|
-
(0, vitest_1.expect)(() => configScope.getOptionalOneOf('value', 'default', ['a'])).toThrow(/Unsupported value/);
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
describe('getOptionalInteger', () => {
|
|
197
|
-
it('accepts value', () => {
|
|
198
|
-
process.env.value = '3';
|
|
199
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
200
|
-
const resolvedValue = configScope.getOptionalInteger('value', 1);
|
|
201
|
-
(0, vitest_1.expect)(resolvedValue).toBe(3);
|
|
202
|
-
});
|
|
203
|
-
it('uses default value if not set', () => {
|
|
204
|
-
delete process.env.value;
|
|
205
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
206
|
-
const resolvedValue = configScope.getOptionalInteger('value', 1);
|
|
207
|
-
(0, vitest_1.expect)(resolvedValue).toBe(1);
|
|
208
|
-
});
|
|
209
|
-
it('uses default value on empty string', () => {
|
|
210
|
-
process.env.value = '';
|
|
211
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
212
|
-
const resolvedValue = configScope.getOptionalInteger('value', 3);
|
|
213
|
-
(0, vitest_1.expect)(resolvedValue).toBe(3);
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
describe('getOptionalValidatedInteger', () => {
|
|
217
|
-
const validator = (val) => {
|
|
218
|
-
return val > 2;
|
|
219
|
-
};
|
|
220
|
-
it('accepts value', () => {
|
|
221
|
-
process.env.value = '3';
|
|
222
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
223
|
-
const resolvedValue = configScope.getOptionalValidatedInteger('value', 4, validator);
|
|
224
|
-
(0, vitest_1.expect)(resolvedValue).toBe(3);
|
|
225
|
-
});
|
|
226
|
-
it('uses default value if not set', () => {
|
|
227
|
-
delete process.env.value;
|
|
228
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
229
|
-
const resolvedValue = configScope.getOptionalValidatedInteger('value', 4, validator);
|
|
230
|
-
(0, vitest_1.expect)(resolvedValue).toBe(4);
|
|
231
|
-
});
|
|
232
|
-
it('throws when real value fails validation', () => {
|
|
233
|
-
process.env.value = '2';
|
|
234
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
235
|
-
(0, vitest_1.expect)(() => configScope.getOptionalValidatedInteger('value', 4, validator)).toThrow(/Value 2 is invalid for parameter value/);
|
|
236
|
-
});
|
|
237
|
-
it('throws when default value fails validation', () => {
|
|
238
|
-
delete process.env.value;
|
|
239
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
240
|
-
(0, vitest_1.expect)(() => configScope.getOptionalValidatedInteger('value', 2, validator)).toThrow(/Value 2 is invalid for parameter value/);
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
describe('getOptionalNullableInteger', () => {
|
|
244
|
-
it('accepts value', () => {
|
|
245
|
-
process.env.value = '3';
|
|
246
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
247
|
-
const resolvedValue = configScope.getOptionalNullableInteger('value', 1);
|
|
248
|
-
(0, vitest_1.expect)(resolvedValue).toBe(3);
|
|
249
|
-
});
|
|
250
|
-
it('uses default value if not set', () => {
|
|
251
|
-
delete process.env.value;
|
|
252
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
253
|
-
const resolvedValue = configScope.getOptionalNullableInteger('value', 1);
|
|
254
|
-
(0, vitest_1.expect)(resolvedValue).toBe(1);
|
|
255
|
-
});
|
|
256
|
-
it('uses default undefined value if not set', () => {
|
|
257
|
-
delete process.env.value;
|
|
258
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
259
|
-
const resolvedValue = configScope.getOptionalNullableInteger('value', undefined);
|
|
260
|
-
(0, vitest_1.expect)(resolvedValue).toBeUndefined();
|
|
261
|
-
});
|
|
262
|
-
it('uses default null value if not set', () => {
|
|
263
|
-
delete process.env.value;
|
|
264
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
265
|
-
const resolvedValue = configScope.getOptionalNullableInteger('value', null);
|
|
266
|
-
(0, vitest_1.expect)(resolvedValue).toBeNull();
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
describe('getOptionalValidated', () => {
|
|
270
|
-
const validator = (val) => {
|
|
271
|
-
return (val && val.length < 5) || false;
|
|
272
|
-
};
|
|
273
|
-
it('accepts valid value', () => {
|
|
274
|
-
process.env.value = 'val';
|
|
275
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
276
|
-
const resolvedValue = configScope.getOptionalValidated('value', 'def', validator);
|
|
277
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val');
|
|
278
|
-
});
|
|
279
|
-
it('uses default value if not set', () => {
|
|
280
|
-
delete process.env.value;
|
|
281
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
282
|
-
const resolvedValue = configScope.getOptionalValidated('value', 'def', validator);
|
|
283
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
284
|
-
});
|
|
285
|
-
it('uses default value on empty string', () => {
|
|
286
|
-
process.env.value = '';
|
|
287
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
288
|
-
const resolvedValue = configScope.getOptionalValidated('value', 'def', validator);
|
|
289
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def');
|
|
290
|
-
});
|
|
291
|
-
it('throws an error if failing validation', () => {
|
|
292
|
-
process.env.value = '12345678900';
|
|
293
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
294
|
-
(0, vitest_1.expect)(() => configScope.getOptionalValidated('value', 'a', validator)).toThrow(/is invalid for parameter/);
|
|
295
|
-
});
|
|
296
|
-
});
|
|
297
|
-
describe('getOptionalTransformed', () => {
|
|
298
|
-
it('transforms value', () => {
|
|
299
|
-
process.env.value = 'val';
|
|
300
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
301
|
-
const resolvedValue = configScope.getOptionalTransformed('value', 'def/', configTransformers_1.ensureClosingSlashTransformer);
|
|
302
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val/');
|
|
303
|
-
});
|
|
304
|
-
it('uses default value if not set', () => {
|
|
305
|
-
delete process.env.value;
|
|
306
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
307
|
-
const resolvedValue = configScope.getOptionalTransformed('value', 'def', configTransformers_1.ensureClosingSlashTransformer);
|
|
308
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def/');
|
|
309
|
-
});
|
|
310
|
-
it('uses default value on empty string', () => {
|
|
311
|
-
process.env.value = '';
|
|
312
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
313
|
-
const resolvedValue = configScope.getOptionalTransformed('value', 'def', configTransformers_1.ensureClosingSlashTransformer);
|
|
314
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def/');
|
|
315
|
-
});
|
|
316
|
-
});
|
|
317
|
-
describe('getOptionalNullableTransformed', () => {
|
|
318
|
-
it('transforms value', () => {
|
|
319
|
-
process.env.value = 'val';
|
|
320
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
321
|
-
const resolvedValue = configScope.getOptionalNullableTransformed('value', 'def/', maybeEnsureClosingSlashTransformer);
|
|
322
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val/');
|
|
323
|
-
});
|
|
324
|
-
it('uses default value if not set', () => {
|
|
325
|
-
delete process.env.value;
|
|
326
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
327
|
-
const resolvedValue = configScope.getOptionalNullableTransformed('value', 'def', maybeEnsureClosingSlashTransformer);
|
|
328
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def/');
|
|
329
|
-
});
|
|
330
|
-
it('uses default undefined value if not set', () => {
|
|
331
|
-
delete process.env.value;
|
|
332
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
333
|
-
const resolvedValue = configScope.getOptionalNullableTransformed('value', undefined, maybeEnsureClosingSlashTransformer);
|
|
334
|
-
(0, vitest_1.expect)(resolvedValue).toBeUndefined();
|
|
335
|
-
});
|
|
336
|
-
it('uses default value on empty string', () => {
|
|
337
|
-
process.env.value = '';
|
|
338
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
339
|
-
const resolvedValue = configScope.getOptionalNullableTransformed('value', 'def', maybeEnsureClosingSlashTransformer);
|
|
340
|
-
(0, vitest_1.expect)(resolvedValue).toBe('def/');
|
|
341
|
-
});
|
|
342
|
-
});
|
|
343
|
-
describe('getMandatoryTransformed', () => {
|
|
344
|
-
it('transforms value', () => {
|
|
345
|
-
process.env.value = 'val';
|
|
346
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
347
|
-
const resolvedValue = configScope.getMandatoryTransformed('value', configTransformers_1.ensureClosingSlashTransformer);
|
|
348
|
-
(0, vitest_1.expect)(resolvedValue).toBe('val/');
|
|
349
|
-
});
|
|
350
|
-
it('throws an error if not set', () => {
|
|
351
|
-
delete process.env.value;
|
|
352
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
353
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryTransformed('value', configTransformers_1.ensureClosingSlashTransformer)).toThrow(/Missing mandatory configuration parameter/);
|
|
354
|
-
});
|
|
355
|
-
});
|
|
356
|
-
describe('getOptionalBoolean', () => {
|
|
357
|
-
it('accepts true', () => {
|
|
358
|
-
process.env.value = 'true';
|
|
359
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
360
|
-
const resolvedValue = configScope.getOptionalBoolean('value', false);
|
|
361
|
-
(0, vitest_1.expect)(resolvedValue).toBe(true);
|
|
362
|
-
});
|
|
363
|
-
it('accepts false', () => {
|
|
364
|
-
process.env.value = 'false';
|
|
365
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
366
|
-
const resolvedValue = configScope.getOptionalBoolean('value', true);
|
|
367
|
-
(0, vitest_1.expect)(resolvedValue).toBe(false);
|
|
368
|
-
});
|
|
369
|
-
it('uses default value if not set', () => {
|
|
370
|
-
delete process.env.value;
|
|
371
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
372
|
-
const resolvedValue = configScope.getOptionalBoolean('value', true);
|
|
373
|
-
(0, vitest_1.expect)(resolvedValue).toBe(true);
|
|
374
|
-
});
|
|
375
|
-
it('uses default value if empty string', () => {
|
|
376
|
-
process.env.value = '';
|
|
377
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
378
|
-
const resolvedValue = configScope.getOptionalBoolean('value', true);
|
|
379
|
-
(0, vitest_1.expect)(resolvedValue).toBe(true);
|
|
380
|
-
});
|
|
381
|
-
it('throws an error if not a boolean', () => {
|
|
382
|
-
process.env.value = '1';
|
|
383
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
384
|
-
(0, vitest_1.expect)(() => configScope.getOptionalBoolean('value', false)).toThrow(/Validated entity 1 is not one of: true,false/);
|
|
385
|
-
});
|
|
386
|
-
});
|
|
387
|
-
describe('getMandatoryJsonObject', () => {
|
|
388
|
-
it('empty env value throws error', () => {
|
|
389
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
390
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
391
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryJsonObject('emptyObjectValue', schema)).toThrow(/Missing mandatory configuration parameter/);
|
|
392
|
-
});
|
|
393
|
-
it('env value not meeting schema throws error', () => {
|
|
394
|
-
process.env.objectValue = JSON.stringify({ b: 1 });
|
|
395
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
396
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
397
|
-
(0, vitest_1.expect)(() => configScope.getMandatoryJsonObject('objectValue', schema)).toThrow(/Configuration parameter objectValue must be a valid JSON meeting the given schema, but was {"b":1}/);
|
|
398
|
-
});
|
|
399
|
-
it('transform simple objects', () => {
|
|
400
|
-
process.env.objectValue = JSON.stringify({ a: 'a', b: 1 });
|
|
401
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
402
|
-
const schema = zod_1.z.object({
|
|
403
|
-
a: zod_1.z.string(),
|
|
404
|
-
b: zod_1.z.number(),
|
|
405
|
-
});
|
|
406
|
-
const result = configScope.getMandatoryJsonObject('objectValue', schema);
|
|
407
|
-
(0, vitest_1.expect)(result).toEqual({ a: 'a', b: 1 });
|
|
408
|
-
});
|
|
409
|
-
it('transform array', () => {
|
|
410
|
-
process.env.objectValue = JSON.stringify([
|
|
411
|
-
{ a: 'a1', b: 1 },
|
|
412
|
-
{ a: 'a2', b: 2 },
|
|
413
|
-
]);
|
|
414
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
415
|
-
const schema = zod_1.z.array(zod_1.z.object({
|
|
416
|
-
a: zod_1.z.string(),
|
|
417
|
-
b: zod_1.z.number(),
|
|
418
|
-
}));
|
|
419
|
-
const result = configScope.getMandatoryJsonObject('objectValue', schema);
|
|
420
|
-
(0, vitest_1.expect)(result).toEqual([
|
|
421
|
-
{ a: 'a1', b: 1 },
|
|
422
|
-
{ a: 'a2', b: 2 },
|
|
423
|
-
]);
|
|
424
|
-
});
|
|
425
|
-
});
|
|
426
|
-
describe('getOptionalJsonObject', () => {
|
|
427
|
-
it('empty env value returns default', () => {
|
|
428
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
429
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
430
|
-
const result = configScope.getOptionalJsonObject('emptyObjectValue', schema, { a: 'a' });
|
|
431
|
-
(0, vitest_1.expect)(result).toEqual({ a: 'a' });
|
|
432
|
-
});
|
|
433
|
-
it('env value not meeting schema throws error', () => {
|
|
434
|
-
process.env.objectValue = JSON.stringify({ b: 1 });
|
|
435
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
436
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
437
|
-
(0, vitest_1.expect)(() => configScope.getOptionalJsonObject('objectValue', schema, { a: 'a' })).toThrow(/Configuration parameter objectValue must be a valid JSON meeting the given schema, but was {"b":1}/);
|
|
438
|
-
});
|
|
439
|
-
it('transform simple objects', () => {
|
|
440
|
-
process.env.objectValue = JSON.stringify({ a: 'a', b: 1 });
|
|
441
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
442
|
-
const schema = zod_1.z.object({
|
|
443
|
-
a: zod_1.z.string(),
|
|
444
|
-
b: zod_1.z.number(),
|
|
445
|
-
});
|
|
446
|
-
const result = configScope.getOptionalJsonObject('objectValue', schema, { a: 'fake', b: -1 });
|
|
447
|
-
(0, vitest_1.expect)(result).toMatchObject({ a: 'a', b: 1 });
|
|
448
|
-
});
|
|
449
|
-
it('transform array', () => {
|
|
450
|
-
process.env.objectValue = JSON.stringify([
|
|
451
|
-
{ a: 'a1', b: 1 },
|
|
452
|
-
{ a: 'a2', b: 2 },
|
|
453
|
-
]);
|
|
454
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
455
|
-
const schema = zod_1.z.array(zod_1.z.object({
|
|
456
|
-
a: zod_1.z.string(),
|
|
457
|
-
b: zod_1.z.number(),
|
|
458
|
-
}));
|
|
459
|
-
const result = configScope.getOptionalJsonObject('objectValue', schema, [
|
|
460
|
-
{ a: 'fake', b: -1 },
|
|
461
|
-
]);
|
|
462
|
-
(0, vitest_1.expect)(result).toMatchObject([
|
|
463
|
-
{ a: 'a1', b: 1 },
|
|
464
|
-
{ a: 'a2', b: 2 },
|
|
465
|
-
]);
|
|
466
|
-
});
|
|
467
|
-
});
|
|
468
|
-
describe('getOptionalNullableJsonObject', () => {
|
|
469
|
-
it('empty env value returns default', () => {
|
|
470
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
471
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
472
|
-
const result = configScope.getOptionalNullableJsonObject('emptyObjectValue', schema, undefined);
|
|
473
|
-
(0, vitest_1.expect)(result).toEqual(undefined);
|
|
474
|
-
const result2 = configScope.getOptionalNullableJsonObject('emptyObjectValue', schema, null);
|
|
475
|
-
(0, vitest_1.expect)(result2).toEqual(null);
|
|
476
|
-
const result3 = configScope.getOptionalNullableJsonObject('emptyObjectValue', schema, {
|
|
477
|
-
a: 'a',
|
|
478
|
-
});
|
|
479
|
-
(0, vitest_1.expect)(result3).toEqual({ a: 'a' });
|
|
480
|
-
});
|
|
481
|
-
it('env value not meeting schema returns default', () => {
|
|
482
|
-
process.env.objectValue = JSON.stringify({ b: 1 });
|
|
483
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
484
|
-
const schema = zod_1.z.object({ a: zod_1.z.string() });
|
|
485
|
-
(0, vitest_1.expect)(() => configScope.getOptionalNullableJsonObject('objectValue', schema, { a: 'a' })).toThrow(/Configuration parameter objectValue must be a valid JSON meeting the given schema, but was {"b":1}/);
|
|
486
|
-
(0, vitest_1.expect)(() => configScope.getOptionalNullableJsonObject('objectValue', schema, null)).toThrow(/Configuration parameter objectValue must be a valid JSON meeting the given schema, but was {"b":1}/);
|
|
487
|
-
(0, vitest_1.expect)(() => configScope.getOptionalNullableJsonObject('objectValue', schema, undefined)).toThrow(/Configuration parameter objectValue must be a valid JSON meeting the given schema, but was {"b":1}/);
|
|
488
|
-
});
|
|
489
|
-
it('transform simple objects', () => {
|
|
490
|
-
process.env.objectValue = JSON.stringify({ a: 'a', b: 1 });
|
|
491
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
492
|
-
const schema = zod_1.z.object({
|
|
493
|
-
a: zod_1.z.string(),
|
|
494
|
-
b: zod_1.z.number(),
|
|
495
|
-
});
|
|
496
|
-
const result = configScope.getOptionalNullableJsonObject('objectValue', schema, {
|
|
497
|
-
a: 'fake',
|
|
498
|
-
b: -1,
|
|
499
|
-
});
|
|
500
|
-
(0, vitest_1.expect)(result).toMatchObject({ a: 'a', b: 1 });
|
|
501
|
-
});
|
|
502
|
-
it('transform array', () => {
|
|
503
|
-
process.env.objectValue = JSON.stringify([
|
|
504
|
-
{ a: 'a1', b: 1 },
|
|
505
|
-
{ a: 'a2', b: 2 },
|
|
506
|
-
]);
|
|
507
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
508
|
-
const schema = zod_1.z.array(zod_1.z.object({
|
|
509
|
-
a: zod_1.z.string(),
|
|
510
|
-
b: zod_1.z.number(),
|
|
511
|
-
}));
|
|
512
|
-
const result = configScope.getOptionalNullableJsonObject('objectValue', schema, [
|
|
513
|
-
{ a: 'fake', b: -1 },
|
|
514
|
-
]);
|
|
515
|
-
(0, vitest_1.expect)(result).toMatchObject([
|
|
516
|
-
{ a: 'a1', b: 1 },
|
|
517
|
-
{ a: 'a2', b: 2 },
|
|
518
|
-
]);
|
|
519
|
-
});
|
|
520
|
-
});
|
|
521
|
-
describe('updateEnv', () => {
|
|
522
|
-
it('updates cached env', () => {
|
|
523
|
-
process.env.value = '123';
|
|
524
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
525
|
-
const resolvedValue = configScope.getMandatory('value');
|
|
526
|
-
(0, vitest_1.expect)(resolvedValue).toBe('123');
|
|
527
|
-
process.env.value = '456';
|
|
528
|
-
const resolvedValue2 = configScope.getMandatory('value');
|
|
529
|
-
(0, vitest_1.expect)(resolvedValue2).toBe('123');
|
|
530
|
-
configScope.updateEnv();
|
|
531
|
-
const resolvedValue3 = configScope.getMandatory('value');
|
|
532
|
-
(0, vitest_1.expect)(resolvedValue3).toBe('456');
|
|
533
|
-
});
|
|
534
|
-
});
|
|
535
|
-
describe('isProduction', () => {
|
|
536
|
-
it('returns true if set to production', () => {
|
|
537
|
-
process.env.NODE_ENV = 'production';
|
|
538
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
539
|
-
(0, vitest_1.expect)(configScope.isProduction()).toBe(true);
|
|
540
|
-
});
|
|
541
|
-
it('returns true if set to development', () => {
|
|
542
|
-
process.env.NODE_ENV = 'development';
|
|
543
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
544
|
-
(0, vitest_1.expect)(configScope.isProduction()).toBe(false);
|
|
545
|
-
});
|
|
546
|
-
it('returns true if set to test', () => {
|
|
547
|
-
process.env.NODE_ENV = 'test';
|
|
548
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
549
|
-
(0, vitest_1.expect)(configScope.isProduction()).toBe(false);
|
|
550
|
-
});
|
|
551
|
-
});
|
|
552
|
-
describe('isDevelopment', () => {
|
|
553
|
-
it('returns true if set to production', () => {
|
|
554
|
-
process.env.NODE_ENV = 'production';
|
|
555
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
556
|
-
(0, vitest_1.expect)(configScope.isDevelopment()).toBe(false);
|
|
557
|
-
});
|
|
558
|
-
it('returns true if set to development', () => {
|
|
559
|
-
process.env.NODE_ENV = 'development';
|
|
560
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
561
|
-
(0, vitest_1.expect)(configScope.isDevelopment()).toBe(true);
|
|
562
|
-
});
|
|
563
|
-
it('returns true if set to test', () => {
|
|
564
|
-
process.env.NODE_ENV = 'test';
|
|
565
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
566
|
-
(0, vitest_1.expect)(configScope.isDevelopment()).toBe(true);
|
|
567
|
-
});
|
|
568
|
-
});
|
|
569
|
-
describe('isTest', () => {
|
|
570
|
-
it('returns true if set to production', () => {
|
|
571
|
-
process.env.NODE_ENV = 'production';
|
|
572
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
573
|
-
(0, vitest_1.expect)(configScope.isTest()).toBe(false);
|
|
574
|
-
});
|
|
575
|
-
it('returns true if set to development', () => {
|
|
576
|
-
process.env.NODE_ENV = 'development';
|
|
577
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
578
|
-
(0, vitest_1.expect)(configScope.isTest()).toBe(false);
|
|
579
|
-
});
|
|
580
|
-
it('returns true if set to test', () => {
|
|
581
|
-
process.env.NODE_ENV = 'test';
|
|
582
|
-
const configScope = new ConfigScope_1.ConfigScope();
|
|
583
|
-
(0, vitest_1.expect)(configScope.isTest()).toBe(true);
|
|
584
|
-
});
|
|
585
|
-
});
|
|
586
|
-
});
|
|
587
|
-
//# sourceMappingURL=ConfigScope.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigScope.spec.js","sourceRoot":"","sources":["../../../src/config/ConfigScope.spec.ts"],"names":[],"mappings":";;AAAA,mCAA+B;AAC/B,6BAAuB;AAEvB,+CAA2C;AAC3C,6DAAoE;AAEpE,yDAAyD;AAEzD,MAAM,kCAAkC,GAAG,CAAsC,KAAQ,EAAK,EAAE;IAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAc,CAAA;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,KAAK,GAAQ,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAE9D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAC5D,2CAA2C,CAC5C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,MAAM,SAAS,GAAG,IAAA,uCAAoB,EAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7C,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YAElF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAChF,kBAAkB,CACnB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAC5D,2CAA2C,CAC5C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAChF,gCAAgC,CACjC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAEvD,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CACrD,2CAA2C,CAC5C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAE7E,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3E,mBAAmB,CACpB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CACjE,2CAA2C,CAC5C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAErE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAErE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAEpE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAErE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,yEAAyE;QACzE,kBAAkB;QAClB,QAAQ;QACR,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAA;YAC3B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,CAAA;YAC/B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,wEAAwE;QACxE,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAA;YAC7B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAA;YAC1B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE7D,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAEvF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;YACxF,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAEjF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CACrF,mBAAmB,CACpB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;YAC5F,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3E,mBAAmB,CACpB,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAEhE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAEhE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAChE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,MAAM,SAAS,GAA8B,CAAC,GAAG,EAAE,EAAE;YACnD,OAAO,GAAG,GAAG,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;YAEpF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;YAEpF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAClF,wCAAwC,CACzC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAClF,wCAAwC,CACzC,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAExE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;YAExE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YAEhF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAE3E,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,MAAM,SAAS,GAAiD,CAAC,GAAG,EAAE,EAAE;YACtE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAA;QACzC,CAAC,CAAA;QAED,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEjF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEjF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEjF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,aAAa,CAAA;YACjC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAC7E,0BAA0B,CAC3B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,sBAAsB,CACtD,OAAO,EACP,MAAM,EACN,kDAA6B,CAC9B,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,sBAAsB,CACtD,OAAO,EACP,KAAK,EACL,kDAA6B,CAC9B,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,sBAAsB,CACtD,OAAO,EACP,KAAK,EACL,kDAA6B,CAC9B,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,8BAA8B,CAC9D,OAAO,EACP,MAAM,EACN,kCAAkC,CACnC,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,8BAA8B,CAC9D,OAAO,EACP,KAAK,EACL,kCAAkC,CACnC,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,8BAA8B,CAC9D,OAAO,EACP,SAAS,EACT,kCAAkC,CACnC,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,aAAa,EAAE,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,8BAA8B,CAC9D,OAAO,EACP,KAAK,EACL,kCAAkC,CACnC,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,uBAAuB,CACvD,OAAO,EACP,kDAA6B,CAC9B,CAAA;YAED,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,WAAW,CAAC,uBAAuB,CAAC,OAAO,EAAE,kDAA6B,CAAC,CAC5E,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAA;YAC1B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAEpE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAA;YAC3B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAEnE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA;YACxB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAEnE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;YACtB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAEnE,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAA;YACvB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAClE,8CAA8C,CAC/C,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YACrC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAE1C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAClF,2CAA2C,CAC5C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC1C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAC7E,oGAAoG,CACrG,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;gBACtB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAExE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACvC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,KAAK,CACpB,OAAC,CAAC,MAAM,CAAC;gBACP,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CACH,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAExE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YACrC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;YACxF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAE1C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CACxF,oGAAoG,CACrG,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;gBACtB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAE7F,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACvC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,KAAK,CACpB,OAAC,CAAC,MAAM,CAAC;gBACP,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CACH,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE;gBACtE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;aACrB,CAAC,CAAA;YAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YACrC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAE1C,MAAM,MAAM,GAAG,WAAW,CAAC,6BAA6B,CACtD,kBAAkB,EAClB,MAAM,EACN,SAAS,CACV,CAAA;YACD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAEjC,MAAM,OAAO,GAAG,WAAW,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC3F,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,MAAM,EAAE;gBACpF,CAAC,EAAE,GAAG;aACP,CAAC,CAAA;YACF,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAClD,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YACrC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAE1C,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,WAAW,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAC7E,CAAC,OAAO,CACP,oGAAoG,CACrG,CAAA;YAED,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAC1F,oGAAoG,CACrG,CAAA;YAED,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,WAAW,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAC5E,CAAC,OAAO,CACP,oGAAoG,CACrG,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC1D,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CAAC;gBACtB,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,WAAW,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC9E,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,CAAC,CAAC;aACN,CAAC,CAAA;YAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;gBACvC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,MAAM,GAAG,OAAC,CAAC,KAAK,CACpB,OAAC,CAAC,MAAM,CAAC;gBACP,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;gBACb,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE;aACd,CAAC,CACH,CAAA;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC9E,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;aACrB,CAAC,CAAA;YAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE;aAClB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YACvD,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;YACzB,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YACxD,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAElC,WAAW,CAAC,SAAS,EAAE,CAAA;YACvB,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YACxD,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;YACpC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;YAC7B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;YACpC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;YAC7B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAA;YACnC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;YACpC,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;YAC7B,MAAM,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAA;YAErC,IAAA,eAAM,EAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|