signalk-questdb 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/migration.js +40 -45
  2. package/dist/migration.js.map +1 -1
  3. package/package.json +1 -1
  4. package/dist/test/config.test.d.ts +0 -1
  5. package/dist/test/config.test.js +0 -161
  6. package/dist/test/config.test.js.map +0 -1
  7. package/dist/test/configpanel-responses.test.d.ts +0 -1
  8. package/dist/test/configpanel-responses.test.js +0 -197
  9. package/dist/test/configpanel-responses.test.js.map +0 -1
  10. package/dist/test/console-proxy.test.d.ts +0 -1
  11. package/dist/test/console-proxy.test.js +0 -664
  12. package/dist/test/console-proxy.test.js.map +0 -1
  13. package/dist/test/container-env.test.d.ts +0 -1
  14. package/dist/test/container-env.test.js +0 -70
  15. package/dist/test/container-env.test.js.map +0 -1
  16. package/dist/test/delta-routing.test.d.ts +0 -1
  17. package/dist/test/delta-routing.test.js +0 -258
  18. package/dist/test/delta-routing.test.js.map +0 -1
  19. package/dist/test/full-export-range.test.d.ts +0 -1
  20. package/dist/test/full-export-range.test.js +0 -78
  21. package/dist/test/full-export-range.test.js.map +0 -1
  22. package/dist/test/history-v1.test.d.ts +0 -1
  23. package/dist/test/history-v1.test.js +0 -676
  24. package/dist/test/history-v1.test.js.map +0 -1
  25. package/dist/test/history-v2.test.d.ts +0 -1
  26. package/dist/test/history-v2.test.js +0 -1001
  27. package/dist/test/history-v2.test.js.map +0 -1
  28. package/dist/test/host-limits.test.d.ts +0 -1
  29. package/dist/test/host-limits.test.js +0 -81
  30. package/dist/test/host-limits.test.js.map +0 -1
  31. package/dist/test/ilp-writer.test.d.ts +0 -1
  32. package/dist/test/ilp-writer.test.js +0 -419
  33. package/dist/test/ilp-writer.test.js.map +0 -1
  34. package/dist/test/influx-detect.test.d.ts +0 -1
  35. package/dist/test/influx-detect.test.js +0 -287
  36. package/dist/test/influx-detect.test.js.map +0 -1
  37. package/dist/test/migration.test.d.ts +0 -1
  38. package/dist/test/migration.test.js +0 -851
  39. package/dist/test/migration.test.js.map +0 -1
  40. package/dist/test/package-e2e.test.d.ts +0 -1
  41. package/dist/test/package-e2e.test.js +0 -306
  42. package/dist/test/package-e2e.test.js.map +0 -1
  43. package/dist/test/path-matcher.test.d.ts +0 -1
  44. package/dist/test/path-matcher.test.js +0 -224
  45. package/dist/test/path-matcher.test.js.map +0 -1
  46. package/dist/test/query-client.test.d.ts +0 -1
  47. package/dist/test/query-client.test.js +0 -299
  48. package/dist/test/query-client.test.js.map +0 -1
  49. package/dist/test/questdb-endpoint.test.d.ts +0 -1
  50. package/dist/test/questdb-endpoint.test.js +0 -297
  51. package/dist/test/questdb-endpoint.test.js.map +0 -1
  52. package/dist/test/restore.test.d.ts +0 -1
  53. package/dist/test/restore.test.js +0 -543
  54. package/dist/test/restore.test.js.map +0 -1
  55. package/dist/test/time-range.test.d.ts +0 -1
  56. package/dist/test/time-range.test.js +0 -53
  57. package/dist/test/time-range.test.js.map +0 -1
  58. package/dist/test/wal-monitor.test.d.ts +0 -1
  59. package/dist/test/wal-monitor.test.js +0 -405
  60. package/dist/test/wal-monitor.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ilp-writer.test.js","sourceRoot":"","sources":["../../src/test/ilp-writer.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,287 +0,0 @@
