@effectuate/cubejs-mongosql-driver 1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoSqlDriver.js","sourceRoot":"","sources":["../src/MongoSqlDriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,353 @@
1
+ /**
2
+ * MongoSqlQuery — Cube SQL dialect for MongoSQL.
3
+ *
4
+ * See SPEC.md FR-2 and ARCHITECTURE.md §4.1. Reference:
5
+ * https://www.mongodb.com/docs/sql-interface/language-reference/
6
+ *
7
+ * T12a scope: STATIC SYNTAX — identifier quoting, type names, timestamp
8
+ * casts, timezone passthrough, NULL/param tokens.
9
+ * T12b scope: DATE ARITHMETIC, INTERVALS, time-series generation,
10
+ * date-truncation, dateBin, unixTimestampSql.
11
+ *
12
+ * MongoSQL date-function audit (verified against mongosql v1.8.5 source —
13
+ * `mongosql/src/ast/definitions.rs` `FunctionName::try_from` and
14
+ * `algebrize_date_function`, plus `ast/rewrites/test.rs`):
15
+ *
16
+ * | Function | Signature | Notes |
17
+ * |----------------|--------------------------------------------------------|--------------------------------------------------------------------|
18
+ * | DATEADD | DATEADD(<date_part>, <numeric>, <date>) | TIMESTAMPADD is an alias. |
19
+ * | DATEDIFF | DATEDIFF(<date_part>, <start>, <end>[, <start_of_week>]) | Returns LONG. TIMESTAMPDIFF is an alias. |
20
+ * | DATETRUNC | DATETRUNC(<date_part>, <date>[, <start_of_week>]) | TIMESTAMPTRUNC is an alias. |
21
+ * | EXTRACT | EXTRACT(<date_part> FROM <date>) | Supports YEAR/MONTH/WEEK/DAY/HOUR/MINUTE/SECOND/MILLISECOND/... |
22
+ * | YEAR/MONTH/... | YEAR(d), MONTH(d), ... — rewritten to EXTRACT | All datepart helpers map to EXTRACT. |
23
+ * | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP[(<precision>)] | SQL-92 keyword. Replaces NOW(). |
24
+ *
25
+ * <date_part> for DATEADD / DATEDIFF / DATETRUNC must be one of:
26
+ * YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND | MILLISECOND
27
+ * (mongosql `DatePart` enum; `IsoWeek`/`DayOfYear` are EXTRACT-only and
28
+ * panic for date-functions per `algebrize_date_function`.)
29
+ *
30
+ * NOT available in MongoSQL (called out so future maintainers don't try):
31
+ * - `INTERVAL '1 day'` literals — REJECTED by parser.
32
+ * - `EXTRACT(EPOCH FROM ...)` — EPOCH is not a `DatePart`.
33
+ * - `AT TIME ZONE` / `CONVERT_TZ` — no SQL-level timezone function.
34
+ * - `VALUES (...)` table constructors — no parser support.
35
+ * - `WITH RECURSIVE` / `generate_series` — no recursive CTEs.
36
+ * For each gap, see the override below for the closest viable substitute.
37
+ *
38
+ * BaseQuery method-list audit (against
39
+ * `node_modules/@cubejs-backend/schema-compiler/dist/src/adapter/BaseQuery.js`,
40
+ * cross-checked against `MysqlQuery.js` and `PostgresQuery.js`):
41
+ *
42
+ * | BaseQuery method | T12a/b action | Why |
43
+ * |-------------------------------------------|-------------------|---------------------------------------------------------------------|
44
+ * | escapeColumnName(name) | OVERRIDE (T12a) | Default emits double-quoted ident; MongoSQL uses backticks. |
45
+ * | quoteIdentifier(name) | ADD (alias) (T12a)| Not on BaseQuery, but task spec + driver doc-comment expect it. |
46
+ * | autoPrefixWithCubeName(c, sql, isExpr) | OVERRIDE (T19a) | mongosql v1.8.5 rejects `<alias>.<col>` outside JOIN scope (3008). |
47
+ * | timeStampCast(value) | OVERRIDE (T12a) | Base emits `value::timestamptz` (Postgres). Mongosql has no `::`. |
48
+ * | dateTimeCast(value) | OVERRIDE (T12a) | Base emits `value::timestamp` (Postgres) — invalid in MongoSQL. |
49
+ * | timeStampParam(td) | INHERIT | Default delegates to timeStampCast — fine once we override that. |
50
+ * | timestampFormat() | INHERIT | ISO-8601 default matches mongosql's accepted CAST literal form. |
51
+ * | castToString(sql) | OVERRIDE (T12a) | Base emits `CAST(.. as TEXT)`; MongoSQL spells it `STRING`. |
52
+ * | convertTz(field) | OVERRIDE (T12a) | MongoSQL has no AT TIME ZONE / CONVERT_TZ. UTC-only passthrough. |
53
+ * | inDbTimeZone(date) | INHERIT | Pure JS — converts JS-side; no SQL emitted. |
54
+ * | nowTimestampSql() | OVERRIDE (T12a) | Base emits `NOW()`; MongoSQL spells it `CURRENT_TIMESTAMP`. |
55
+ * | unixTimestampSql() | OVERRIDE (T12b) | Base uses EXTRACT(EPOCH ...) — not in MongoSQL. Use DATEDIFF. |
56
+ * | concatStringsSql(strings) | INHERIT | Default uses `||` template; MongoSQL accepts `||` for concat. |
57
+ * | sqlTemplates() | OVERRIDE (T12a) | Patch quotes/identifiers + types.* to MongoSQL spellings. |
58
+ * | timeGroupedColumn(g, dim) | OVERRIDE (T12b) | Use DATETRUNC. Week pinned to 'sunday' for determinism. |
59
+ * | dateBin(interval, source, origin) | OVERRIDE (T12b) | DATEADD(unit, FLOOR(DATEDIFF/N)*N, origin) — no INTERVAL literals. |
60
+ * | subtractInterval / addInterval | OVERRIDE (T12b) | DATEADD with positive/negative numeric. Compound = chained calls. |
61
+ * | intervalString(interval) | OVERRIDE (T12b) | Quote-and-pass; no INTERVAL keyword. Used only in error/diag paths. |
62
+ * | seriesSql(td) | OVERRIDE (T12b) | UNION ALL of literal rows (MysqlQuery pattern, CAST not TIMESTAMP). |
63
+ * | newFilter(f) | OVERRIDE (Gap 4) | Return MongoSqlFilter — rewrites ILIKE (unsupported) to LOWER+LIKE. |
64
+ * | newParamAllocator(p) | INHERIT | Default `?` placeholder works for MongoSQL. |
65
+ * | escapeColumnName-driven preAggTableName | INHERIT | Inherited tableName logic produces backtick-safe identifiers. |
66
+ *
67
+ * Anything not in this table is BaseQuery default behaviour and is either
68
+ * (a) provably valid MongoSQL or (b) routed through the overrides above.
69
+ */
70
+ import { BaseFilter, BaseQuery } from '@cubejs-backend/schema-compiler';
71
+ /** A single component of a parsed Cube interval, mapped to MongoSQL units. */
72
+ export interface IntervalComponent {
73
+ value: number;
74
+ unit: string;
75
+ }
76
+ /**
77
+ * BaseTimeDimension shape we depend on inside `seriesSql`. Cube's TS
78
+ * declaration types `timeSeries()` as `string[][]` (loose), so we accept
79
+ * the same and cast the inner row to a 2-tuple for safer destructuring.
80
+ */
81
+ interface SeriesTimeDimension {
82
+ timeSeries(): string[][];
83
+ }
84
+ /**
85
+ * Cube SQL-dialect adapter that emits MongoSQL-compatible SQL.
86
+ *
87
+ * Instantiated by `MongoSqlDriver.dialectClass()`. Cube calls into this for
88
+ * every measure/dimension/timeDimension SQL fragment.
89
+ */
90
+ export declare class MongoSqlQuery extends BaseQuery {
91
+ /**
92
+ * Identifier quoting — MongoSQL uses backticks.
93
+ * Reference: https://www.mongodb.com/docs/sql-interface/language-reference/identifiers/
94
+ *
95
+ * BaseQuery's actual identifier-quoting hook is `escapeColumnName`; we
96
+ * also expose `quoteIdentifier` as an alias because it's the conventional
97
+ * name and the driver's audit comment refers to it.
98
+ */
99
+ escapeColumnName(name: string): string;
100
+ quoteIdentifier(identifier: string): string;
101
+ /**
102
+ * Suppress the cube-alias prefix on bare column references when the query
103
+ * has only one cube in scope.
104
+ *
105
+ * Background (T19 discovery): mongosql v1.8.5's algebrizer rejects qualified
106
+ * `<table_alias>.<col>` references in projections when only one collection
107
+ * is in scope — Error 3008 "Field `orders` in the `SELECT` clause at the 0
108
+ * scope level not found". Cube's BaseQuery emits `${cubeAlias}.${sql}` for
109
+ * every dimension that is a bare identifier (see BaseQuery.js:2508
110
+ * `autoPrefixWithCubeName`), which makes every realistic Cube query against
111
+ * a single cube fail translation.
112
+ *
113
+ * Strategy:
114
+ * - Single-cube query (`this.join.joins.length === 0`): drop the prefix
115
+ * — emit a bare column reference (`SELECT email FROM users`).
116
+ * - Multi-cube / JOIN: keep the prefix (`SELECT users.email`) — mongosql
117
+ * accepts qualified refs in JOIN scope (verified end-to-end in
118
+ * tests/integration/basic-queries.test.ts).
119
+ * - `this.join` may be `null` during pre-build / collect-cube-names paths
120
+ * before `prebuildJoin` runs; treat that as "not enough info, keep
121
+ * BaseQuery's behaviour" so we don't drop a prefix Cube actually needed.
122
+ * - `isMemberExpr` (member-expression SQL) bypasses the prefix entirely
123
+ * in BaseQuery; keep that semantics for forward compat.
124
+ *
125
+ * The conditional fall-through to `super` keeps every other code path
126
+ * (non-bare expressions like `LOWER(email)` already escape the regex match
127
+ * and are returned verbatim by the base implementation) unchanged.
128
+ */
129
+ autoPrefixWithCubeName(cubeName: string, sql: string, isMemberExpr?: boolean): string;
130
+ /**
131
+ * GROUP BY by column alias instead of positional `1, 2, ...`.
132
+ * mongosql v1.8.5's algebrizer rejects positional refs in GROUP BY
133
+ * (and the failure mode misreports as Error 3008 "Field <col> in the
134
+ * SELECT clause not found"). Mirrors the ClickHouseQuery pattern.
135
+ */
136
+ groupByClause(): string;
137
+ /**
138
+ * ORDER BY by column alias instead of positional `1, 2, ...`.
139
+ * Same constraint as `groupByClause` — mongosql requires named refs.
140
+ */
141
+ orderHashToString(hash: {
142
+ id: string;
143
+ desc: boolean;
144
+ } | null | undefined): string | null;
145
+ /**
146
+ * Timestamp literal cast — CRITICAL DISCOVERY (T07): MongoSQL does NOT
147
+ * accept the SQL-92 `TIMESTAMP 'literal'` form. Use `CAST('...' AS TIMESTAMP)`.
148
+ * Reference: https://www.mongodb.com/docs/sql-interface/language-reference/data-types/
149
+ * (and crates/native/src/translate.rs::date_filter_emits_match_referencing_created_at)
150
+ */
151
+ timeStampCast(value: string): string;
152
+ /**
153
+ * datetime cast — MongoSQL has only `TIMESTAMP` (no separate `DATETIME` /
154
+ * `DATE` types), so `dateTimeCast` and `timeStampCast` produce the same SQL.
155
+ * SPEC FR-2 explicitly substitutes `TIMESTAMP` for `DATE`.
156
+ */
157
+ dateTimeCast(value: string): string;
158
+ /**
159
+ * String cast — MongoSQL's string type is spelt `STRING`, not the SQL-92
160
+ * `TEXT` (BaseQuery's default) or MySQL's `CHAR`.
161
+ * Reference: https://www.mongodb.com/docs/sql-interface/language-reference/data-types/
162
+ */
163
+ castToString(sql: string): string;
164
+ /**
165
+ * Generic typed cast helper. MongoSQL accepts the standard CAST grammar;
166
+ * the *type name* must be one of MongoSQL's documented type tokens
167
+ * (BOOL, INT, LONG, DOUBLE, DECIMAL, STRING, TIMESTAMP, ARRAY, DOCUMENT).
168
+ */
169
+ castSqlType(value: string, type: string): string;
170
+ /**
171
+ * Timezone conversion — MongoSQL has no `AT TIME ZONE` or `CONVERT_TZ`
172
+ * function (verified against the v1.8.5 grammar). Data is stored in UTC
173
+ * (BSON DateTime), and `inDbTimeZone()` (inherited) shifts JS-side
174
+ * timestamp parameters. For SQL-emitted field references we passthrough —
175
+ * correct for UTC data and matching "no conversion" semantics.
176
+ *
177
+ * Revisit if MongoSQL adds a timezone-aware function form, or if T14
178
+ * integration shows non-UTC dimensions break.
179
+ */
180
+ convertTz(field: string): string;
181
+ /**
182
+ * NOW() equivalent. MongoSQL's documented form for the current time is
183
+ * `CURRENT_TIMESTAMP` (SQL-92 keyword), not MySQL/Postgres `NOW()`.
184
+ */
185
+ nowTimestampSql(): string;
186
+ /**
187
+ * Seconds since the Unix epoch. BaseQuery default uses
188
+ * `EXTRACT(EPOCH FROM NOW())`, but MongoSQL's `EXTRACT` does NOT support
189
+ * the `EPOCH` date-part (only YEAR/MONTH/WEEK/DAY/HOUR/MINUTE/SECOND/
190
+ * MILLISECOND/DAYOFYEAR/DAYOFWEEK/ISOWEEK/ISOWEEKDAY — see
191
+ * `algebrize_extract` in mongosql/src/algebrizer/definitions.rs).
192
+ *
193
+ * Use `DATEDIFF(SECOND, '1970-01-01T00:00:00Z', CURRENT_TIMESTAMP)`
194
+ * instead. Returns LONG (mongosql `$dateDiff`).
195
+ */
196
+ unixTimestampSql(): string;
197
+ /**
198
+ * Parse a Cube/Postgres-style interval string ("1 day", "2 weeks",
199
+ * "1 year 6 months") into an ordered list of MongoSQL DATEADD components.
200
+ *
201
+ * Cube emits compound intervals for partition ranges and granularity
202
+ * offsets. MongoSQL's DATEADD takes a single `<date_part>`, so we apply
203
+ * each component as a chained DATEADD call (see `addInterval` /
204
+ * `subtractInterval`). Order is preserved from `parseSqlInterval` so the
205
+ * outermost DATEADD is the *last* component (matches semantics: applying
206
+ * `(YEAR, 1)` then `(MONTH, 6)` is equivalent to "1 year 6 months").
207
+ *
208
+ * Public for unit-testing the bridge in isolation; not on BaseQuery.
209
+ */
210
+ intervalUnitsForMongo(interval: string): IntervalComponent[];
211
+ /**
212
+ * Add a Cube interval to a date expression. Compound intervals
213
+ * ("1 year 6 months") are emitted as chained DATEADD calls.
214
+ *
215
+ * MongoSQL has no `INTERVAL '...'` literal. The base implementation emits
216
+ * `${date} + interval '...'` which the parser rejects.
217
+ */
218
+ addInterval(date: string, interval: string): string;
219
+ /**
220
+ * Subtract a Cube interval from a date expression. Implemented as DATEADD
221
+ * with negated values (so `subtractInterval('d', '1 month')` becomes
222
+ * `DATEADD(MONTH, -1, d)`). Compound intervals chain the same way as
223
+ * `addInterval`.
224
+ */
225
+ subtractInterval(date: string, interval: string): string;
226
+ private applyIntervalChain;
227
+ /**
228
+ * Printable interval string. MongoSQL has no INTERVAL literal so this is
229
+ * not safe to splice into emitted SQL — kept for diagnostic / error
230
+ * messages and for any BaseQuery code path we haven't audited yet (a
231
+ * future grep for `'1 day'` in SQL output would surface a regression).
232
+ */
233
+ intervalString(interval: string): string;
234
+ /**
235
+ * Truncate a timestamp to a granularity boundary. MongoSQL's documented
236
+ * form is `DATETRUNC(<unit>, <date>[, <start_of_week>])`. For week we pin
237
+ * `'sunday'` explicitly: mongosql's `ScalarFunctionsRewritePass` defaults
238
+ * a missing third arg to `'sunday'` (per ast/rewrites/test.rs::
239
+ * `timestamp_trunc`), but Cube's tests should not depend on that
240
+ * implicit default — a future mongosql release could change it.
241
+ */
242
+ timeGroupedColumn(granularity: string, dimension: string): string;
243
+ /**
244
+ * Bucket `source` into intervals starting from `origin`. Cube uses this
245
+ * for custom (non-natural) granularities like "5 minutes" or "10 days".
246
+ *
247
+ * MongoSQL has no INTERVAL literal, so PostgresQuery's
248
+ * `'origin'::ts + INTERVAL N * FLOOR(EXTRACT(EPOCH ...))` form doesn't
249
+ * port. Instead we use the DATEADD/DATEDIFF identity:
250
+ *
251
+ * floor((source - origin) / interval) * interval + origin
252
+ *
253
+ * which becomes:
254
+ *
255
+ * DATEADD(unit, FLOOR(DATEDIFF(unit, origin, source) / N) * N, origin)
256
+ *
257
+ * Year and quarter intervals are normalised to MONTH (1 year = 12 months,
258
+ * 1 quarter = 3 months) so arithmetic doesn't depend on leap-day-aware
259
+ * second math. Every other unit (week / day / hour / minute / second /
260
+ * millisecond) is used as-is — DATEDIFF/DATEADD operate in the unit's
261
+ * native granularity which is the most precise viable choice.
262
+ *
263
+ * NOTE: only single-component intervals are supported here (matches
264
+ * Cube's custom-granularity inputs which are always one unit). Compound
265
+ * dateBin intervals would need a different strategy.
266
+ */
267
+ dateBin(interval: string, source: string, origin: string): string;
268
+ /**
269
+ * Generate the date-series SQL Cube uses for time-bucketed pre-aggregations.
270
+ * MongoSQL has no `VALUES (...)`, no recursive CTE, and no `generate_series`,
271
+ * so we emit a UNION ALL of literal-row SELECTs (MysqlQuery's strategy)
272
+ * and CAST in the outer projection. Identical row count to MysqlQuery's
273
+ * version; the difference is `CAST(... AS TIMESTAMP)` instead of
274
+ * MySQL-specific `TIMESTAMP(...)`.
275
+ *
276
+ * NOTE: emits N rows for an N-row series. For very large partition ranges
277
+ * Cube can pre-compute the row set in JS — there's no in-DB way to grow
278
+ * the series without recursive CTEs, which v1.8.5 doesn't support.
279
+ */
280
+ seriesSql(timeDimension: SeriesTimeDimension): string;
281
+ /**
282
+ * Override Cube's filter class for every filter on a MongoSQL query.
283
+ *
284
+ * Background (Gap 4 discovery): Cube's default `BaseFilter.likeIgnoreCase`
285
+ * emits `<col> [NOT] ILIKE <pattern>` for `contains`, `notContains`,
286
+ * `startsWith`, `notStartsWith`, `endsWith`, `notEndsWith`. mongosql
287
+ * v1.8.5's grammar does NOT include the `ILIKE` keyword (verified
288
+ * empirically against atlas-local — the parser reports
289
+ * `Error 2001: Unrecognized token ILIKE, expected: BETWEEN` /
290
+ * `expected COMMA, RIGHT_PAREN`). mongosql DOES support the standard
291
+ * SQL-92 `LIKE` keyword.
292
+ *
293
+ * Strategy: subclass BaseFilter and override `likeIgnoreCase` to
294
+ * emit `LOWER(<col>) LIKE LOWER(<pattern>)` instead of
295
+ * `<col> ILIKE <pattern>`. Wrapping both sides in `LOWER(...)`
296
+ * preserves case-insensitive semantics; mongosql's `LOWER` is the
297
+ * standard SQL function and round-trips strings unchanged for ASCII
298
+ * content. We do NOT use `ESCAPE` clauses here because Cube's
299
+ * `escapeWildcardChars` pre-escapes `%` and `_` with `\` and SQL's
300
+ * default LIKE escape character IS `\` per the SQL standard (mongosql
301
+ * v1.8.5 follows this).
302
+ *
303
+ * **Non-ASCII / Unicode caveat.** This override is ASCII-aware case
304
+ * folding only. mongosql v1.8.5 does not expose `COLLATE` at the SQL
305
+ * surface, so case-folding non-ASCII characters (e.g. the German
306
+ * sharp-s `ß` → `ss`, Turkish dotless-i, etc.) is NOT performed. For
307
+ * pure-Latin inputs (the dominant Cube use case) this is correct.
308
+ * For locale-sensitive case-insensitive search, use MongoDB's
309
+ * collation feature outside the SQL surface or pre-normalise data.
310
+ */
311
+ newFilter(filter: unknown): BaseFilter;
312
+ /**
313
+ * Patch the SQL templates that drive the rest of BaseQuery's builders.
314
+ * Mirrors MysqlQuery.sqlTemplates()'s pattern of `super` + targeted
315
+ * overrides.
316
+ *
317
+ * T12b additions: remove the `expressions.interval` template (BaseQuery's
318
+ * default emits `INTERVAL '<x>'` — invalid MongoSQL) so any caller that
319
+ * tries to render an interval literal surfaces an error rather than
320
+ * silently emitting unparseable SQL. The arithmetic-emitting paths
321
+ * (subtractInterval/addInterval/dateBin) don't go through this template.
322
+ * Also drop `statements.generated_time_series_*` for the same reason —
323
+ * those are recursive-CTE forms that mongosql doesn't accept.
324
+ */
325
+ sqlTemplates(): ReturnType<BaseQuery['sqlTemplates']>;
326
+ }
327
+ /**
328
+ * Filter override for MongoSQL — rewrites `ILIKE` to `LOWER(...) LIKE LOWER(...)`.
329
+ *
330
+ * See `MongoSqlQuery.newFilter` for the rationale. Exported so unit tests
331
+ * can exercise `likeIgnoreCase` in isolation without instantiating the
332
+ * whole query stack.
333
+ */
334
+ export declare class MongoSqlFilter extends BaseFilter {
335
+ /**
336
+ * Emit `LOWER(<col>) [NOT] LIKE LOWER(<wrapped-param>)` for mongosql.
337
+ *
338
+ * Layout mirrors BaseFilter.likeIgnoreCase:
339
+ * - `type === 'contains'`: wrap pattern with `'%' || ... || '%'`
340
+ * - `type === 'starts'`: suffix with `|| '%'` only (no prefix)
341
+ * - `type === 'ends'`: prefix with `'%' ||` only (no suffix)
342
+ *
343
+ * Cube's BaseFilter passes type as 'contains' / 'starts' / 'ends'
344
+ * (NOT the camelized operator — see BaseFilter.likeOr where `type`
345
+ * is hardcoded to one of those three values).
346
+ *
347
+ * `allocateParam` returns Cube's `?` placeholder; the driver's
348
+ * `substituteParameters` inlines literals before sending to mongosql.
349
+ */
350
+ likeIgnoreCase(column: string, not: boolean, param: unknown, type: string): string;
351
+ }
352
+ export {};
353
+ //# sourceMappingURL=MongoSqlQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MongoSqlQuery.d.ts","sourceRoot":"","sources":["../src/MongoSqlQuery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AA4DxE,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,UAAU,IAAI,MAAM,EAAE,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;;;;;;OAOG;IACa,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACa,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,MAAM;IAkBnG;;;;;OAKG;IACa,aAAa,IAAI,MAAM;IAQvC;;;OAGG;IACa,iBAAiB,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;IAYxG;;;;;OAKG;IACa,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;OAIG;IACa,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInD;;;;OAIG;IACa,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIjD;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIvD;;;;;;;;;OASG;IACa,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD;;;OAGG;IACa,eAAe,IAAI,MAAM;IAIzC;;;;;;;;;OASG;IACa,gBAAgB,IAAI,MAAM;IAI1C;;;;;;;;;;;;OAYG;IACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAgBnE;;;;;;OAMG;IACa,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAInE;;;;;OAKG;IACa,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIxE,OAAO,CAAC,kBAAkB;IAI1B;;;;;OAKG;IACa,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIxD;;;;;;;OAOG;IACa,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAWjF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACa,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAcjF;;;;;;;;;;;OAWG;IACa,SAAS,CAAC,aAAa,EAAE,mBAAmB,GAAG,MAAM;IAarE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACa,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU;IAItD;;;;;;;;;;;;OAYG;IACa,YAAY,IAAI,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CAwCtE;AAED;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C;;;;;;;;;;;;;;OAcG;IACa,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;CAiBnG"}