@factucat/cli 0.2.5 → 0.3.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 +83 -2
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +4 -0
- package/dist/bin.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +313 -27
- package/dist/index.js.map +1 -1
- package/dist/lib/errors.js +1 -1
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -127,6 +127,16 @@ If you switch the invoice to USD without specifying an exchange rate, FactuCat a
|
|
|
127
127
|
factucat invoice set-meta --currency USD
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
+
Set an optional **Fecha de emisión** when creating, updating, or stamping a draft:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
factucat invoice create --fecha 2026-10-28
|
|
134
|
+
factucat invoice set-meta --issued-at 2026-10-28
|
|
135
|
+
factucat invoice stamp --fecha 2026-10-28 --dry-run
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
`--fecha` and `--issued-at` accept `YYYY-MM-DD` or an ISO datetime. ISO instants use the issuer's timezone (default `America/Mexico_City`); dates without an offset represent a local calendar day. Choose today or up to two days earlier to stay within the SAT 72-hour window. A stamp override is saved before stamping. Stored dates are checked again at stamp time; an expired or invalid date returns `INVALID_ISSUE_DATE`. Omission keeps the existing date, or uses the stamping time when none is set. Dry-run shows the selected date without saving it.
|
|
139
|
+
|
|
130
140
|
Preview the full invoice before stamping:
|
|
131
141
|
|
|
132
142
|
```bash
|
|
@@ -141,6 +151,15 @@ factucat invoice stamp
|
|
|
141
151
|
|
|
142
152
|
In an interactive terminal, `invoice stamp` shows the full preview first and can ask whether you want to send the stamped invoice through the customer contact channels registered in FactuCat.
|
|
143
153
|
|
|
154
|
+
Preview without stamping or changing the current draft:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
factucat invoice-stamp --draft-id dft_123 --dry-run
|
|
158
|
+
factucat invoice-stamp --draft-id dft_123 --dry-run --json
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The preview includes the environment selected by the key prefix (`test` or `live`) and the idempotency key.
|
|
162
|
+
|
|
144
163
|
## Unattended workflow
|
|
145
164
|
|
|
146
165
|
For agents and scripts, prefer `--json` and `--no-input`.
|
|
@@ -194,12 +213,18 @@ Preview the draft:
|
|
|
194
213
|
factucat invoice show --draft-id dft_123 --json
|
|
195
214
|
```
|
|
196
215
|
|
|
197
|
-
Stamp
|
|
216
|
+
Stamp with explicit confirmation and a reusable idempotency key:
|
|
198
217
|
|
|
199
218
|
```bash
|
|
200
|
-
factucat invoice
|
|
219
|
+
factucat invoice-stamp --draft-id dft_123 --yes --idempotency-key order-123-stamp --json
|
|
201
220
|
```
|
|
202
221
|
|
|
222
|
+
`--yes` skips confirmation and delivery prompts. The existing `--no-input`, `--json`, and non-interactive stamping behavior remains supported. Delivery uses the flags you provide.
|
|
223
|
+
|
|
224
|
+
`invoice-stamp` returns `idempotencyKey` alongside the invoice fields in JSON and prints it in human output. Failed stamp/cancel requests also print the key so you can reuse it. If omitted, the CLI generates a UUID once per invocation, which the SDK reuses for transport retries. To retry across separate CLI invocations, pass the **same key and request options** with `--idempotency-key`.
|
|
225
|
+
|
|
226
|
+
`customer-create`, `invoice-create`, and `invoice-add-item` also accept `--idempotency-key`; each generates a fresh UUID when omitted.
|
|
227
|
+
|
|
203
228
|
Stamp and request delivery to customer contacts:
|
|
204
229
|
|
|
205
230
|
```bash
|
|
@@ -223,6 +248,15 @@ factucat invoice stamp \
|
|
|
223
248
|
|
|
224
249
|
## Current draft helpers
|
|
225
250
|
|
|
251
|
+
List remote drafts:
|
|
252
|
+
|
|
253
|
+
```bash
|
|
254
|
+
factucat draft-list --query "Público" --limit 20 --offset 0 --json
|
|
255
|
+
factucat draft-list --status error --limit 10 --json
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`draft-list` has no spaced alias. `--status` accepts `draft` or `error`. The CLI filters status locally across API pages before applying `--offset` and `--limit` (default 50 when filtering by status). A status filter can therefore require multiple read requests.
|
|
259
|
+
|
|
226
260
|
Select an existing draft as your current one:
|
|
227
261
|
|
|
228
262
|
```bash
|
|
@@ -255,6 +289,13 @@ List customers:
|
|
|
255
289
|
factucat customer list --limit 20
|
|
256
290
|
```
|
|
257
291
|
|
|
292
|
+
Get a customer by ID:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
factucat customer-get cus_123 --json
|
|
296
|
+
factucat customer get cus_123
|
|
297
|
+
```
|
|
298
|
+
|
|
258
299
|
Create a customer:
|
|
259
300
|
|
|
260
301
|
```bash
|
|
@@ -297,6 +338,46 @@ factucat invoice download pdf MIAU-00036 --output ./facturas/factura-marzo.pdf
|
|
|
297
338
|
|
|
298
339
|
If you do not pass `--output`, the file is saved in the current working directory.
|
|
299
340
|
|
|
341
|
+
## Cancel an invoice
|
|
342
|
+
|
|
343
|
+
`invoice-cancel <invoiceRef>` (also `invoice cancel`) accepts an invoice ID, SAT UUID, or folio, just like `invoice-get`. Only issued invoices with a SAT UUID can be cancelled.
|
|
344
|
+
|
|
345
|
+
Review a cancellation without submitting it:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
factucat invoice-cancel MIAU-00036 --reason 02 --dry-run
|
|
349
|
+
factucat invoice-cancel MIAU-00036 --reason 02 --dry-run --json
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
The preview shows the SAT UUID, receiver RFC and name, total, currency, reason, replacement invoice if provided, key environment (`test`/`live`), and idempotency key. A dry run performs reads only, never prompts, and exits successfully when the inputs are valid.
|
|
353
|
+
|
|
354
|
+
Cancel interactively:
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
factucat invoice-cancel MIAU-00036 --reason 02
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
The CLI shows the same preview and asks for confirmation. In scripts, with `--json`, or with `--no-input`, cancellation requires **`--yes`**. `--no-input` alone does not authorize cancellation.
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
factucat invoice-cancel MIAU-00036 \
|
|
364
|
+
--reason 02 \
|
|
365
|
+
--yes \
|
|
366
|
+
--idempotency-key order-123-cancel \
|
|
367
|
+
--json
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
`--reason` is required and accepts `01`, `02`, `03`, or `04`. Reason `01` additionally requires a different replacement invoice, resolved by ID, SAT UUID, or folio:
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
factucat invoice-cancel MIAU-00036 \
|
|
374
|
+
--reason 01 \
|
|
375
|
+
--replacement-invoice MIAU-00037 \
|
|
376
|
+
--dry-run
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
JSON output includes the API result (`status`, `evidence`, and `invoice` when present) and `idempotencyKey`. A `not_confirmed` status means cancellation has not yet been confirmed.
|
|
380
|
+
|
|
300
381
|
## Notes about inference
|
|
301
382
|
|
|
302
383
|
FactuCat automatically infers several values when possible:
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
|
package/dist/bin.js
ADDED
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,KAAK,IAAI,EAAE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { getSdk } from './lib/sdk.js';
|
|
2
2
|
export declare function readRawOptionValue(argv: Array<string>, optionName: string): string | undefined;
|
|
3
3
|
export declare function normalizeNumericCodeOptionFromArgv(argv: Array<string>, optionName: string, fallbackValue: unknown, width: number): string | undefined;
|
|
4
|
+
export declare function resolveInvoiceReference(input: {
|
|
5
|
+
sdk: Awaited<ReturnType<typeof getSdk>>;
|
|
6
|
+
invoiceRef: string;
|
|
7
|
+
}): Promise<string>;
|
|
4
8
|
export declare function main(rawArgv?: Array<string>): Promise<void>;
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAyNrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,sBAsBzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,sBAMd;AAuGD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;CACnB,mBA0EA;AAuZD,wBAAsB,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC,MAAM,CAAgB,iBAwkC/D"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { mkdir, stat, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { dirname, resolve } from 'node:path';
|
|
5
|
-
import {
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { draftListItemSchema, draftListQuerySchema, invoiceCancelReasonSchema, invoiceVatTreatmentLabels, invoiceVatTreatmentSchema, } from '@factucat/public-api-contracts';
|
|
6
7
|
import { confirm, intro, isCancel, outro, select, spinner, text } from '@clack/prompts';
|
|
7
8
|
import { cac } from 'cac';
|
|
9
|
+
import { FactuCatApiError } from '@factucat/sdk';
|
|
8
10
|
import { getEffectiveApiKey, readConfig, resolveApiOrigin, writeConfig, } from './lib/config.js';
|
|
9
11
|
import { getCurrentDraftId, setCurrentDraftId } from './lib/current-draft.js';
|
|
10
12
|
import { exitCodeFromError, getErrorMessage } from './lib/errors.js';
|
|
11
13
|
import { printHuman, printJson } from './lib/output.js';
|
|
12
14
|
import { getSdk } from './lib/sdk.js';
|
|
15
|
+
const CLI_VERSION = (() => {
|
|
16
|
+
try {
|
|
17
|
+
const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
|
|
18
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
19
|
+
return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return '0.0.0';
|
|
23
|
+
}
|
|
24
|
+
})();
|
|
13
25
|
const HELP_TEXT = `factucat
|
|
14
26
|
|
|
15
27
|
Uso:
|
|
@@ -25,6 +37,7 @@ Comandos:
|
|
|
25
37
|
invoice current
|
|
26
38
|
invoice show
|
|
27
39
|
invoice list
|
|
40
|
+
draft-list
|
|
28
41
|
invoice set-customer
|
|
29
42
|
invoice set-receiver
|
|
30
43
|
invoice set-meta
|
|
@@ -34,10 +47,12 @@ Comandos:
|
|
|
34
47
|
invoice items
|
|
35
48
|
invoice discard
|
|
36
49
|
invoice stamp
|
|
37
|
-
invoice get <invoiceRef>
|
|
50
|
+
invoice get <invoiceRef> # invoiceId, UUID SAT o folio
|
|
51
|
+
invoice cancel <invoiceRef> --reason <01|02|03|04>
|
|
38
52
|
invoice download xml <invoiceRef>
|
|
39
53
|
invoice download pdf <invoiceRef>
|
|
40
54
|
customer list
|
|
55
|
+
customer get <customerId>
|
|
41
56
|
customer search <query>
|
|
42
57
|
customer create
|
|
43
58
|
|
|
@@ -45,6 +60,9 @@ Notas:
|
|
|
45
60
|
invoice add-item infiere automáticamente Clave SAT, unidad, IVA e ISR si no los especificas.
|
|
46
61
|
invoice set-meta --currency USD consulta automáticamente el tipo de cambio oficial del DOF si no mandas --exchange-rate.
|
|
47
62
|
invoice stamp muestra una previa antes de timbrar cuando hay terminal interactiva.
|
|
63
|
+
invoice create, invoice set-meta e invoice stamp aceptan --fecha <YYYY-MM-DD|ISO> (alias --issued-at).
|
|
64
|
+
invoice stamp e invoice cancel aceptan --dry-run, --yes e --idempotency-key.
|
|
65
|
+
invoice cancel requiere --yes cuando no hay confirmación interactiva; --no-input no confirma.
|
|
48
66
|
invoice stamp --send-to-customer-contacts solicita el envío por email y WhatsApp registrados en el cliente, si existen.
|
|
49
67
|
`;
|
|
50
68
|
function withJsonFlag(command) {
|
|
@@ -105,9 +123,11 @@ function normalizeArgv(rawArgv) {
|
|
|
105
123
|
{ from: ['invoice', 'discard'], to: 'invoice-discard' },
|
|
106
124
|
{ from: ['invoice', 'stamp'], to: 'invoice-stamp' },
|
|
107
125
|
{ from: ['invoice', 'get'], to: 'invoice-get' },
|
|
126
|
+
{ from: ['invoice', 'cancel'], to: 'invoice-cancel' },
|
|
108
127
|
{ from: ['invoice', 'download', 'xml'], to: 'invoice-download-xml' },
|
|
109
128
|
{ from: ['invoice', 'download', 'pdf'], to: 'invoice-download-pdf' },
|
|
110
129
|
{ from: ['customer', 'list'], to: 'customer-list' },
|
|
130
|
+
{ from: ['customer', 'get'], to: 'customer-get' },
|
|
111
131
|
{ from: ['customer', 'search'], to: 'customer-search' },
|
|
112
132
|
{ from: ['customer', 'create'], to: 'customer-create' },
|
|
113
133
|
];
|
|
@@ -162,7 +182,53 @@ export function normalizeNumericCodeOptionFromArgv(argv, optionName, fallbackVal
|
|
|
162
182
|
return normalizeNumericCodeOption(readRawOptionValue(argv, optionName) ?? fallbackValue, width);
|
|
163
183
|
}
|
|
164
184
|
function canPromptInteractively(options) {
|
|
165
|
-
return !options.json && !options.noInput && process.stdin.isTTY && process.stdout.isTTY;
|
|
185
|
+
return !options.json && !options.noInput && options.input !== false && process.stdin.isTTY && process.stdout.isTTY;
|
|
186
|
+
}
|
|
187
|
+
function resolveIdempotencyKey(argv) {
|
|
188
|
+
const value = readRawOptionValue(argv, '--idempotency-key');
|
|
189
|
+
if (value === undefined) {
|
|
190
|
+
return randomUUID();
|
|
191
|
+
}
|
|
192
|
+
const key = value.trim();
|
|
193
|
+
if (!key || key.length > 255) {
|
|
194
|
+
throw new Error('`--idempotency-key` debe tener entre 1 y 255 caracteres.');
|
|
195
|
+
}
|
|
196
|
+
return key;
|
|
197
|
+
}
|
|
198
|
+
async function getKeyEnvironment() {
|
|
199
|
+
const apiKey = getEffectiveApiKey(await readConfig());
|
|
200
|
+
return apiKey?.startsWith('fc_test_') ? 'test' : 'live';
|
|
201
|
+
}
|
|
202
|
+
async function listDraftsWithStatus(input) {
|
|
203
|
+
const status = draftListItemSchema.shape.status.optional().parse(input.status);
|
|
204
|
+
const query = draftListQuerySchema.parse(input.query);
|
|
205
|
+
if (!status) {
|
|
206
|
+
return input.sdk.listDrafts(query);
|
|
207
|
+
}
|
|
208
|
+
const limit = query.limit ?? 50;
|
|
209
|
+
let skip = query.offset ?? 0;
|
|
210
|
+
const matches = [];
|
|
211
|
+
for (let offset = 0; offset <= 1000000; offset += 100) {
|
|
212
|
+
const page = await input.sdk.listDrafts({
|
|
213
|
+
query: query.query,
|
|
214
|
+
limit: 100,
|
|
215
|
+
offset,
|
|
216
|
+
});
|
|
217
|
+
for (const draft of page) {
|
|
218
|
+
if (draft.status !== status)
|
|
219
|
+
continue;
|
|
220
|
+
if (skip > 0) {
|
|
221
|
+
skip -= 1;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
matches.push(draft);
|
|
225
|
+
if (matches.length === limit)
|
|
226
|
+
return matches;
|
|
227
|
+
}
|
|
228
|
+
if (page.length < 100)
|
|
229
|
+
return matches;
|
|
230
|
+
}
|
|
231
|
+
throw new Error('La búsqueda excede el límite de paginación. Usa `--query` para acotarla.');
|
|
166
232
|
}
|
|
167
233
|
async function resolveDownloadPath(input) {
|
|
168
234
|
if (!input.output?.trim()) {
|
|
@@ -195,13 +261,43 @@ async function saveDownloadedArtifact(input) {
|
|
|
195
261
|
function isUuidLike(value) {
|
|
196
262
|
return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value.trim());
|
|
197
263
|
}
|
|
198
|
-
async function resolveInvoiceReference(input) {
|
|
264
|
+
export async function resolveInvoiceReference(input) {
|
|
199
265
|
const normalizedRef = input.invoiceRef.trim();
|
|
200
266
|
if (!normalizedRef) {
|
|
201
|
-
throw new Error('Debes indicar un
|
|
267
|
+
throw new Error('Debes indicar un invoiceId, UUID SAT o folio válido.');
|
|
202
268
|
}
|
|
203
269
|
if (isUuidLike(normalizedRef)) {
|
|
204
|
-
|
|
270
|
+
try {
|
|
271
|
+
const invoice = await input.sdk.getInvoice(normalizedRef);
|
|
272
|
+
return invoice.id;
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
if (!(error instanceof FactuCatApiError) ||
|
|
276
|
+
(error.code !== 'not_found' && error.status !== 404)) {
|
|
277
|
+
throw error;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// UUID-like but not an invoiceId: resolve as satUuid via list + detail.
|
|
281
|
+
const target = normalizedRef.toLowerCase();
|
|
282
|
+
const limit = 50;
|
|
283
|
+
let offset = 0;
|
|
284
|
+
for (let page = 0; page < 10; page += 1) {
|
|
285
|
+
const invoices = await input.sdk.listInvoices({ limit, offset });
|
|
286
|
+
if (invoices.length === 0) {
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
for (const item of invoices) {
|
|
290
|
+
const invoice = await input.sdk.getInvoice(item.id);
|
|
291
|
+
if (invoice.satUuid?.trim().toLowerCase() === target) {
|
|
292
|
+
return invoice.id;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
if (invoices.length < limit) {
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
offset += limit;
|
|
299
|
+
}
|
|
300
|
+
throw new Error(`No encontré una factura con el invoiceId o UUID SAT \`${normalizedRef}\`.`);
|
|
205
301
|
}
|
|
206
302
|
const invoices = await input.sdk.listInvoices({
|
|
207
303
|
query: normalizedRef,
|
|
@@ -216,7 +312,7 @@ async function resolveInvoiceReference(input) {
|
|
|
216
312
|
return exactMatches[0].id;
|
|
217
313
|
}
|
|
218
314
|
if (exactMatches.length > 1) {
|
|
219
|
-
throw new Error(`Hay varias facturas con el folio \`${normalizedRef}\`. Usa el
|
|
315
|
+
throw new Error(`Hay varias facturas con el folio \`${normalizedRef}\`. Usa el invoiceId o UUID SAT para desambiguar.`);
|
|
220
316
|
}
|
|
221
317
|
throw new Error(`No encontré una factura con el folio o invoiceId \`${normalizedRef}\`.`);
|
|
222
318
|
}
|
|
@@ -271,7 +367,7 @@ function formatDraftItemLine(input) {
|
|
|
271
367
|
const satCode = input.productCode ?? input.suggestedProductCode ?? '-';
|
|
272
368
|
return [
|
|
273
369
|
`${input.id} ${input.quantity} x ${input.description} ${input.amount} ${input.currency}`,
|
|
274
|
-
` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
|
|
370
|
+
` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
|
|
275
371
|
];
|
|
276
372
|
}
|
|
277
373
|
function formatIsoDateLabel(value) {
|
|
@@ -288,7 +384,7 @@ function formatPreviewItemLine(input) {
|
|
|
288
384
|
return [
|
|
289
385
|
`${input.index}. ${input.description}`,
|
|
290
386
|
` Cantidad: ${input.quantity} · Precio unitario: ${input.unitPrice} ${input.currency} · Importe: ${input.amount} ${input.currency}`,
|
|
291
|
-
` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
|
|
387
|
+
` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
|
|
292
388
|
];
|
|
293
389
|
}
|
|
294
390
|
function formatDraftPreview(draft) {
|
|
@@ -309,6 +405,7 @@ function formatDraftPreview(draft) {
|
|
|
309
405
|
formatOptionalValue(' Correo', draft.receiverEmail),
|
|
310
406
|
'',
|
|
311
407
|
'Comprobante:',
|
|
408
|
+
formatOptionalValue(' Fecha de emisión', draft.issueDate ?? 'Al momento de timbrar'),
|
|
312
409
|
formatOptionalValue(' Tipo CFDI', draft.cfdiType),
|
|
313
410
|
formatOptionalValue(' Uso CFDI', draft.cfdiUse),
|
|
314
411
|
formatOptionalValue(' Exportación', draft.exportacion),
|
|
@@ -332,6 +429,7 @@ function formatDraftPreview(draft) {
|
|
|
332
429
|
productCode: item.productCode,
|
|
333
430
|
suggestedProductCode: item.suggestedProductCode,
|
|
334
431
|
unitCode: item.unitCode,
|
|
432
|
+
vatTreatment: item.vatTreatment,
|
|
335
433
|
vatRate: item.vatRate,
|
|
336
434
|
isrWithholdingRate: item.isrWithholdingRate,
|
|
337
435
|
}))
|
|
@@ -389,7 +487,6 @@ async function loadDraftCustomer(sdk, draft) {
|
|
|
389
487
|
}
|
|
390
488
|
async function resolveInteractiveStampInput(input) {
|
|
391
489
|
const customer = await loadDraftCustomer(input.sdk, input.draft);
|
|
392
|
-
printHuman(formatDraftPreview(input.draft));
|
|
393
490
|
const confirmed = await confirm({
|
|
394
491
|
message: '¿Timbramos esta factura ahora?',
|
|
395
492
|
active: 'Sí, timbrar',
|
|
@@ -509,12 +606,16 @@ export async function main(rawArgv = process.argv) {
|
|
|
509
606
|
return;
|
|
510
607
|
}
|
|
511
608
|
const cli = cac('factucat');
|
|
609
|
+
cli.version(CLI_VERSION);
|
|
610
|
+
let idempotencyKey;
|
|
512
611
|
cli
|
|
513
612
|
.command('auth-api-key-set', 'Guardar API key')
|
|
514
613
|
.option('--value <apiKey>', 'API key a guardar')
|
|
515
614
|
.action(async (options) => {
|
|
516
|
-
const
|
|
517
|
-
|
|
615
|
+
const valueFromFlag = options.value?.trim();
|
|
616
|
+
// Skip stdin when --value is set so agents/CI with open non-TTY stdin do not hang.
|
|
617
|
+
const stdinValue = valueFromFlag ? undefined : await readStdinValue();
|
|
618
|
+
let value = valueFromFlag || stdinValue;
|
|
518
619
|
if (!value) {
|
|
519
620
|
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
520
621
|
throw new Error('No se detectó terminal interactiva. Usa `--value <apiKey>` o envía la API key por stdin.');
|
|
@@ -592,11 +693,14 @@ export async function main(rawArgv = process.argv) {
|
|
|
592
693
|
});
|
|
593
694
|
withJsonFlag(cli
|
|
594
695
|
.command('invoice-create', 'Crear borrador remoto')
|
|
696
|
+
.option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
|
|
697
|
+
.option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
|
|
595
698
|
.option('--customer-id <customerId>', 'ID del cliente')
|
|
596
699
|
.option('--customer <customerName>', 'Busca el cliente por nombre o RFC y lo asigna automáticamente al borrador')
|
|
597
700
|
.option('--draft', 'Crear y dejar como borrador')
|
|
598
701
|
.option('--no-input', 'Nunca preguntar datos faltantes')).action(async (options) => {
|
|
599
702
|
const commandOptions = options;
|
|
703
|
+
idempotencyKey = resolveIdempotencyKey(argv);
|
|
600
704
|
const sdk = await getSdk();
|
|
601
705
|
const resolvedCustomer = commandOptions.customerId
|
|
602
706
|
? await sdk.getCustomer(commandOptions.customerId)
|
|
@@ -606,7 +710,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
606
710
|
customerRef: commandOptions.customer,
|
|
607
711
|
})
|
|
608
712
|
: null;
|
|
609
|
-
const draft = await sdk.createDraft(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}, { idempotencyKey
|
|
713
|
+
const draft = await sdk.createDraft({ ...(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}), issueDate: commandOptions.fecha ?? commandOptions.issuedAt }, { idempotencyKey });
|
|
610
714
|
await setCurrentDraftId(draft.id);
|
|
611
715
|
if (commandOptions.json) {
|
|
612
716
|
printJson(draft);
|
|
@@ -650,6 +754,28 @@ export async function main(rawArgv = process.argv) {
|
|
|
650
754
|
}
|
|
651
755
|
printHuman(formatDraftPreview(draft));
|
|
652
756
|
});
|
|
757
|
+
withJsonFlag(cli
|
|
758
|
+
.command('draft-list', 'Listar borradores remotos')
|
|
759
|
+
.option('--status <status>', 'Estado: draft o error')
|
|
760
|
+
.option('--query <query>', 'Búsqueda')
|
|
761
|
+
.option('--limit <limit>', 'Límite')
|
|
762
|
+
.option('--offset <offset>', 'Resultados a omitir')).action(async (options) => {
|
|
763
|
+
const sdk = await getSdk();
|
|
764
|
+
const drafts = await listDraftsWithStatus({
|
|
765
|
+
sdk,
|
|
766
|
+
status: options.status,
|
|
767
|
+
query: {
|
|
768
|
+
query: normalizeStringOption(options.query),
|
|
769
|
+
limit: options.limit === undefined ? undefined : Number(options.limit),
|
|
770
|
+
offset: options.offset === undefined ? undefined : Number(options.offset),
|
|
771
|
+
},
|
|
772
|
+
});
|
|
773
|
+
if (options.json) {
|
|
774
|
+
printJson(drafts);
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
printHuman(drafts.map((draft) => `${draft.id} ${draft.status} ${draft.receiverLegalName} ${draft.total} ${draft.currency}`));
|
|
778
|
+
});
|
|
653
779
|
withJsonFlag(cli
|
|
654
780
|
.command('invoice-list', 'Listar facturas')
|
|
655
781
|
.option('--status <status>', 'Estado')
|
|
@@ -713,6 +839,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
713
839
|
});
|
|
714
840
|
withJsonFlag(cli
|
|
715
841
|
.command('invoice-set-meta', 'Actualizar metadatos del borrador. Si usas USD sin --exchange-rate, se consulta automáticamente el DOF.')
|
|
842
|
+
.option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
|
|
716
843
|
.option('--draft-id <draftId>', 'ID del borrador')
|
|
717
844
|
.option('--cfdi-use <cfdiUse>', 'Uso CFDI')
|
|
718
845
|
.option('--exportacion <exportacion>', 'Clave SAT c_Exportacion: 01, 02, 03 o 04')
|
|
@@ -725,6 +852,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
725
852
|
const sdk = await getSdk();
|
|
726
853
|
const draftId = await resolveDraftId(options.draftId);
|
|
727
854
|
const input = {
|
|
855
|
+
issueDate: options.fecha ?? options.issuedAt,
|
|
728
856
|
cfdiUse: normalizeStringOption(options.cfdiUse),
|
|
729
857
|
exportacion: normalizeNumericCodeOptionFromArgv(argv, '--exportacion', options.exportacion, 2),
|
|
730
858
|
paymentMethod: normalizeStringOption(options.paymentMethod),
|
|
@@ -766,11 +894,13 @@ export async function main(rawArgv = process.argv) {
|
|
|
766
894
|
});
|
|
767
895
|
withJsonFlag(cli
|
|
768
896
|
.command('invoice-add-item', 'Agregar concepto al borrador. Si omites Clave SAT, unidad o impuestos, FactuCat intenta inferirlos automáticamente.')
|
|
897
|
+
.option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
|
|
769
898
|
.option('--draft-id <draftId>', 'ID del borrador')
|
|
770
899
|
.option('--description <description>', 'Descripción')
|
|
771
900
|
.option('--unit-price <unitPrice>', 'Precio unitario')
|
|
772
901
|
.option('--quantity <quantity>', 'Cantidad', { default: '1' })
|
|
773
|
-
.option('--iva <iva>', 'IVA del concepto: 0, 10 o 16. Si lo omites, se infiere automáticamente.')
|
|
902
|
+
.option('--iva <iva>', 'IVA del concepto: 0, 8, 10 (histórico) o 16. 0 significa Tasa 0%. Si lo omites, se infiere automáticamente.')
|
|
903
|
+
.option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
|
|
774
904
|
.option('--vat <vat>', 'Alias de compatibilidad para `--iva`')
|
|
775
905
|
.option('--isr-retenido <isrRetenido>', 'ISR retenido: 0, 1.25 o 10. Si lo omites, se infiere automáticamente.')
|
|
776
906
|
.option('--isr-withholding <isrWithholding>', 'Alias de compatibilidad para `--isr-retenido`')
|
|
@@ -779,6 +909,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
779
909
|
if (!options.description || !options.unitPrice) {
|
|
780
910
|
throw new Error('Debes indicar `--description <description>` y `--unit-price <unitPrice>`.');
|
|
781
911
|
}
|
|
912
|
+
idempotencyKey = resolveIdempotencyKey(argv);
|
|
782
913
|
const sdk = await getSdk();
|
|
783
914
|
const draftId = await resolveDraftId(options.draftId);
|
|
784
915
|
const iva = normalizeStringOption(options.iva ?? options.vat);
|
|
@@ -787,6 +918,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
787
918
|
description: String(options.description),
|
|
788
919
|
quantity: Number(options.quantity),
|
|
789
920
|
unitPrice: Number(options.unitPrice),
|
|
921
|
+
vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
|
|
790
922
|
vatRate: iva === undefined ? undefined : parseVatFlag(iva),
|
|
791
923
|
vatSource: iva === undefined ? undefined : 'manual',
|
|
792
924
|
isrWithholdingRate: isrRetenido === undefined
|
|
@@ -802,7 +934,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
802
934
|
loading.start('Infiriendo la clave SAT de este concepto...');
|
|
803
935
|
}
|
|
804
936
|
const draft = await sdk.addDraftItem(draftId, input, {
|
|
805
|
-
idempotencyKey
|
|
937
|
+
idempotencyKey,
|
|
806
938
|
});
|
|
807
939
|
if (loading) {
|
|
808
940
|
loading.stop('Concepto clasificado y agregado al borrador.');
|
|
@@ -819,11 +951,13 @@ export async function main(rawArgv = process.argv) {
|
|
|
819
951
|
.option('--description <description>', 'Descripción')
|
|
820
952
|
.option('--unit-price <unitPrice>', 'Precio unitario')
|
|
821
953
|
.option('--quantity <quantity>', 'Cantidad')
|
|
954
|
+
.option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
|
|
822
955
|
.option('--product-code <productCode>', 'Clave SAT del producto. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')
|
|
823
956
|
.option('--unit-code <unitCode>', 'Clave SAT de unidad. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')).action(async (itemId, options) => {
|
|
824
957
|
const sdk = await getSdk();
|
|
825
958
|
const draftId = await resolveDraftId(options.draftId);
|
|
826
959
|
const input = {
|
|
960
|
+
vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
|
|
827
961
|
description: normalizeStringOption(options.description),
|
|
828
962
|
quantity: options.quantity === undefined ? undefined : Number(options.quantity),
|
|
829
963
|
unitPrice: options.unitPrice === undefined ? undefined : Number(options.unitPrice),
|
|
@@ -880,6 +1014,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
880
1014
|
productCode: item.productCode,
|
|
881
1015
|
suggestedProductCode: item.suggestedProductCode,
|
|
882
1016
|
unitCode: item.unitCode,
|
|
1017
|
+
vatTreatment: item.vatTreatment,
|
|
883
1018
|
vatRate: item.vatRate,
|
|
884
1019
|
isrWithholdingRate: item.isrWithholdingRate,
|
|
885
1020
|
})));
|
|
@@ -903,15 +1038,36 @@ export async function main(rawArgv = process.argv) {
|
|
|
903
1038
|
});
|
|
904
1039
|
withJsonFlag(cli
|
|
905
1040
|
.command('invoice-stamp', 'Timbrar borrador actual. En modo interactivo muestra la previa y pregunta si quieres enviarla al cliente después.')
|
|
1041
|
+
.option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
|
|
906
1042
|
.option('--draft-id <draftId>', 'ID del borrador')
|
|
1043
|
+
.option('--idempotency-key <key>', 'Clave para reintentar el mismo timbrado')
|
|
1044
|
+
.option('--dry-run', 'Mostrar previa sin timbrar')
|
|
1045
|
+
.option('--yes', 'Confirmar el timbrado sin preguntas')
|
|
907
1046
|
.option('--no-input', 'Nunca preguntar nada; útil para agentes y scripts')
|
|
908
1047
|
.option('--send-to-customer-contacts', 'Solicita entrega por email y WhatsApp registrados en el cliente, si existen.')
|
|
909
1048
|
.option('--send-customer-email', 'Solicita entrega por correo del cliente')
|
|
910
1049
|
.option('--send-customer-whatsapp', 'Solicita entrega por WhatsApp del cliente')).action(async (options) => {
|
|
1050
|
+
idempotencyKey = resolveIdempotencyKey(argv);
|
|
911
1051
|
const sdk = await getSdk();
|
|
912
1052
|
const draftId = await resolveDraftId(options.draftId);
|
|
913
|
-
const interactiveMode = canPromptInteractively(options);
|
|
914
|
-
const
|
|
1053
|
+
const interactiveMode = !options.yes && canPromptInteractively(options);
|
|
1054
|
+
const savedDraft = interactiveMode || options.dryRun ? await sdk.getDraft(draftId) : null;
|
|
1055
|
+
const draft = savedDraft && { ...savedDraft, issueDate: options.fecha ?? options.issuedAt ?? savedDraft.issueDate };
|
|
1056
|
+
if (draft) {
|
|
1057
|
+
const environment = await getKeyEnvironment();
|
|
1058
|
+
if (options.dryRun && options.json) {
|
|
1059
|
+
printJson({ dryRun: true, idempotencyKey, environment, draft });
|
|
1060
|
+
return;
|
|
1061
|
+
}
|
|
1062
|
+
printHuman([
|
|
1063
|
+
...formatDraftPreview(draft),
|
|
1064
|
+
`Entorno: ${environment}`,
|
|
1065
|
+
`Idempotency-Key: ${idempotencyKey}`,
|
|
1066
|
+
]);
|
|
1067
|
+
}
|
|
1068
|
+
if (options.dryRun) {
|
|
1069
|
+
return;
|
|
1070
|
+
}
|
|
915
1071
|
const interactiveResolution = interactiveMode && draft
|
|
916
1072
|
? await resolveInteractiveStampInput({
|
|
917
1073
|
sdk,
|
|
@@ -934,11 +1090,14 @@ export async function main(rawArgv = process.argv) {
|
|
|
934
1090
|
sendCustomerEmail: options.sendCustomerEmail,
|
|
935
1091
|
sendCustomerWhatsApp: options.sendCustomerWhatsApp,
|
|
936
1092
|
};
|
|
1093
|
+
const issueDate = options.fecha ?? options.issuedAt;
|
|
1094
|
+
if (issueDate !== undefined)
|
|
1095
|
+
stampInput.issueDate = issueDate;
|
|
937
1096
|
const loading = !options.json ? spinner() : null;
|
|
938
1097
|
if (loading) {
|
|
939
1098
|
loading.start('Timbrando factura...');
|
|
940
1099
|
}
|
|
941
|
-
const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey
|
|
1100
|
+
const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey });
|
|
942
1101
|
if (loading) {
|
|
943
1102
|
loading.stop('Factura timbrada.');
|
|
944
1103
|
}
|
|
@@ -946,13 +1105,14 @@ export async function main(rawArgv = process.argv) {
|
|
|
946
1105
|
await setCurrentDraftId(undefined);
|
|
947
1106
|
}
|
|
948
1107
|
if (options.json) {
|
|
949
|
-
printJson(invoice);
|
|
1108
|
+
printJson({ ...invoice, idempotencyKey });
|
|
950
1109
|
return;
|
|
951
1110
|
}
|
|
952
1111
|
printHuman([
|
|
953
1112
|
`Factura timbrada: ${invoice.id}`,
|
|
954
1113
|
`Folio: ${invoice.folio ?? 'sin folio'}`,
|
|
955
1114
|
`UUID SAT: ${invoice.satUuid ?? 'pendiente'}`,
|
|
1115
|
+
`Idempotency-Key: ${idempotencyKey}`,
|
|
956
1116
|
...formatDeliverySummary({
|
|
957
1117
|
sendCustomerEmail: stampInput.sendCustomerEmail ??
|
|
958
1118
|
stampInput.sendToCustomerContacts,
|
|
@@ -962,7 +1122,115 @@ export async function main(rawArgv = process.argv) {
|
|
|
962
1122
|
}),
|
|
963
1123
|
]);
|
|
964
1124
|
});
|
|
965
|
-
withJsonFlag(cli
|
|
1125
|
+
withJsonFlag(cli
|
|
1126
|
+
.command('invoice-cancel <invoiceRef>', 'Cancelar factura por invoiceId, UUID SAT o folio')
|
|
1127
|
+
.option('--reason <01|02|03|04>', 'Motivo de cancelación (obligatorio)')
|
|
1128
|
+
.option('--replacement-invoice <ref>', 'Factura sustituta (obligatoria para motivo 01)')
|
|
1129
|
+
.option('--idempotency-key <key>', 'Clave para reintentar la misma cancelación')
|
|
1130
|
+
.option('--yes', 'Confirmar la cancelación sin preguntas')
|
|
1131
|
+
.option('--no-input', 'Nunca preguntar; requiere --yes para cancelar')
|
|
1132
|
+
.option('--dry-run', 'Mostrar previa sin cancelar')).action(async (invoiceRef, options) => {
|
|
1133
|
+
const reason = readRawOptionValue(argv, '--reason');
|
|
1134
|
+
const parsedReason = invoiceCancelReasonSchema.safeParse(reason);
|
|
1135
|
+
if (!parsedReason.success) {
|
|
1136
|
+
throw new Error('Debes indicar `--reason` con uno de estos motivos: 01, 02, 03 o 04.');
|
|
1137
|
+
}
|
|
1138
|
+
const replacementOption = readRawOptionValue(argv, '--replacement-invoice');
|
|
1139
|
+
const replacementRef = normalizeStringOption(replacementOption);
|
|
1140
|
+
if (parsedReason.data === '01' && !replacementRef) {
|
|
1141
|
+
throw new Error('El motivo 01 requiere `--replacement-invoice <ref>`.');
|
|
1142
|
+
}
|
|
1143
|
+
if (parsedReason.data !== '01' && replacementOption !== undefined) {
|
|
1144
|
+
throw new Error('`--replacement-invoice` solo se permite con el motivo 01.');
|
|
1145
|
+
}
|
|
1146
|
+
const interactiveMode = canPromptInteractively(options);
|
|
1147
|
+
if (!options.dryRun && !options.yes && !interactiveMode) {
|
|
1148
|
+
throw new Error('Cancelar requiere confirmación explícita. Usa `--yes` para confirmar o `--dry-run` para revisar la previa.');
|
|
1149
|
+
}
|
|
1150
|
+
idempotencyKey = resolveIdempotencyKey(argv);
|
|
1151
|
+
const sdk = await getSdk();
|
|
1152
|
+
const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
|
|
1153
|
+
const invoice = await sdk.getInvoice(invoiceId);
|
|
1154
|
+
if (invoice.status !== 'issued' || !invoice.satUuid?.trim()) {
|
|
1155
|
+
throw new Error('Solo se pueden cancelar facturas emitidas (issued) con UUID SAT.');
|
|
1156
|
+
}
|
|
1157
|
+
const replacementInvoiceId = replacementRef
|
|
1158
|
+
? await resolveInvoiceReference({ sdk, invoiceRef: replacementRef })
|
|
1159
|
+
: undefined;
|
|
1160
|
+
if (replacementInvoiceId === invoiceId) {
|
|
1161
|
+
throw new Error('La factura sustituta debe ser distinta de la factura que quieres cancelar.');
|
|
1162
|
+
}
|
|
1163
|
+
const replacement = replacementInvoiceId
|
|
1164
|
+
? await sdk.getInvoice(replacementInvoiceId)
|
|
1165
|
+
: undefined;
|
|
1166
|
+
if (parsedReason.data === '01' &&
|
|
1167
|
+
(replacement?.status !== 'issued' || !replacement.satUuid?.trim())) {
|
|
1168
|
+
throw new Error('El motivo 01 requiere una factura sustituta timbrada.');
|
|
1169
|
+
}
|
|
1170
|
+
const environment = await getKeyEnvironment();
|
|
1171
|
+
const preview = {
|
|
1172
|
+
invoiceId,
|
|
1173
|
+
satUuid: invoice.satUuid,
|
|
1174
|
+
receiverRfc: invoice.receiverRfc,
|
|
1175
|
+
receiverLegalName: invoice.receiverLegalName,
|
|
1176
|
+
total: invoice.total,
|
|
1177
|
+
currency: invoice.currency,
|
|
1178
|
+
reason: parsedReason.data,
|
|
1179
|
+
replacementInvoiceId,
|
|
1180
|
+
replacementSatUuid: replacement?.satUuid,
|
|
1181
|
+
environment,
|
|
1182
|
+
idempotencyKey,
|
|
1183
|
+
};
|
|
1184
|
+
if (options.dryRun && options.json) {
|
|
1185
|
+
printJson({ dryRun: true, ...preview });
|
|
1186
|
+
return;
|
|
1187
|
+
}
|
|
1188
|
+
if (options.dryRun || (interactiveMode && !options.yes)) {
|
|
1189
|
+
printHuman([
|
|
1190
|
+
`Factura: ${invoiceId}`,
|
|
1191
|
+
`UUID SAT: ${preview.satUuid}`,
|
|
1192
|
+
`Receptor: ${preview.receiverLegalName}`,
|
|
1193
|
+
`RFC: ${preview.receiverRfc}`,
|
|
1194
|
+
`Total: ${preview.total} ${preview.currency}`,
|
|
1195
|
+
`Motivo: ${preview.reason}`,
|
|
1196
|
+
...(replacementInvoiceId
|
|
1197
|
+
? [
|
|
1198
|
+
`Factura sustituta: ${replacementInvoiceId}`,
|
|
1199
|
+
`UUID SAT de la sustituta: ${preview.replacementSatUuid}`,
|
|
1200
|
+
]
|
|
1201
|
+
: []),
|
|
1202
|
+
`Entorno: ${environment}`,
|
|
1203
|
+
`Idempotency-Key: ${idempotencyKey}`,
|
|
1204
|
+
]);
|
|
1205
|
+
}
|
|
1206
|
+
if (options.dryRun) {
|
|
1207
|
+
return;
|
|
1208
|
+
}
|
|
1209
|
+
if (!options.yes) {
|
|
1210
|
+
const confirmed = await confirm({
|
|
1211
|
+
message: '¿Confirmas la cancelación de esta factura?',
|
|
1212
|
+
active: 'Sí, cancelar factura',
|
|
1213
|
+
inactive: 'No, conservar factura',
|
|
1214
|
+
initialValue: false,
|
|
1215
|
+
});
|
|
1216
|
+
if (isCancel(confirmed) || !confirmed) {
|
|
1217
|
+
outro('No se solicitó la cancelación.');
|
|
1218
|
+
return;
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
const result = await sdk.cancelInvoice(invoiceId, { reason: parsedReason.data, replacementInvoiceId }, { idempotencyKey });
|
|
1222
|
+
if (options.json) {
|
|
1223
|
+
printJson({ ...result, idempotencyKey });
|
|
1224
|
+
return;
|
|
1225
|
+
}
|
|
1226
|
+
printHuman([
|
|
1227
|
+
result.status === 'cancelled'
|
|
1228
|
+
? `Factura cancelada: ${invoiceId}`
|
|
1229
|
+
: `Cancelación aún no confirmada: ${invoiceId}`,
|
|
1230
|
+
`Idempotency-Key: ${idempotencyKey}`,
|
|
1231
|
+
]);
|
|
1232
|
+
});
|
|
1233
|
+
withJsonFlag(cli.command('invoice-get <invoiceRef>', 'Obtener factura por invoiceId, UUID SAT o folio')).action(async (invoiceRef, options) => {
|
|
966
1234
|
const sdk = await getSdk();
|
|
967
1235
|
const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
|
|
968
1236
|
const invoice = await sdk.getInvoice(invoiceId);
|
|
@@ -977,7 +1245,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
977
1245
|
`Total: ${invoice.total} ${invoice.currency}`,
|
|
978
1246
|
]);
|
|
979
1247
|
});
|
|
980
|
-
withJsonFlag(cli.command('invoice-download-xml <invoiceRef>', 'Descargar XML timbrado por UUID o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
|
|
1248
|
+
withJsonFlag(cli.command('invoice-download-xml <invoiceRef>', 'Descargar XML timbrado por invoiceId, UUID SAT o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
|
|
981
1249
|
const sdk = await getSdk();
|
|
982
1250
|
const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
|
|
983
1251
|
const xml = await sdk.downloadInvoiceXml(invoiceId);
|
|
@@ -992,7 +1260,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
992
1260
|
});
|
|
993
1261
|
printHuman([`Archivo guardado en: ${savedPath}`, xml.mimeType]);
|
|
994
1262
|
});
|
|
995
|
-
withJsonFlag(cli.command('invoice-download-pdf <invoiceRef>', 'Descargar PDF timbrado por UUID o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
|
|
1263
|
+
withJsonFlag(cli.command('invoice-download-pdf <invoiceRef>', 'Descargar PDF timbrado por invoiceId, UUID SAT o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
|
|
996
1264
|
const sdk = await getSdk();
|
|
997
1265
|
const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
|
|
998
1266
|
const pdf = await sdk.downloadInvoicePdf(invoiceId);
|
|
@@ -1022,6 +1290,21 @@ export async function main(rawArgv = process.argv) {
|
|
|
1022
1290
|
}
|
|
1023
1291
|
printHuman(customers.map((customer) => `${customer.id} ${customer.legalName}`));
|
|
1024
1292
|
});
|
|
1293
|
+
withJsonFlag(cli.command('customer-get <customerId>', 'Obtener cliente')).action(async (customerId, options) => {
|
|
1294
|
+
const sdk = await getSdk();
|
|
1295
|
+
const customer = await sdk.getCustomer(customerId);
|
|
1296
|
+
if (options.json) {
|
|
1297
|
+
printJson(customer);
|
|
1298
|
+
return;
|
|
1299
|
+
}
|
|
1300
|
+
printHuman([
|
|
1301
|
+
`Cliente: ${customer.id}`,
|
|
1302
|
+
`Razón social: ${customer.legalName}`,
|
|
1303
|
+
`RFC: ${customer.rfc}`,
|
|
1304
|
+
`Código postal: ${customer.postalCode}`,
|
|
1305
|
+
`Régimen fiscal: ${customer.taxRegime}`,
|
|
1306
|
+
]);
|
|
1307
|
+
});
|
|
1025
1308
|
withJsonFlag(cli.command('customer-search <query>', 'Buscar clientes')).action(async (query, options) => {
|
|
1026
1309
|
const sdk = await getSdk();
|
|
1027
1310
|
const customers = await sdk.listCustomers({ query });
|
|
@@ -1033,6 +1316,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
1033
1316
|
});
|
|
1034
1317
|
withJsonFlag(cli
|
|
1035
1318
|
.command('customer-create', 'Crear cliente')
|
|
1319
|
+
.option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
|
|
1036
1320
|
.option('--legal-name <legalName>', 'Razón social')
|
|
1037
1321
|
.option('--rfc <rfc>', 'RFC')
|
|
1038
1322
|
.option('--postal-code <postalCode>', 'Código postal')
|
|
@@ -1044,6 +1328,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
1044
1328
|
if (!options.legalName || !options.rfc || !options.postalCode || !options.taxRegime) {
|
|
1045
1329
|
throw new Error('Debes indicar `--legal-name`, `--rfc`, `--postal-code` y `--tax-regime`.');
|
|
1046
1330
|
}
|
|
1331
|
+
idempotencyKey = resolveIdempotencyKey(argv);
|
|
1047
1332
|
const sdk = await getSdk();
|
|
1048
1333
|
const input = {
|
|
1049
1334
|
legalName: String(options.legalName),
|
|
@@ -1057,7 +1342,7 @@ export async function main(rawArgv = process.argv) {
|
|
|
1057
1342
|
sendInvoices: true,
|
|
1058
1343
|
};
|
|
1059
1344
|
const customer = await sdk.createCustomer(input, {
|
|
1060
|
-
idempotencyKey
|
|
1345
|
+
idempotencyKey,
|
|
1061
1346
|
});
|
|
1062
1347
|
if (options.json) {
|
|
1063
1348
|
printJson(customer);
|
|
@@ -1076,15 +1361,16 @@ export async function main(rawArgv = process.argv) {
|
|
|
1076
1361
|
error: {
|
|
1077
1362
|
message: getErrorMessage(error),
|
|
1078
1363
|
},
|
|
1364
|
+
...(idempotencyKey ? { idempotencyKey } : {}),
|
|
1079
1365
|
});
|
|
1080
1366
|
}
|
|
1081
1367
|
else {
|
|
1082
1368
|
process.stderr.write(`${getErrorMessage(error)}\n`);
|
|
1369
|
+
if (idempotencyKey) {
|
|
1370
|
+
process.stderr.write(`Idempotency-Key: ${idempotencyKey}\n`);
|
|
1371
|
+
}
|
|
1083
1372
|
}
|
|
1084
1373
|
process.exitCode = exitCodeFromError(error);
|
|
1085
1374
|
}
|
|
1086
1375
|
}
|
|
1087
|
-
if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
|
|
1088
|
-
void main();
|
|
1089
|
-
}
|
|
1090
1376
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACvF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AA6BrC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCjB,CAAA;AAED,SAAS,YAAY,CAAoB,OAAU;IACjD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAiB;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,aAAa,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,MAAM,IAAI,GACR,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAA;IAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,MAAM,QAAQ,GAA+C;QAC3D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QAC5D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE;QAC9D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE;QAChE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE;QACrD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACjD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACjD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACjE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACjE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QACzD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QACzD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE;QAC/D,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE;QAC/D,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACpD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACpE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACpE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;KACxD,CAAA;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,OAAO;YACL,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9G,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IACvC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,KAAa;IAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB,EAAE,UAAkB;IACxE,IAAI,SAA6B,CAAA;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAEzB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAK;QACP,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC3B,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YACvC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAmB,EACnB,UAAkB,EAClB,aAAsB,EACtB,KAAa;IAEb,OAAO,0BAA0B,CAC/B,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,aAAa,EACrD,KAAK,CACN,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAG/B;IACC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACzF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAGlC;IACC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAIrC;IACC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEhE,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,4EAA4E,CAAC,IAAI,CACtF,KAAK,CAAC,IAAI,EAAE,CACb,CAAA;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,KAGtC;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE7C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;QAC1C,OAAO,CACL,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;YAC1C,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAC9C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,sCAAsC,aAAa,iDAAiD,CACrG,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sDAAsD,aAAa,KAAK,CACzE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAGvC;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QAC9C,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjD,OAAO,CACL,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB;YACrD,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB;YAC5D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACvD,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,uDAAuD,aAAa,4CAA4C,CACjH,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,aAAa,uCAAuC,aAAa,iCAAiC,CACnI,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,uCAAuC,aAAa,+BAA+B,CACpI,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EAI1B;IACC,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,aAAa,KAAK,EAAE,CAAC,cAAc,GAAG,CAAA;IACrD,CAAC;IAED,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC,cAAc,CAAA;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,aAAa,CAAA;IACzB,CAAC;IAED,OAAO,EAAE,CAAC,WAAW,CAAA;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAW5B;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAA;IAEtE,OAAO;QACL,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC1F,UAAU,OAAO,cAAc,KAAK,CAAC,QAAQ,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;KACvK,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAA8B;IACxE,OAAO,GAAG,KAAK,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;AAC3F,CAAC;AAED,SAAS,qBAAqB,CAAC,KAY9B;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAA;IAEtE,OAAO;QACL,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;QACtC,gBAAgB,KAAK,CAAC,QAAQ,uBAAuB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,eAAe,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;QACrI,WAAW,OAAO,cAAc,KAAK,CAAC,QAAQ,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;KACxK,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,EAAE,EAAE;QACtB,WAAW,KAAK,CAAC,MAAM,EAAE;QACzB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACzC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACzC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;QAC9C,EAAE;QACF,WAAW;QACX,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC9D,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/C,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAChE,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAChE,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,uBAAuB,CAAC;QACzE,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;QACpD,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;QACpD,EAAE;QACF,cAAc;QACd,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC;QAClD,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;QAChD,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC;QACvD,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5D,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAAC;QACzD,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/C,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC;QAC3D,mBAAmB,CACjB,YAAY,EACZ,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC3C;QACD,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC;QACtD,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;QACnD,EAAE;QACF,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI;QACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClC,qBAAqB,CAAC;gBACpB,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C,CAAC,CACH;YACH,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAC/B,EAAE;QACF,UAAU;QACV,eAAe,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;QACjD,gBAAgB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClD,YAAY,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC3C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzE,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;KACnD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAI9B;IACC,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,oBAAoB,CACtD,CAAA;IACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAE,YAAY,IAAI,KAAK,CAAA;IAEjE,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,0GAA0G;SAC3G,CAAA;IACH,CAAC;IAED,IAAI,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9C,OAAO;YACL,yFAAyF;SAC1F,CAAA;IACH,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,QAAQ,EAAE,KAAK;YACnB,CAAC,CAAC,kCAAkC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC1D,CAAC,CAAC,4EAA4E,CACjF,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,QAAQ,EAAE,aAAa;YAC3B,CAAC,CAAC,oCAAoC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE;YACpE,CAAC,CAAC,+EAA+E,CACpF,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAuC,EACvC,KAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,KAI3C;IACC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAEhE,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAE3C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,gCAAgC;QACzC,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAClD,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;QAC7C,KAAK,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS,EAChD,CAAC;QACD,OAAO;YACL,UAAU,EAAE;gBACV,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,sBAAsB;gBAC5D,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB;gBAClD,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB;aAC/B;YAC3B,QAAQ;SACT,CAAA;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC5B,OAAO;YACL,UAAU,EAAE,EAAE;YACd,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO;YACL,UAAU,EAAE,EAAE;YACd,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;QAClC,OAAO,EAAE,4DAA4D;QACrE,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAC7C,GAAG,CAAC,YAAY,IAAI,eAAe;gBACjC,CAAC,CAAC,CAAC;wBACC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,2BAA2B;wBAClC,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,aAAa,EAAE;qBACtD,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe;gBACjB,CAAC,CAAC,CAAC;wBACC,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,uBAAuB;wBAC9B,IAAI,EAAE,QAAQ,CAAC,aAAa;qBAC7B,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;SACR;QACD,YAAY,EACV,YAAY,IAAI,eAAe;YAC7B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,MAAM;KACjB,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,iBAAiB,EAAE,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,OAAO;YAC1E,oBAAoB,EAClB,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU;SACnC;QAC3B,QAAQ;KACT,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0CAA0C,CAC3C,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAyB,OAAO,CAAC,IAAI;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;IAE3B,GAAG;SACA,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;SAC9C,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,UAAU,CAAA;QAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;YACH,CAAC;YAED,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;gBAC7B,OAAO,EAAE,6BAA6B;gBACtC,WAAW,EAAE,aAAa;gBAC1B,QAAQ,CAAC,KAAK;oBACZ,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;wBACpC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,4BAA4B,CAAA;gBAClC,CAAC;aACF,CAAC,CAAA;YAEF,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,YAAY,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YAED,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC;YAChB,GAAG,MAAM;YACT,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEJ,GAAG;SACA,OAAO,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACtD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAA;QAC5D,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEJ,GAAG;SACA,OAAO,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC;YAChB,GAAG,MAAM;YACT,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEJ,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAAC,MAAM,CACtE,KAAK,EAAE,OAAoB,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;QAE5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC;gBACR,GAAG,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,gBAAgB,GACpB,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;gBAC9B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,aAAa,MAAM,CAAC,OAAO,GAAG,CAAA;QAEtC,UAAU,CAAC;YACT,yBAAyB;YACzB,YAAY,gBAAgB,EAAE;YAC9B,aAAa,MAAM,CAAC,OAAO,EAAE;YAC7B,UAAU,EAAE,CAAC,SAAS,EAAE;YACxB,eAAe,iBAAiB,CAAC,EAAE,CAAC,EAAE;YACtC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,4BAA4B,EAAE,gBAAgB,CAAC;SACtD,MAAM,CACL,2BAA2B,EAC3B,2EAA2E,CAC5E;SACA,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAC3D,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,cAAc,GAAG,OAGtB,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,gBAAgB,GACpB,cAAc,CAAC,UAAU;YACvB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC;YAClD,CAAC,CAAC,cAAc,CAAC,QAAQ;gBACvB,CAAC,CAAC,MAAM,wBAAwB,CAAC;oBAC7B,GAAG;oBACH,WAAW,EAAE,cAAc,CAAC,QAAQ;iBACrC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAA;QACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CACjC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAC3D,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CACjC,CAAA;QACD,MAAM,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEjC,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QAED,UAAU,CAAC;YACT,oBAAoB,KAAK,CAAC,EAAE,EAAE;YAC9B,YAAY,gBAAgB,EAAE,SAAS,IAAI,cAAc,EAAE;YAC3D,yDAAyD;SAC1D,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,CAAC,CAAC,MAAM,CACtF,KAAK,EAAE,OAAe,EAAE,OAAoB,EAAE,EAAE;QAC9C,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC,CACF,CAAA;IAED,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CACxE,KAAK,EAAE,OAAoB,EAAE,EAAE;QAC7B,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAA;QAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,cAAc,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,cAAc;gBACZ,CAAC,CAAC,oBAAoB,cAAc,EAAE;gBACtC,CAAC,CAAC,yBAAyB;SAC9B,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CACvC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,cAAc,GAAG,OAItB,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAqB;YAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,UAAU,CACR,QAAQ,CAAC,GAAG,CACV,CAAC,OAAO,EAAE,EAAE,CACV,GAAG,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CACrF,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,sBAAsB,EAAE,oCAAoC,CAAC;SACrE,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACxD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CACtC,OAAO,EACP,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAC1B,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CACjC,CAAA;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,gCAAgC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC;SACzC,MAAM,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;SAC/D,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;SAClE,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CACpD,CAAC,MAAM,CAAC,KAAK,EAAE,OAMf,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAA0B;YACnC,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/C,iBAAiB,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3D,kBAAkB,EAAE,kCAAkC,CACpD,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,UAAU,EAClB,CAAC,CACF;YACD,iBAAiB,EAAE,kCAAkC,CACnD,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,SAAS,EACjB,CAAC,CACF;YACD,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;SACpD,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;YACvD,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,2BAA2B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,kBAAkB,EAClB,yGAAyG,CAC1G;SACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,sBAAsB,EAAE,UAAU,CAAC;SAC1C,MAAM,CACL,6BAA6B,EAC7B,0CAA0C,CAC3C;SACA,MAAM,CAAC,kCAAkC,EAAE,gBAAgB,CAAC;SAC5D,MAAM,CAAC,8BAA8B,EAAE,eAAe,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SACzC,MAAM,CACL,gCAAgC,EAChC,mFAAmF,CACpF;SACA,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC;SAC7C,MAAM,CAAC,kCAAkC,EAAE,uBAAuB,CAAC,CACvE,CAAC,MAAM,CAAC,KAAK,EAAE,OASf,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAsB;YAC/B,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,WAAW,EAAE,kCAAkC,CAC7C,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,WAAW,EACnB,CAAC,CACkC;YACrC,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3D,WAAW,EAAE,kCAAkC,CAC7C,IAAI,EACJ,gBAAgB,EAChB,OAAO,CAAC,WAAW,EACnB,CAAC,CACF;YACD,QAAQ,EACN,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAA8C;YACtF,YAAY,EACV,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/E,OAAO,EACL,OAAO,CAAC,OAAO,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAkC;YAC/D,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;SAC5D,CAAA;QACD,MAAM,wBAAwB,GAC5B,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAA;QACtE,MAAM,mBAAmB,GACvB,CAAC,OAAO,CAAC,IAAI;YACb,OAAO,CAAC,QAAQ,KAAK,KAAK;YAC1B,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAClC,OAAO,EACP,KAAK,EACL;YACE,cAAc,EAAE,UAAU,EAAE;SAC7B,CACF,CAAA;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,6BAA6B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;QACxD,IAAI,wBAAwB,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACnE,KAAK,CAAC,IAAI,CACR,gBAAgB;gBACd,CAAC,CAAC,4CAA4C,KAAK,CAAC,YAAY,aAAa,gBAAgB,EAAE;gBAC/F,CAAC,CAAC,4CAA4C,KAAK,CAAC,YAAY,EAAE,CACrE,CAAA;QACH,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,kBAAkB,EAClB,qHAAqH,CACtH;SACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC;SACpD,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,yEAAyE,CAAC;SAChG,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;SAC7D,MAAM,CACL,8BAA8B,EAC9B,uEAAuE,CACxE;SACA,MAAM,CACL,oCAAoC,EACpC,+CAA+C,CAChD;SACA,MAAM,CACL,8BAA8B,EAC9B,2EAA2E,CAC5E;SACA,MAAM,CACL,wBAAwB,EACxB,wEAAwE,CACzE,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,OAUf,EAAE,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;QACxF,MAAM,KAAK,GAAsB;YAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;YAC1D,SAAS,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YACnD,kBAAkB,EAChB,WAAW,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC;YAC1C,oBAAoB,EAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAClD,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAA;QAED,MAAM,6BAA6B,GACjC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAE5D,MAAM,OAAO,GAAG,6BAA6B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAClC,OAAO,EACP,KAAK,EACL;YACE,cAAc,EAAE,UAAU,EAAE;SAC7B,CACF,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,oCAAoC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,8BAA8B,EAC9B,8HAA8H,CAC/H;SACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC;SACpD,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,UAAU,CAAC;SAC3C,MAAM,CACL,8BAA8B,EAC9B,sGAAsG,CACvG;SACA,MAAM,CACL,wBAAwB,EACxB,mGAAmG,CACpG,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAM/B,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAyB;YAClC,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/E,SAAS,EACP,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACzE,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAA;QACD,MAAM,mBAAmB,GACvB,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/E,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC1E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;YAC9D,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,uCAAuC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAqB,EAAE,EAAE;QACvD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;YACvD,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,qCAAqC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QACD,UAAU,CACR,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mBAAmB,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACtD,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7C,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,uBAAuB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,eAAe,EACf,mHAAmH,CACpH;SACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;SACzE,MAAM,CACL,6BAA6B,EAC7B,8EAA8E,CAC/E;SACA,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CACL,0BAA0B,EAC1B,2CAA2C,CAC5C,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,MAAM,qBAAqB,GACzB,eAAe,IAAI,KAAK;YACtB,CAAC,CAAC,MAAM,4BAA4B,CAAC;gBACjC,GAAG;gBACH,KAAK;gBACL,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,eAAe,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,OAAM;QACR,CAAC;QAED,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB;YAC9B,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,oBAAoB,CAAA;QAE9B,MAAM,QAAQ,GACZ,qBAAqB,EAAE,QAAQ;YAC/B,CAAC,4BAA4B;gBAC3B,CAAC,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,IAAI,CAAC,CAAA;QAEX,MAAM,UAAU,GAAoB,qBAAqB,EAAE,UAAU,IAAI;YACvE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAClC,OAAO,EACP,UAAU,EACV,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CACjC,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,OAAO,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,qBAAqB,OAAO,CAAC,EAAE,EAAE;YACjC,UAAU,OAAO,CAAC,KAAK,IAAI,WAAW,EAAE;YACxC,aAAa,OAAO,CAAC,OAAO,IAAI,WAAW,EAAE;YAC7C,GAAG,qBAAqB,CAAC;gBACvB,iBAAiB,EACf,UAAU,CAAC,iBAAiB;oBAC5B,UAAU,CAAC,sBAAsB;gBACnC,oBAAoB,EAClB,UAAU,CAAC,oBAAoB;oBAC/B,UAAU,CAAC,sBAAsB;gBACnC,QAAQ;aACT,CAAC;SACH,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,kCAAkC,CAAC,CAC5E,CAAC,MAAM,CACN,KAAK,EAAE,UAAkB,EAAE,OAAoB,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,OAAO,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,YAAY,OAAO,CAAC,EAAE,EAAE;YACxB,WAAW,OAAO,CAAC,MAAM,EAAE;YAC3B,aAAa,OAAO,CAAC,iBAAiB,EAAE;YACxC,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;SAC9C,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG,CAAC,OAAO,CACT,mCAAmC,EACnC,yCAAyC,CAC1C,CAAC,MAAM,CACN,iBAAiB,EACjB,6FAA6F,CAC9F,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAA0C,EAAE,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,CAAA;YACd,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QACF,UAAU,CAAC,CAAC,wBAAwB,SAAS,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG,CAAC,OAAO,CACT,mCAAmC,EACnC,yCAAyC,CAC1C,CAAC,MAAM,CACN,iBAAiB,EACjB,6FAA6F,CAC9F,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAA0C,EAAE,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,CAAA;YACd,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QACF,UAAU,CAAC,CAAC,wBAAwB,SAAS,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CACvC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAyD,EAAE,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;IAEF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC5E,KAAK,EAAE,KAAa,EAAE,OAAoB,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,MAAM,CAAC,0BAA0B,EAAE,cAAc,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;SAC5B,MAAM,CAAC,4BAA4B,EAAE,eAAe,CAAC;SACrD,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACpD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACnC,MAAM,CAAC,kCAAkC,EAAE,UAAU,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SACzC,MAAM,CAAC,sCAAsC,EAAE,mBAAmB,CAAC,CACvE,CAAC,MAAM,CAAC,KAAK,EAAE,OASf,EAAE,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAwB;YACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACxB,UAAU,EACR,kCAAkC,CAChC,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,UAAU,EAClB,CAAC,CACF,IAAI,EAAE;YACT,SAAS,EACP,kCAAkC,CAChC,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,SAAS,EACjB,CAAC,CACF,IAAI,EAAE;YACT,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3D,QAAQ,EACL,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAiD,IAAI,KAAK;YACnG,eAAe,EACZ,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAwD,IAAI,IAAI;YAChH,YAAY,EAAE,IAAI;SACnB,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE;YAC/C,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,mBAAmB,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,EAAE,CAAA;IAEV,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/B,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;iBAChC;aACF,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,KAAK,IAAI,EAAE,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACvF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAuCrC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,EACJ,cAAc,CACf,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAE3D,CAAA;QACD,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CjB,CAAA;AAED,SAAS,YAAY,CAAoB,OAAU;IACjD,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAiB;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,aAAa,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7C,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,MAAM,IAAI,GACR,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAA;IAEb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAED,MAAM,QAAQ,GAA+C;QAC3D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QAC5D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE;QAC9D,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE;QAChE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE;QACrD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACjD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACjD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACjE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACjE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QACzD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE;QACzD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE;QAC/D,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE;QAC/D,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACpD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE;QACrD,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACpE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE;QACpE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE;QACnD,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE;QACjD,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;QACvD,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE;KACxD,CAAA;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAQ;QACV,CAAC;QAED,OAAO;YACL,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9G,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IACvC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,KAAa;IAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB,EAAE,UAAkB;IACxE,IAAI,SAA6B,CAAA;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAEzB,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAK;QACP,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC3B,KAAK,IAAI,CAAC,CAAA;YACV,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;YACvC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAmB,EACnB,UAAkB,EAClB,aAAsB,EACtB,KAAa;IAEb,OAAO,0BAA0B,CAC/B,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,aAAa,EACrD,KAAK,CACN,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA4B;IAC1D,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACpH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAmB;IAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAC3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,UAAU,EAAE,CAAA;IACrB,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;IACrD,OAAO,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAInC;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;IAC/B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;IAC5B,MAAM,OAAO,GAAqD,EAAE,CAAA;IACpE,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,GAAG;YACV,MAAM;SACP,CAAC,CAAA;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;gBAAE,SAAQ;YACrC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,CAAA;gBACT,SAAQ;YACV,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAA;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,OAAO,CAAA;IACvC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;AAC7F,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,KAGlC;IACC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAE1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAIrC;IACC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEhE,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,4EAA4E,CAAC,IAAI,CACtF,KAAK,CAAC,IAAI,EAAE,CACb,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAG7C;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE7C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;YACzD,OAAO,OAAO,CAAC,EAAE,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IACE,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC;gBACpC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EACpD,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAK;YACP,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACnD,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,EAAE,CAAA;gBACnB,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;gBAC5B,MAAK;YACP,CAAC;YACD,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yDAAyD,aAAa,KAAK,CAC5E,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;QAC1C,OAAO,CACL,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM;YAC1C,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAC9C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,sCAAsC,aAAa,mDAAmD,CACvG,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sDAAsD,aAAa,KAAK,CACzE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAGvC;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QAC9C,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjD,OAAO,CACL,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB;YACrD,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB;YAC5D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACvD,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,uDAAuD,aAAa,4CAA4C,CACjH,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gCAAgC,aAAa,uCAAuC,aAAa,iCAAiC,CACnI,CAAA;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,mCAAmC,aAAa,uCAAuC,aAAa,+BAA+B,CACpI,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,EAI1B;IACC,IAAI,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,aAAa,KAAK,EAAE,CAAC,cAAc,GAAG,CAAA;IACrD,CAAC;IAED,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC,cAAc,CAAA;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,aAAa,CAAA;IACzB,CAAC;IAED,OAAO,EAAE,CAAC,WAAW,CAAA;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAY5B;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAA;IAEtE,OAAO;QACL,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC1F,UAAU,OAAO,cAAc,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;KAC5O,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAA8B;IACxE,OAAO,GAAG,KAAK,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;AAC3F,CAAC;AAED,SAAS,qBAAqB,CAAC,KAa9B;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAA;IAEtE,OAAO;QACL,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;QACtC,gBAAgB,KAAK,CAAC,QAAQ,uBAAuB,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,eAAe,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;QACrI,WAAW,OAAO,cAAc,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;KAC7O,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,MAAM,KAAK,GAAG;QACZ,YAAY,KAAK,CAAC,EAAE,EAAE;QACtB,WAAW,KAAK,CAAC,MAAM,EAAE;QACzB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACzC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACzC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;QAC9C,EAAE;QACF,WAAW;QACX,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAC9D,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;QAC/C,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAChE,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC;QAChE,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,uBAAuB,CAAC;QACzE,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;QACpD,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;QACpD,EAAE;QACF,cAAc;QACd,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,SAAS,IAAI,uBAAuB,CAAC;QACrF,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC;QAClD,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;QAChD,mBAAmB,CAAC,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC;QACvD,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5D,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAAC;QACzD,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC;QAC/C,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,YAAY,CAAC;QAC3D,mBAAmB,CACjB,YAAY,EACZ,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC3C;QACD,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC;QACtD,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;QACnD,EAAE;QACF,cAAc,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI;QACpC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAClC,qBAAqB,CAAC;gBACpB,KAAK,EAAE,KAAK,GAAG,CAAC;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;aAC5C,CAAC,CACH;YACH,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;QAC/B,EAAE;QACF,UAAU;QACV,eAAe,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;QACjD,gBAAgB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClD,YAAY,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC3C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzE,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;KACnD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAI9B;IACC,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,MAAM,iBAAiB,GAAG,OAAO,CAC/B,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,oBAAoB,CACtD,CAAA;IACD,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAE,YAAY,IAAI,KAAK,CAAA;IAEjE,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzC,OAAO;YACL,0GAA0G;SAC3G,CAAA;IACH,CAAC;IAED,IAAI,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9C,OAAO;YACL,yFAAyF;SAC1F,CAAA;IACH,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,QAAQ,EAAE,KAAK;YACnB,CAAC,CAAC,kCAAkC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC1D,CAAC,CAAC,4EAA4E,CACjF,CAAA;IACH,CAAC;IAED,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,QAAQ,EAAE,aAAa;YAC3B,CAAC,CAAC,oCAAoC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE;YACpE,CAAC,CAAC,+EAA+E,CACpF,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAuC,EACvC,KAAkB;IAElB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,KAI3C;IACC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAEhE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,gCAAgC;QACzC,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAClD,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;QAC7C,KAAK,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS,EAChD,CAAC;QACD,OAAO;YACL,UAAU,EAAE;gBACV,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,sBAAsB;gBAC5D,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,iBAAiB;gBAClD,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,oBAAoB;aAC/B;YAC3B,QAAQ;SACT,CAAA;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC5B,OAAO;YACL,UAAU,EAAE,EAAE;YACd,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO;YACL,UAAU,EAAE,EAAE;YACd,QAAQ;SACT,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;QAClC,OAAO,EAAE,4DAA4D;QACrE,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAC7C,GAAG,CAAC,YAAY,IAAI,eAAe;gBACjC,CAAC,CAAC,CAAC;wBACC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,2BAA2B;wBAClC,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,aAAa,EAAE;qBACtD,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,eAAe;gBACjB,CAAC,CAAC,CAAC;wBACC,KAAK,EAAE,UAAU;wBACjB,KAAK,EAAE,uBAAuB;wBAC9B,IAAI,EAAE,QAAQ,CAAC,aAAa;qBAC7B,CAAC;gBACJ,CAAC,CAAC,EAAE,CAAC;SACR;QACD,YAAY,EACV,YAAY,IAAI,eAAe;YAC7B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,eAAe;oBACf,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,MAAM;KACjB,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,UAAU,EAAE;YACV,iBAAiB,EAAE,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,OAAO;YAC1E,oBAAoB,EAClB,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU;SACnC;QAC3B,QAAQ;KACT,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,0CAA0C,CAC3C,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACxD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAyB,OAAO,CAAC,IAAI;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACxC,OAAM;IACR,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;IAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxB,IAAI,cAAkC,CAAA;IAEtC,GAAG;SACA,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;SAC9C,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;QAC3C,mFAAmF;QACnF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,cAAc,EAAE,CAAA;QACrE,IAAI,KAAK,GAAG,aAAa,IAAI,UAAU,CAAA;QAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAA;YACH,CAAC;YAED,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;gBAC7B,OAAO,EAAE,6BAA6B;gBACtC,WAAW,EAAE,aAAa;gBAC1B,QAAQ,CAAC,KAAK;oBACZ,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;wBACpC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,4BAA4B,CAAA;gBAClC,CAAC;aACF,CAAC,CAAA;YAEF,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,YAAY,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YAED,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;QAC5B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC;YAChB,GAAG,MAAM;YACT,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEJ,GAAG;SACA,OAAO,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACtD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAA;QAC5D,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEJ,GAAG;SACA,OAAO,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,WAAW,CAAC;YAChB,GAAG,MAAM;YACT,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QACF,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEJ,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAAC,MAAM,CACtE,KAAK,EAAE,OAAoB,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;QAE5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC;gBACR,GAAG,EAAE;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM,gBAAgB,GACpB,MAAM,CAAC,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;gBAC9B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,aAAa,MAAM,CAAC,OAAO,GAAG,CAAA;QAEtC,UAAU,CAAC;YACT,yBAAyB;YACzB,YAAY,gBAAgB,EAAE;YAC9B,aAAa,MAAM,CAAC,OAAO,EAAE;YAC7B,UAAU,EAAE,CAAC,SAAS,EAAE;YACxB,eAAe,iBAAiB,CAAC,EAAE,CAAC,EAAE;YACtC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,uCAAuC,EAAE,qEAAqE,CAAC;SACtH,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;SAC7E,MAAM,CAAC,4BAA4B,EAAE,gBAAgB,CAAC;SACtD,MAAM,CACL,2BAA2B,EAC3B,2EAA2E,CAC5E;SACA,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAC3D,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,cAAc,GAAG,OAKtB,CAAA;QACD,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,gBAAgB,GACpB,cAAc,CAAC,UAAU;YACvB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC;YAClD,CAAC,CAAC,cAAc,CAAC,QAAQ;gBACvB,CAAC,CAAC,MAAM,wBAAwB,CAAC;oBAC7B,GAAG;oBACH,WAAW,EAAE,cAAc,CAAC,QAAQ;iBACrC,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAA;QACZ,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CACjC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,EAAE,EAChI,EAAE,cAAc,EAAE,CACnB,CAAA;QACD,MAAM,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAEjC,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QAED,UAAU,CAAC;YACT,oBAAoB,KAAK,CAAC,EAAE,EAAE;YAC9B,YAAY,gBAAgB,EAAE,SAAS,IAAI,cAAc,EAAE;YAC3D,yDAAyD;SAC1D,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,CAAC,CAAC,MAAM,CACtF,KAAK,EAAE,OAAe,EAAE,OAAoB,EAAE,EAAE;QAC9C,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC,CAAA;IAC7C,CAAC,CACF,CAAA;IAED,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CACxE,KAAK,EAAE,OAAoB,EAAE,EAAE;QAC7B,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAA;QAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,cAAc,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,cAAc;gBACZ,CAAC,CAAC,oBAAoB,cAAc,EAAE;gBACtC,CAAC,CAAC,yBAAyB;SAC9B,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,cAAc,EAAE,sCAAsC,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,YAAY,EAAE,2BAA2B,CAAC;SAClD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SACpD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CACtD,CAAC,MAAM,CAAC,KAAK,EAAE,OAKf,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;YACxC,GAAG;YACH,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE;gBACL,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aAC1E;SACF,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QACD,UAAU,CACR,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,iBAAiB,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAC7F,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CACvC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,cAAc,GAAG,OAItB,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAqB;YAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACvE,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,UAAU,CACR,QAAQ,CAAC,GAAG,CACV,CAAC,OAAO,EAAE,EAAE,CACV,GAAG,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CACrF,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,sBAAsB,EAAE,oCAAoC,CAAC;SACrE,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACxD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CACtC,OAAO,EACP,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAC1B,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,CACjC,CAAA;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,gCAAgC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC;SACzC,MAAM,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;SAC/D,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;SAClE,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC;SACjE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CACpD,CAAC,MAAM,CAAC,KAAK,EAAE,OAMf,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAA0B;YACnC,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/C,iBAAiB,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3D,kBAAkB,EAAE,kCAAkC,CACpD,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,UAAU,EAClB,CAAC,CACF;YACD,iBAAiB,EAAE,kCAAkC,CACnD,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,SAAS,EACjB,CAAC,CACF;YACD,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;SACpD,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;YACvD,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,2BAA2B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,kBAAkB,EAClB,yGAAyG,CAC1G;SACA,MAAM,CAAC,uCAAuC,EAAE,qEAAqE,CAAC;SACtH,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,sBAAsB,EAAE,UAAU,CAAC;SAC1C,MAAM,CACL,6BAA6B,EAC7B,0CAA0C,CAC3C;SACA,MAAM,CAAC,kCAAkC,EAAE,gBAAgB,CAAC;SAC5D,MAAM,CAAC,8BAA8B,EAAE,eAAe,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SACzC,MAAM,CACL,gCAAgC,EAChC,mFAAmF,CACpF;SACA,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC;SAC7C,MAAM,CAAC,kCAAkC,EAAE,uBAAuB,CAAC,CACvE,CAAC,MAAM,CAAC,KAAK,EAAE,OASf,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAsB;YAC/B,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ;YAC5C,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,WAAW,EAAE,kCAAkC,CAC7C,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,WAAW,EACnB,CAAC,CACkC;YACrC,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3D,WAAW,EAAE,kCAAkC,CAC7C,IAAI,EACJ,gBAAgB,EAChB,OAAO,CAAC,WAAW,EACnB,CAAC,CACF;YACD,QAAQ,EACN,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAA8C;YACtF,YAAY,EACV,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/E,OAAO,EACL,OAAO,CAAC,OAAO,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAkC;YAC/D,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;SAC5D,CAAA;QACD,MAAM,wBAAwB,GAC5B,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAA;QACtE,MAAM,mBAAmB,GACvB,CAAC,OAAO,CAAC,IAAI;YACb,OAAO,CAAC,QAAQ,KAAK,KAAK;YAC1B,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAClC,OAAO,EACP,KAAK,EACL;YACE,cAAc,EAAE,UAAU,EAAE;SAC7B,CACF,CAAA;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,6BAA6B,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;QACxD,IAAI,wBAAwB,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACnE,KAAK,CAAC,IAAI,CACR,gBAAgB;gBACd,CAAC,CAAC,4CAA4C,KAAK,CAAC,YAAY,aAAa,gBAAgB,EAAE;gBAC/F,CAAC,CAAC,4CAA4C,KAAK,CAAC,YAAY,EAAE,CACrE,CAAA;QACH,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,kBAAkB,EAClB,qHAAqH,CACtH;SACA,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;SAC7E,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC;SACpD,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,6GAA6G,CAAC;SACpI,MAAM,CAAC,gCAAgC,EAAE,gEAAgE,CAAC;SAC1G,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;SAC7D,MAAM,CACL,8BAA8B,EAC9B,uEAAuE,CACxE;SACA,MAAM,CACL,oCAAoC,EACpC,+CAA+C,CAChD;SACA,MAAM,CACL,8BAA8B,EAC9B,2EAA2E,CAC5E;SACA,MAAM,CACL,wBAAwB,EACxB,wEAAwE,CACzE,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,OAWf,EAAE,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAA;QACH,CAAC;QAED,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7D,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;QACxF,MAAM,KAAK,GAAsB;YAC/B,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YACpH,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;YAC1D,SAAS,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YACnD,kBAAkB,EAChB,WAAW,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,uBAAuB,CAAC,WAAW,CAAC;YAC1C,oBAAoB,EAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;YAClD,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAA;QAED,MAAM,6BAA6B,GACjC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAE5D,MAAM,OAAO,GAAG,6BAA6B,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAClC,OAAO,EACP,KAAK,EACL;YACE,cAAc;SACf,CACF,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,oCAAoC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,8BAA8B,EAC9B,8HAA8H,CAC/H;SACA,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,6BAA6B,EAAE,aAAa,CAAC;SACpD,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,UAAU,CAAC;SAC3C,MAAM,CAAC,gCAAgC,EAAE,gEAAgE,CAAC;SAC1G,MAAM,CACL,8BAA8B,EAC9B,sGAAsG,CACvG;SACA,MAAM,CACL,wBAAwB,EACxB,mGAAmG,CACpG,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAO/B,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YACpH,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC/E,SAAS,EACP,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACzE,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAClD,CAAA;QACD,MAAM,mBAAmB,GACvB,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/E,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC1E,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;YAC9D,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,mBAAmB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,uCAAuC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;SAC5D,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAqB,EAAE,EAAE;QACvD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;YACvD,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,qCAAqC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QACvE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QACD,UAAU,CACR,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3B,mBAAmB,CAAC;YAClB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACtD,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrD,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7C,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,uBAAuB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CACN,eAAe,EACf,mHAAmH,CACpH;SACA,MAAM,CAAC,uCAAuC,EAAE,qEAAqE,CAAC;SACtH,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;SACjD,MAAM,CAAC,yBAAyB,EAAE,yCAAyC,CAAC;SAC5E,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;SACjD,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC;SACtD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;SACzE,MAAM,CACL,6BAA6B,EAC7B,8EAA8E,CAC/E;SACA,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CACL,0BAA0B,EAC1B,2CAA2C,CAC5C,CACJ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;QACrC,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzF,MAAM,KAAK,GAAG,UAAU,IAAI,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAA;QACnH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAA;YAC7C,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC/D,OAAM;YACR,CAAC;YACD,UAAU,CAAC;gBACT,GAAG,kBAAkB,CAAC,KAAK,CAAC;gBAC5B,YAAY,WAAW,EAAE;gBACzB,oBAAoB,cAAc,EAAE;aACrC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAM;QACR,CAAC;QACD,MAAM,qBAAqB,GACzB,eAAe,IAAI,KAAK;YACtB,CAAC,CAAC,MAAM,4BAA4B,CAAC;gBACjC,GAAG;gBACH,KAAK;gBACL,OAAO;aACR,CAAC;YACJ,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,eAAe,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,OAAM;QACR,CAAC;QAED,MAAM,4BAA4B,GAChC,OAAO,CAAC,sBAAsB;YAC9B,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,oBAAoB,CAAA;QAE9B,MAAM,QAAQ,GACZ,qBAAqB,EAAE,QAAQ;YAC/B,CAAC,4BAA4B;gBAC3B,CAAC,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,IAAI,CAAC,CAAA;QAEX,MAAM,UAAU,GAAoB,qBAAqB,EAAE,UAAU,IAAI;YACvE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAA;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAA;QACnD,IAAI,SAAS,KAAK,SAAS;YAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAClC,OAAO,EACP,UAAU,EACV,EAAE,cAAc,EAAE,CACnB,CAAA;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAA;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,qBAAqB,OAAO,CAAC,EAAE,EAAE;YACjC,UAAU,OAAO,CAAC,KAAK,IAAI,WAAW,EAAE;YACxC,aAAa,OAAO,CAAC,OAAO,IAAI,WAAW,EAAE;YAC7C,oBAAoB,cAAc,EAAE;YACpC,GAAG,qBAAqB,CAAC;gBACvB,iBAAiB,EACf,UAAU,CAAC,iBAAiB;oBAC5B,UAAU,CAAC,sBAAsB;gBACnC,oBAAoB,EAClB,UAAU,CAAC,oBAAoB;oBAC/B,UAAU,CAAC,sBAAsB;gBACnC,QAAQ;aACT,CAAC;SACH,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,6BAA6B,EAAE,kDAAkD,CAAC;SAC1F,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;SACvE,MAAM,CAAC,6BAA6B,EAAE,gDAAgD,CAAC;SACvF,MAAM,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,wCAAwC,CAAC;SACzD,MAAM,CAAC,YAAY,EAAE,+CAA+C,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC,CACtD,CAAC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAA4B,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACnD,MAAM,YAAY,GAAG,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAChE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;QACxF,CAAC;QACD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAA;QAC3E,MAAM,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;QAC/D,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC9E,CAAC;QACD,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAA;QAC/H,CAAC;QAED,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;QACrF,CAAC;QACD,MAAM,oBAAoB,GAAG,cAAc;YACzC,CAAC,CAAC,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACpE,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,WAAW,GAAG,oBAAoB;YACtC,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAA;QACb,IACE,YAAY,CAAC,IAAI,KAAK,IAAI;YAC1B,CAAC,WAAW,EAAE,MAAM,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAClE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAA;QAC7C,MAAM,OAAO,GAAG;YACd,SAAS;YACT,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,YAAY,CAAC,IAAI;YACzB,oBAAoB;YACpB,kBAAkB,EAAE,WAAW,EAAE,OAAO;YACxC,WAAW;YACX,cAAc;SACf,CAAA;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACnC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;YACvC,OAAM;QACR,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC;gBACT,YAAY,SAAS,EAAE;gBACvB,aAAa,OAAO,CAAC,OAAO,EAAE;gBAC9B,aAAa,OAAO,CAAC,iBAAiB,EAAE;gBACxC,QAAQ,OAAO,CAAC,WAAW,EAAE;gBAC7B,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;gBAC7C,WAAW,OAAO,CAAC,MAAM,EAAE;gBAC3B,GAAG,CAAC,oBAAoB;oBACtB,CAAC,CAAC;wBACE,sBAAsB,oBAAoB,EAAE;wBAC5C,6BAA6B,OAAO,CAAC,kBAAkB,EAAE;qBAC1D;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,YAAY,WAAW,EAAE;gBACzB,oBAAoB,cAAc,EAAE;aACrC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;gBAC9B,OAAO,EAAE,4CAA4C;gBACrD,MAAM,EAAE,sBAAsB;gBAC9B,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE,KAAK;aACpB,CAAC,CAAA;YACF,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACvC,OAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CACpC,SAAS,EACT,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,oBAAoB,EAAE,EACnD,EAAE,cAAc,EAAE,CACnB,CAAA;QACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,MAAM,CAAC,MAAM,KAAK,WAAW;gBAC3B,CAAC,CAAC,sBAAsB,SAAS,EAAE;gBACnC,CAAC,CAAC,kCAAkC,SAAS,EAAE;YACjD,oBAAoB,cAAc,EAAE;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,iDAAiD,CAAC,CAC3F,CAAC,MAAM,CACN,KAAK,EAAE,UAAkB,EAAE,OAAoB,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAC/C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,OAAO,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,YAAY,OAAO,CAAC,EAAE,EAAE;YACxB,WAAW,OAAO,CAAC,MAAM,EAAE;YAC3B,aAAa,OAAO,CAAC,iBAAiB,EAAE;YACxC,UAAU,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;SAC9C,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG,CAAC,OAAO,CACT,mCAAmC,EACnC,wDAAwD,CACzD,CAAC,MAAM,CACN,iBAAiB,EACjB,6FAA6F,CAC9F,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAA0C,EAAE,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,CAAA;YACd,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QACF,UAAU,CAAC,CAAC,wBAAwB,SAAS,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG,CAAC,OAAO,CACT,mCAAmC,EACnC,wDAAwD,CACzD,CAAC,MAAM,CACN,iBAAiB,EACjB,6FAA6F,CAC9F,CACF,CAAC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAA0C,EAAE,EAAE;QAChF,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,GAAG,CAAC,CAAA;YACd,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;QACF,UAAU,CAAC,CAAC,wBAAwB,SAAS,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,YAAY,CACV,GAAG;SACA,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC;SACrC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CACvC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAyD,EAAE,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACzD,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;IAEF,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC9E,KAAK,EAAE,UAAkB,EAAE,OAAoB,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QAClD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,UAAU,CAAC;YACT,YAAY,QAAQ,CAAC,EAAE,EAAE;YACzB,iBAAiB,QAAQ,CAAC,SAAS,EAAE;YACrC,QAAQ,QAAQ,CAAC,GAAG,EAAE;YACtB,kBAAkB,QAAQ,CAAC,UAAU,EAAE;YACvC,mBAAmB,QAAQ,CAAC,SAAS,EAAE;SACxC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC5E,KAAK,EAAE,KAAa,EAAE,OAAoB,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC,CACF,CAAA;IAED,YAAY,CACV,GAAG;SACA,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;SAC7E,MAAM,CAAC,0BAA0B,EAAE,cAAc,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC;SAC5B,MAAM,CAAC,4BAA4B,EAAE,eAAe,CAAC;SACrD,MAAM,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACpD,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACnC,MAAM,CAAC,kCAAkC,EAAE,UAAU,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,QAAQ,CAAC;SACzC,MAAM,CAAC,sCAAsC,EAAE,mBAAmB,CAAC,CACvE,CAAC,MAAM,CAAC,KAAK,EAAE,OASf,EAAE,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAA;QACH,CAAC;QAED,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAwB;YACjC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;YACpC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACxB,UAAU,EACR,kCAAkC,CAChC,IAAI,EACJ,eAAe,EACf,OAAO,CAAC,UAAU,EAClB,CAAC,CACF,IAAI,EAAE;YACT,SAAS,EACP,kCAAkC,CAChC,IAAI,EACJ,cAAc,EACd,OAAO,CAAC,SAAS,EACjB,CAAC,CACF,IAAI,EAAE;YACT,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3D,QAAQ,EACL,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAiD,IAAI,KAAK;YACnG,eAAe,EACZ,qBAAqB,CAAC,OAAO,CAAC,eAAe,CAAwD,IAAI,IAAI;YAChH,YAAY,EAAE,IAAI;SACnB,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE;YAC/C,cAAc;SACf,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnB,OAAM;QACR,CAAC;QACD,UAAU,CAAC,CAAC,mBAAmB,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,EAAE,CAAA;IAEV,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/B,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC;gBACR,KAAK,EAAE;oBACL,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;iBAChC;gBACD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,cAAc,IAAI,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -25,7 +25,7 @@ export function getErrorMessage(error) {
|
|
|
25
25
|
if (error.code === 'plan_required') {
|
|
26
26
|
const base = error.message ||
|
|
27
27
|
'Tu plan actual no incluye la API pública de FactuCat.';
|
|
28
|
-
const upgrade = 'Actualiza a un plan con API (Miau Pro o
|
|
28
|
+
const upgrade = 'Actualiza a un plan con API (Miau Pro o Plan API) desde Suscripción en la configuración de FactuCat: https://factucat.com/settings/subscription';
|
|
29
29
|
const requestId = error.requestId && error.requestId !== 'unknown'
|
|
30
30
|
? ` (requestId: ${error.requestId})`
|
|
31
31
|
: '';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@factucat/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "CLI for Mexican CFDI 4.0 invoicing with FactuCat Cloud",
|
|
6
6
|
"type": "module",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"dist"
|
|
31
31
|
],
|
|
32
32
|
"bin": {
|
|
33
|
-
"factucat": "./dist/
|
|
33
|
+
"factucat": "./dist/bin.js"
|
|
34
34
|
},
|
|
35
35
|
"main": "./dist/index.js",
|
|
36
36
|
"types": "./dist/index.d.ts",
|
|
@@ -41,18 +41,19 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@types/node": "^24.
|
|
44
|
+
"@types/node": "^24.19.2"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@clack/prompts": "^1.1
|
|
48
|
-
"
|
|
49
|
-
"@factucat/
|
|
50
|
-
"
|
|
47
|
+
"@clack/prompts": "^1.8.1",
|
|
48
|
+
"@factucat/public-api-contracts": "0.4.0",
|
|
49
|
+
"@factucat/sdk": "0.4.0",
|
|
50
|
+
"cac": "^7.1.0"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "tsc -p tsconfig.build.json",
|
|
54
54
|
"lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/**/*.d.ts\" --ignore-pattern \"src/**/*.test.ts\"",
|
|
55
|
-
"factucat": "tsx src/
|
|
56
|
-
"test": "vitest run"
|
|
55
|
+
"factucat": "tsx src/bin.ts",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
57
58
|
}
|
|
58
59
|
}
|