1
- import { test, describe } from "node:test";
2
- import assert from "node:assert";
3
- import { detectInflux, validateInfluxUrl } from "../influx-detect.js";
4
- describe("InfluxDB version detection", () => {
5
- // The reported bug: InfluxDB 2.x answers the 1.x-compat /ping with 204, so
6
- // probing both endpoints independently reported one server twice — the
7
- // config panel showed "InfluxDB 1.x found" and "InfluxDB 2.x found" side by
8
- // side, both pointing at the same v2.9.1 instance.
9
- test("a 2.x server that also answers /ping is reported once, as 2.x", async () => {
10
- const fakeFetch = (async (url) => {
11
- const u = String(url);
12
- if (u.endsWith("/health"))
13
- return new Response(JSON.stringify({ status: "pass", version: "v2.9.1" }), { status: 200 });
14
- if (u.endsWith("/ping"))
15
- return new Response(null, {
16
- status: 204,
17
- headers: { "X-Influxdb-Version": "v2.9.1" },
18
- });
19
- return new Response(null, { status: 404 });
20
- });
21
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
22
- assert.strictEqual(sources.length, 1);
23
- assert.strictEqual(sources[0].type, "influxdb2");
24
- });
25
- // The panel renders "v{version}". InfluxDB already reports "v2.9.1", which
26
- // is how the screenshot ended up reading "vv2.9.1".
27
- test("version is reported without the leading v", async () => {
28
- const fakeFetch = (async (url) => {
29
- if (String(url).endsWith("/health"))
30
- return new Response(JSON.stringify({ status: "pass", version: "v2.9.1" }), { status: 200 });
31
- return new Response(null, { status: 404 });
32
- });
33
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
34
- assert.strictEqual(sources[0].version, "2.9.1");
35
- });
36
- // InfluxDB 1.8 ALSO serves /health with {"status":"pass"} — verified against
37
- // a live 1.8.10. Treating a healthy /health as proof of 2.x would flip every
38
- // real 1.x server to "InfluxDB 2.x", which matters beyond the label: the two
39
- // majors need different query dialects.
40
- test("a 1.8 server that answers /health is still detected as 1.x", async () => {
41
- const fakeFetch = (async (url) => {
42
- if (String(url).endsWith("/health"))
43
- return new Response(JSON.stringify({ status: "pass", version: "1.8.10" }), { status: 200 });
44
- return new Response(null, { status: 404 });
45
- });
46
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
47
- assert.strictEqual(sources.length, 1);
48
- assert.strictEqual(sources[0].type, "influxdb1");
49
- assert.strictEqual(sources[0].version, "1.8.10");
50
- });
51
- test("a 1.x server with no /health is detected via /ping", async () => {
52
- const fakeFetch = (async (url) => {
53
- const u = String(url);
54
- if (u.endsWith("/health"))
55
- return new Response(null, { status: 404 });
56
- if (u.endsWith("/ping"))
57
- return new Response(null, {
58
- status: 204,
59
- headers: { "X-Influxdb-Version": "1.8.10" },
60
- });
61
- return new Response(null, { status: 404 });
62
- });
63
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
64
- assert.strictEqual(sources.length, 1);
65
- assert.strictEqual(sources[0].type, "influxdb1");
66
- });
67
- test("a server answering /ping without a version header is still reported", async () => {
68
- const fakeFetch = (async (url) => {
69
- if (String(url).endsWith("/ping"))
70
- return new Response(null, { status: 204 });
71
- return new Response(null, { status: 404 });
72
- });
73
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
74
- assert.strictEqual(sources.length, 1);
75
- assert.strictEqual(sources[0].version, "unknown");
76
- });
77
- // 3.x drops the /health and Flux APIs both supported paths assume. Claiming
78
- // it is 2.x (or 1.x) would send the caller into a dialect it cannot answer,
79
- // so it is reported as nothing at all until 3.x is genuinely supported.
80
- test("a 3.x server is not reported as a version it is not", async () => {
81
- const fakeFetch = (async (url) => {
82
- if (String(url).endsWith("/health"))
83
- return new Response(JSON.stringify({ status: "pass", version: "v3.0.1" }), { status: 200 });
84
- return new Response(null, { status: 404 });
85
- });
86
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
87
- assert.deepStrictEqual(sources, []);
88
- });
89
- // The allowlist checks the URL it is given; a followed redirect is a second
90
- // request to a host nothing checked. Without redirect:"manual" a 302 from an
91
- // allowlisted server would walk the guard straight to a public address.
92
- test("redirects are not followed on either probe", async () => {
93
- const seen = [];
94
- const fakeFetch = (async (_url, init) => {
95
- seen.push(init?.redirect);
96
- return new Response(null, { status: 404 });
97
- });
98
- await detectInflux("http://localhost:8086", fakeFetch);
99
- assert.strictEqual(seen.length, 2, "both probes should run");
100
- assert.ok(seen.every((r) => r === "manual"), `expected every probe to set redirect:manual, got ${JSON.stringify(seen)}`);
101
- });
102
- test("an unhealthy /health falls through to /ping rather than reporting nothing", async () => {
103
- const fakeFetch = (async (url) => {
104
- const u = String(url);
105
- if (u.endsWith("/health"))
106
- return new Response(JSON.stringify({ status: "fail" }), {
107
- status: 200,
108
- });
109
- if (u.endsWith("/ping"))
110
- return new Response(null, {
111
- status: 204,
112
- headers: { "X-Influxdb-Version": "v2.9.1" },
113
- });
114
- return new Response(null, { status: 404 });
115
- });
116
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
117
- assert.strictEqual(sources.length, 1);
118
- assert.strictEqual(sources[0].type, "influxdb2");
119
- });
120
- // A gateway or reverse proxy can answer /health without the `version`
121
- // field. Keying "did anything answer?" off the version string meant such a
122
- // server — with /ping also unavailable — was reported as NOT RUNNING: "no
123
- // InfluxDB found" pointing straight at a live one.
124
- test("a healthy server that reports no version is still found", async () => {
125
- const fakeFetch = (async (url) => {
126
- if (String(url).endsWith("/health"))
127
- return new Response(JSON.stringify({ status: "pass" }), {
128
- status: 200,
129
- });
130
- return new Response(null, { status: 404 });
131
- });
132
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
133
- assert.strictEqual(sources.length, 1);
134
- assert.strictEqual(sources[0].status, "found");
135
- assert.strictEqual(sources[0].version, "unknown");
136
- });
137
- // /health answering without a version is still worth probing /ping for:
138
- // that header is what tells 1.x and 2.x apart.
139
- test("a version-less /health falls back to the /ping version header", async () => {
140
- const fakeFetch = (async (url) => {
141
- const u = String(url);
142
- if (u.endsWith("/health"))
143
- return new Response(JSON.stringify({ status: "pass" }), {
144
- status: 200,
145
- });
146
- if (u.endsWith("/ping"))
147
- return new Response(null, {
148
- status: 204,
149
- headers: { "X-Influxdb-Version": "v2.9.1" },
150
- });
151
- return new Response(null, { status: 404 });
152
- });
153
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
154
- assert.strictEqual(sources.length, 1);
155
- assert.strictEqual(sources[0].type, "influxdb2");
156
- assert.strictEqual(sources[0].version, "2.9.1");
157
- });
158
- // The 3.x exclusion is matched on the major with an explicit boundary. A
159
- // version of exactly "3" has no dot to match, and previously fell through
160
- // to the 1.x label — the same misidentification this module prevents.
161
- test("a bare major version does not fall through to the 1.x label", async () => {
162
- for (const version of ["3", "3-alpha", "v3", "3.0.0-core"]) {
163
- const fakeFetch = (async (url) => {
164
- if (String(url).endsWith("/health"))
165
- return new Response(JSON.stringify({ status: "pass", version }), {
166
- status: 200,
167
- });
168
- return new Response(null, { status: 404 });
169
- });
170
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
171
- assert.deepStrictEqual(sources, [], `version "${version}" should not be reported as a supported major`);
172
- }
173
- });
174
- test("a 2.x version with a suffix is still 2.x", async () => {
175
- const fakeFetch = (async (url) => {
176
- if (String(url).endsWith("/health"))
177
- return new Response(JSON.stringify({ status: "pass", version: "2.7.0-rc1" }), { status: 200 });
178
- return new Response(null, { status: 404 });
179
- });
180
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
181
- assert.strictEqual(sources[0].type, "influxdb2");
182
- });
183
- // The response body is whatever the far end chose to send. A non-string
184
- // `version` reached `.replace()` and threw a TypeError, which the route
185
- // turns into a 500 rather than an honest detection result.
186
- test("a non-string version is handled, not thrown on", async () => {
187
- for (const version of [123, { a: 1 }, ["x"], true, null]) {
188
- const fakeFetch = (async (url) => {
189
- if (String(url).endsWith("/health"))
190
- return new Response(JSON.stringify({ status: "pass", version }), {
191
- status: 200,
192
- });
193
- return new Response(null, { status: 404 });
194
- });
195
- const sources = await detectInflux("http://localhost:8086", fakeFetch);
196
- assert.strictEqual(sources.length, 1, `version ${JSON.stringify(version)}`);
197
- assert.strictEqual(sources[0].version, "unknown");
198
- }
199
- });
200
- test("nothing running yields no sources", async () => {
201
- const fakeFetch = (async () => {
202
- throw new Error("ECONNREFUSED");
203
- });
204
- assert.deepStrictEqual(await detectInflux("http://localhost:8086", fakeFetch), []);
205
- });
206
- });
207
- describe("InfluxDB URL validation", () => {
208
- // The URL is fetched by the SERVER, so an unrestricted value would let a
209
- // config-panel user probe hosts the boat can reach but they cannot.
210
- test("a public host is refused", () => {
211
- assert.strictEqual(validateInfluxUrl("http://example.com:8086"), null);
212
- });
213
- test("the cloud metadata address is refused", () => {
214
- assert.strictEqual(validateInfluxUrl("http://169.254.169.254/"), null);
215
- });
216
- test("a non-http scheme is refused", () => {
217
- assert.strictEqual(validateInfluxUrl("file:///etc/passwd"), null);
218
- });
219
- test("garbage is refused rather than thrown on", () => {
220
- assert.strictEqual(validateInfluxUrl("not a url"), null);
221
- });
222
- test("localhost and private ranges are allowed", () => {
223
- assert.strictEqual(validateInfluxUrl("http://localhost:8086"), "http://localhost:8086");
224
- assert.strictEqual(validateInfluxUrl("http://192.168.1.100:8086"), "http://192.168.1.100:8086");
225
- assert.strictEqual(validateInfluxUrl("http://10.0.0.5:8086"), "http://10.0.0.5:8086");
226
- });
227
- test("172.16-31 is private but 172.32 is not", () => {
228
- assert.ok(validateInfluxUrl("http://172.16.0.1:8086"));
229
- assert.ok(validateInfluxUrl("http://172.31.255.1:8086"));
230
- assert.strictEqual(validateInfluxUrl("http://172.32.0.1:8086"), null);
231
- });
232
- // URL.hostname returns "[::1]" for a bracketed IPv6 literal, so comparing
233
- // against a bare "::1" silently refused every IPv6 loopback URL.
234
- test("bracketed IPv6 loopback is allowed", () => {
235
- assert.strictEqual(validateInfluxUrl("http://[::1]:8086"), "http://[::1]:8086");
236
- });
237
- test("the whole 127.0.0.0/8 loopback range is allowed", () => {
238
- assert.ok(validateInfluxUrl("http://127.0.0.1:8086"));
239
- assert.ok(validateInfluxUrl("http://127.1.2.3:8086"));
240
- });
241
- // A non-loopback IPv6 address must still be refused.
242
- test("a routable IPv6 address is refused", () => {
243
- assert.strictEqual(validateInfluxUrl("http://[2001:db8::1]:8086"), null);
244
- });
245
- // The private-range patterns are prefix matches. Applied to a NAME they let
246
- // any domain whose label happens to start with "10." or "192.168." through,
247
- // and DNS resolves it wherever its owner likes — the exact hosts the guard
248
- // exists to keep the server away from.
249
- test("a DNS name that merely looks private is refused", () => {
250
- assert.strictEqual(validateInfluxUrl("http://10.evil.com:8086"), null);
251
- assert.strictEqual(validateInfluxUrl("http://192.168.attacker.net:8086"), null);
252
- assert.strictEqual(validateInfluxUrl("http://127.0.0.1.evil.com:8086"), null);
253
- });
254
- test("a public IP literal is still refused", () => {
255
- assert.strictEqual(validateInfluxUrl("http://8.8.8.8:8086"), null);
256
- assert.strictEqual(validateInfluxUrl("http://172.32.0.1:8086"), null);
257
- });
258
- // Probes append their own path, so a query string or fragment left on the
259
- // value would end up in the middle of the probe URL:
260
- // "http://localhost:8086/?x=1#frag" + "/health".
261
- test("a query string and fragment are dropped", () => {
262
- assert.strictEqual(validateInfluxUrl("http://localhost:8086/?x=1#frag"), "http://localhost:8086");
263
- assert.strictEqual(validateInfluxUrl("http://192.168.1.5:8086/?a=b"), "http://192.168.1.5:8086");
264
- });
265
- test("a sub-path is preserved for reverse-proxied instances", () => {
266
- assert.strictEqual(validateInfluxUrl("http://192.168.1.5:8086/influx"), "http://192.168.1.5:8086/influx");
267
- });
268
- // Node's fetch REFUSES a URL carrying credentials — the resulting TypeError
269
- // is swallowed by the probe's catch, so a pasted
270
- // "http://user:pw@host:8086" reported "no InfluxDB found" against a
271
- // perfectly healthy server. Stripping them makes the probe work.
272
- test("credentials are stripped from the URL", () => {
273
- assert.strictEqual(validateInfluxUrl("http://admin:hunter2@127.0.0.1:8086"), "http://127.0.0.1:8086");
274
- assert.strictEqual(validateInfluxUrl("http://admin@192.168.1.5:8086"), "http://192.168.1.5:8086");
275
- });
276
- // The host is what the allowlist judges — userinfo must not be able to
277
- // disguise a public host as a private one.
278
- test("a private-looking userinfo does not launder a public host", () => {
279
- assert.strictEqual(validateInfluxUrl("http://127.0.0.1@example.com:8086"), null);
280
- assert.strictEqual(validateInfluxUrl("http://192.168.1.1:8086@8.8.8.8:8086"), null);
281
- });
282
- // `${url}/health` would otherwise become `http://host:8086//health`.
283
- test("a trailing slash is stripped", () => {
284
- assert.strictEqual(validateInfluxUrl("http://localhost:8086/"), "http://localhost:8086");
285
- });
286
- });
287
- //# sourceMappingURL=influx-detect.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"influx-detect.test.js","sourceRoot":"","sources":["../../src/test/influx-detect.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEtE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,2EAA2E;IAC3E,uEAAuE;IACvE,4EAA4E;IAC5E,mDAAmD;IACnD,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EACrD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE;iBAC5C,CAAC,CAAC;YACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EACrD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,wCAAwC;IACxC,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EACrD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE;iBAC5C,CAAC,CAAC;YACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EACrD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,6EAA6E;IAC7E,wEAAwE;IACxE,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,IAAI,GAAoC,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAkB,EAAE,IAAkB,EAAE,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EACjC,oDAAoD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;oBACtD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE;iBAC5C,CAAC,CAAC;YACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,mDAAmD;IACnD,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;oBACtD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,+CAA+C;IAC/C,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;oBACtD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACxB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,EAAE,oBAAoB,EAAE,QAAQ,EAAE;iBAC5C,CAAC,CAAC;YACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;gBAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;wBAC/D,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;gBACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC,CAA4B,CAAC;YAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,eAAe,CACpB,OAAO,EACP,EAAE,EACF,YAAY,OAAO,+CAA+C,CACnE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EACxD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAA4B,CAAC;QAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,wEAAwE;IACxE,2DAA2D;IAC3D,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAiB,EAAE,EAAE;gBAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;wBAC/D,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;gBACL,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC,CAA4B,CAAC;YAE9B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;YACvE,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,MAAM,EACd,CAAC,EACD,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CACrC,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC,CAA4B,CAAC;QAC9B,MAAM,CAAC,eAAe,CACpB,MAAM,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,EACtD,EAAE,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,uBAAuB,CAAC,EAC1C,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,2BAA2B,CAAC,EAC9C,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,sBAAsB,CAAC,EACzC,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,mBAAmB,CAAC,EACtC,mBAAmB,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,uCAAuC;IACvC,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,kCAAkC,CAAC,EACrD,IAAI,CACL,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,gCAAgC,CAAC,EACnD,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,qDAAqD;IACrD,iDAAiD;IACjD,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,iCAAiC,CAAC,EACpD,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,8BAA8B,CAAC,EACjD,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,gCAAgC,CAAC,EACnD,gCAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,iDAAiD;IACjD,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,qCAAqC,CAAC,EACxD,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,+BAA+B,CAAC,EAClD,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,uEAAuE;IACvE,2CAA2C;IAC3C,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,mCAAmC,CAAC,EACtD,IAAI,CACL,CAAC;QACF,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,sCAAsC,CAAC,EACzD,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,WAAW,CAChB,iBAAiB,CAAC,wBAAwB,CAAC,EAC3C,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};