@darwinso/cli 0.3.0 → 0.4.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 +9 -6
- package/dist/index.js +226 -186
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
# Darwin CLI
|
|
2
2
|
|
|
3
3
|
The official command-line client for the unified Darwin platform. Its public
|
|
4
|
-
commands cover
|
|
4
|
+
commands cover Search, Act, Host, and Account administration.
|
|
5
|
+
|
|
6
|
+
The CLI uses the production v2 contract for Search, Act, Host, and Account
|
|
7
|
+
administration. `host capabilities` uses the existing catalog adapter.
|
|
5
8
|
|
|
6
9
|
## Install
|
|
7
10
|
|
|
@@ -44,12 +47,12 @@ darwin deals action deal_123 send
|
|
|
44
47
|
darwin deals payments deal_123
|
|
45
48
|
|
|
46
49
|
darwin supply businesses list
|
|
47
|
-
darwin
|
|
50
|
+
darwin host capabilities list ai_123
|
|
48
51
|
darwin supply orders list ai_123
|
|
49
52
|
|
|
50
|
-
darwin
|
|
51
|
-
darwin
|
|
52
|
-
darwin
|
|
53
|
+
darwin applications list
|
|
54
|
+
darwin applications usage app_123 --days 30
|
|
55
|
+
darwin applications webhooks list app_123
|
|
53
56
|
```
|
|
54
57
|
|
|
55
58
|
Darwin handles discovery, coordination, and execution behind the agent. Every
|
|
@@ -72,4 +75,4 @@ The OpenAPI contract is synchronized from
|
|
|
72
75
|
[`darwin-studios/darwin`](https://github.com/darwin-studios/darwin). Do not edit
|
|
73
76
|
`openapi.json` directly in the public CLI repository.
|
|
74
77
|
|
|
75
|
-
Documentation: [
|
|
78
|
+
Documentation: [darwin.so/docs/cli](https://darwin.so/docs/cli)
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
3
3
|
import { chmod, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
5
|
import { dirname, join } from 'node:path';
|
|
6
|
-
const defaultBaseUrl = 'https://api.darwin.so/api/
|
|
6
|
+
const defaultBaseUrl = 'https://api.darwin.so/api/v2';
|
|
7
7
|
const configRoot = process.env.XDG_CONFIG_HOME?.trim() || join(homedir(), '.config');
|
|
8
8
|
const configPath = join(configRoot, 'darwin', 'config.json');
|
|
9
9
|
class DarwinApiError extends Error {
|
|
@@ -26,9 +26,11 @@ async function readConfig() {
|
|
|
26
26
|
}
|
|
27
27
|
async function credentials() {
|
|
28
28
|
const config = await readConfig();
|
|
29
|
+
const baseUrl = process.env.DARWIN_API_URL?.trim() || config.baseUrl?.trim() || defaultBaseUrl;
|
|
29
30
|
return {
|
|
30
31
|
apiKey: process.env.DARWIN_API_KEY?.trim() || config.apiKey?.trim(),
|
|
31
|
-
baseUrl
|
|
32
|
+
baseUrl,
|
|
33
|
+
v2BaseUrl: /\/v2\/?$/.test(baseUrl) ? baseUrl : baseUrl.replace(/\/v1\/?$/, '/v2'),
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
async function request(apiKey, baseUrl, path, options = {}) {
|
|
@@ -45,7 +47,7 @@ async function request(apiKey, baseUrl, path, options = {}) {
|
|
|
45
47
|
Authorization: `Bearer ${apiKey}`,
|
|
46
48
|
'X-Darwin-Access-Point': 'cli',
|
|
47
49
|
'X-Darwin-Client': '@darwinso/cli',
|
|
48
|
-
'X-Darwin-Client-Version': '0.
|
|
50
|
+
'X-Darwin-Client-Version': '0.4.0',
|
|
49
51
|
...(options.body === undefined ? {} : { 'Content-Type': 'application/json' }),
|
|
50
52
|
...options.headers,
|
|
51
53
|
},
|
|
@@ -235,6 +237,18 @@ function mergeFields(body, fields) {
|
|
|
235
237
|
withOptionalString(body, key, value);
|
|
236
238
|
return body;
|
|
237
239
|
}
|
|
240
|
+
function normalizeCapabilitySelections(body) {
|
|
241
|
+
if (body.capabilitySelections === undefined && Array.isArray(body.listingSelections)) {
|
|
242
|
+
body.capabilitySelections = body.listingSelections.map((selection) => {
|
|
243
|
+
if (!selection || typeof selection !== 'object' || Array.isArray(selection))
|
|
244
|
+
return selection;
|
|
245
|
+
const { listingId, ...rest } = selection;
|
|
246
|
+
return { ...rest, capabilityId: listingId };
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
delete body.listingSelections;
|
|
250
|
+
return body;
|
|
251
|
+
}
|
|
238
252
|
function redact(value) {
|
|
239
253
|
if (!value)
|
|
240
254
|
return null;
|
|
@@ -293,13 +307,11 @@ Usage:
|
|
|
293
307
|
darwin transactions <list|get|action> [...]
|
|
294
308
|
darwin outcomes <list|get|evidence> [...]
|
|
295
309
|
darwin supply businesses <list|get|create|update> [...]
|
|
296
|
-
darwin
|
|
310
|
+
darwin host capabilities <list|get|create|update|archive> [...]
|
|
297
311
|
darwin supply orders <list|get> [...]
|
|
298
312
|
darwin supply earnings get <business-id>
|
|
299
|
-
darwin
|
|
300
|
-
darwin
|
|
301
|
-
darwin connect enrollment <list|create|revoke> [...]
|
|
302
|
-
darwin connect webhooks <list|create|revoke|deliveries|retry> [...]
|
|
313
|
+
darwin applications <list|get|create|update|archive|usage> [...]
|
|
314
|
+
darwin applications webhooks <list|create|revoke|deliveries|retry> [...]
|
|
303
315
|
|
|
304
316
|
Options:
|
|
305
317
|
--ai <id> Explicitly target an accessible AI
|
|
@@ -311,33 +323,22 @@ Set DARWIN_API_KEY and optionally DARWIN_API_URL instead of storing local
|
|
|
311
323
|
configuration when running in CI.
|
|
312
324
|
|
|
313
325
|
Run "darwin <resource> --help" for examples in the documentation:
|
|
314
|
-
https://
|
|
326
|
+
https://darwin.so/docs/cli
|
|
315
327
|
`);
|
|
316
328
|
}
|
|
317
329
|
async function main() {
|
|
318
330
|
let args = process.argv.slice(2);
|
|
331
|
+
// Keep the old command spelling as an input alias, but route and describe
|
|
332
|
+
// capabilities through Host from here on.
|
|
333
|
+
if (args[0] === 'supply' && args[1] === 'listings') {
|
|
334
|
+
args = ['host', 'capabilities', ...args.slice(2)];
|
|
335
|
+
}
|
|
319
336
|
if (args[0] === 'agents')
|
|
320
337
|
args[0] = 'ais';
|
|
321
338
|
if (args[0] === 'agent')
|
|
322
339
|
args[0] = 'ai';
|
|
323
|
-
if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'agents')
|
|
324
|
-
args[1] = 'ais';
|
|
325
|
-
if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'link-agent')
|
|
326
|
-
args[1] = 'link-ai';
|
|
327
|
-
if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'unlink-agent')
|
|
328
|
-
args[1] = 'unlink-ai';
|
|
329
340
|
args = args.map((value) => (value === '--agent' ? '--ai' : value === '--exclude-agent' ? '--exclude-ai' : value));
|
|
330
|
-
if (args[0] === '
|
|
331
|
-
args = ['connect', args[2] ?? 'list', ...args.slice(3)];
|
|
332
|
-
}
|
|
333
|
-
else if (args[0] === 'connect' && args[1] === 'users' && args[2] === 'resolve') {
|
|
334
|
-
args = ['connect', 'resolve-user', ...args.slice(3)];
|
|
335
|
-
}
|
|
336
|
-
else if (args[0] === 'connect' && args[1] === 'enrollment') {
|
|
337
|
-
const operation = args[2] === 'create' ? 'create-enrollment' : args[2] === 'revoke' ? 'revoke-enrollment' : 'enrollments';
|
|
338
|
-
args = ['connect', operation, ...args.slice(3)];
|
|
339
|
-
}
|
|
340
|
-
else if (args[0] === 'connect' && args[1] === 'webhooks') {
|
|
341
|
+
if (args[0] === 'applications' && args[1] === 'webhooks') {
|
|
341
342
|
const operation = args[2] === 'create'
|
|
342
343
|
? 'create-webhook'
|
|
343
344
|
: args[2] === 'revoke'
|
|
@@ -347,7 +348,7 @@ async function main() {
|
|
|
347
348
|
: args[2] === 'retry'
|
|
348
349
|
? 'retry-webhook'
|
|
349
350
|
: 'webhooks';
|
|
350
|
-
args = ['
|
|
351
|
+
args = ['applications', operation, ...args.slice(3)];
|
|
351
352
|
}
|
|
352
353
|
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
353
354
|
help();
|
|
@@ -376,20 +377,20 @@ async function main() {
|
|
|
376
377
|
if (!auth.apiKey) {
|
|
377
378
|
throw new Error('No API key found. Run darwin configure --api-key <key> or set DARWIN_API_KEY.');
|
|
378
379
|
}
|
|
379
|
-
const resource = args[0]
|
|
380
|
-
const operation =
|
|
380
|
+
const resource = args[0];
|
|
381
|
+
const operation = args[1];
|
|
381
382
|
let result;
|
|
382
383
|
if (resource === 'account') {
|
|
383
|
-
result = await request(auth.apiKey, auth.
|
|
384
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/account');
|
|
384
385
|
}
|
|
385
386
|
else if (resource === 'ais' && operation === 'skills') {
|
|
386
|
-
result = await request(auth.apiKey, auth.
|
|
387
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/skills');
|
|
387
388
|
}
|
|
388
389
|
else if (resource === 'ais' && operation === 'integrations') {
|
|
389
|
-
result = await request(auth.apiKey, auth.
|
|
390
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/integrations');
|
|
390
391
|
}
|
|
391
392
|
else if (resource === 'requests' && operation === 'list') {
|
|
392
|
-
result = await request(auth.apiKey, auth.
|
|
393
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/requests', {
|
|
393
394
|
query: {
|
|
394
395
|
...aiQuery(args),
|
|
395
396
|
limit: integerOption(args, '--limit'),
|
|
@@ -401,10 +402,9 @@ async function main() {
|
|
|
401
402
|
if (action !== 'ACCEPT' && action !== 'DECLINE') {
|
|
402
403
|
throw new Error('Request action must be accept or decline.');
|
|
403
404
|
}
|
|
404
|
-
result = await request(auth.apiKey, auth.
|
|
405
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/requests/${id(args[2], 'Pass a request ID after "darwin requests action".')}/${action.toLowerCase()}`, {
|
|
405
406
|
method: 'POST',
|
|
406
407
|
body: {
|
|
407
|
-
action,
|
|
408
408
|
...(option(args, '--ai') ? { aiId: option(args, '--ai') } : {}),
|
|
409
409
|
},
|
|
410
410
|
headers: idempotencyHeaders(args),
|
|
@@ -415,7 +415,7 @@ async function main() {
|
|
|
415
415
|
if (!content) {
|
|
416
416
|
throw new Error('Pass a message after "darwin conversations send".');
|
|
417
417
|
}
|
|
418
|
-
result = await request(auth.apiKey, auth.
|
|
418
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/ai/messages', {
|
|
419
419
|
method: 'POST',
|
|
420
420
|
body: {
|
|
421
421
|
content,
|
|
@@ -425,7 +425,7 @@ async function main() {
|
|
|
425
425
|
});
|
|
426
426
|
}
|
|
427
427
|
else if (resource === 'conversation') {
|
|
428
|
-
result = await request(auth.apiKey, auth.
|
|
428
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/ai/conversation', {
|
|
429
429
|
query: {
|
|
430
430
|
...aiQuery(args),
|
|
431
431
|
limit: integerOption(args, '--limit'),
|
|
@@ -434,10 +434,10 @@ async function main() {
|
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
436
|
else if (resource === 'ais' && operation === 'list') {
|
|
437
|
-
result = await request(auth.apiKey, auth.
|
|
437
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais');
|
|
438
438
|
}
|
|
439
439
|
else if (resource === 'ais' && operation === 'get') {
|
|
440
|
-
result = await request(auth.apiKey, auth.
|
|
440
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais get".')}`);
|
|
441
441
|
}
|
|
442
442
|
else if (resource === 'ais' && operation === 'create') {
|
|
443
443
|
const body = mergeFields(dataOption(args), [
|
|
@@ -450,7 +450,7 @@ async function main() {
|
|
|
450
450
|
if (typeof body.name !== 'string' || !body.name.trim()) {
|
|
451
451
|
throw new Error('Pass an AI name with --name or in --data.');
|
|
452
452
|
}
|
|
453
|
-
result = await request(auth.apiKey, auth.
|
|
453
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais', { method: 'POST', body });
|
|
454
454
|
}
|
|
455
455
|
else if (resource === 'ais' && operation === 'update') {
|
|
456
456
|
const body = mergeFields(dataOption(args), [
|
|
@@ -463,10 +463,10 @@ async function main() {
|
|
|
463
463
|
if (Object.keys(body).length === 0) {
|
|
464
464
|
throw new Error('Pass at least one editable field or --data.');
|
|
465
465
|
}
|
|
466
|
-
result = await request(auth.apiKey, auth.
|
|
466
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais update".')}`, { method: 'PATCH', body });
|
|
467
467
|
}
|
|
468
468
|
else if (resource === 'ais' && operation === 'activity') {
|
|
469
|
-
result = await request(auth.apiKey, auth.
|
|
469
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais activity".')}/activity`, {
|
|
470
470
|
query: {
|
|
471
471
|
limit: integerOption(args, '--limit'),
|
|
472
472
|
cursor: option(args, '--cursor'),
|
|
@@ -474,10 +474,10 @@ async function main() {
|
|
|
474
474
|
});
|
|
475
475
|
}
|
|
476
476
|
else if (resource === 'ais' && operation === 'members') {
|
|
477
|
-
result = await request(auth.apiKey, auth.
|
|
477
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais members".')}/members`);
|
|
478
478
|
}
|
|
479
479
|
else if (resource === 'ais' && operation === 'invite') {
|
|
480
|
-
result = await request(auth.apiKey, auth.
|
|
480
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais invite".')}/invitations`, {
|
|
481
481
|
method: 'POST',
|
|
482
482
|
body: {
|
|
483
483
|
email: requiredOption(args, '--email'),
|
|
@@ -486,22 +486,22 @@ async function main() {
|
|
|
486
486
|
});
|
|
487
487
|
}
|
|
488
488
|
else if (resource === 'ais' && operation === 'invitations') {
|
|
489
|
-
result = await request(auth.apiKey, auth.
|
|
489
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais invitations".')}/invitations`);
|
|
490
490
|
}
|
|
491
491
|
else if (resource === 'ais' && operation === 'revoke-invitation') {
|
|
492
|
-
result = await request(auth.apiKey, auth.
|
|
492
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/invitations/${id(args[3], 'Pass an invitation ID.')}`, { method: 'DELETE' });
|
|
493
493
|
}
|
|
494
494
|
else if (resource === 'ais' && operation === 'update-member') {
|
|
495
|
-
result = await request(auth.apiKey, auth.
|
|
495
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, {
|
|
496
496
|
method: 'PATCH',
|
|
497
497
|
body: { role: requiredOption(args, '--role') },
|
|
498
498
|
});
|
|
499
499
|
}
|
|
500
500
|
else if (resource === 'ais' && operation === 'remove-member') {
|
|
501
|
-
result = await request(auth.apiKey, auth.
|
|
501
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, { method: 'DELETE' });
|
|
502
502
|
}
|
|
503
503
|
else if (resource === 'ais' && operation === 'policies') {
|
|
504
|
-
result = await request(auth.apiKey, auth.
|
|
504
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais policies".')}/access-policies`);
|
|
505
505
|
}
|
|
506
506
|
else if (resource === 'ais' && operation === 'create-policy') {
|
|
507
507
|
const body = mergeFields(dataOption(args), [
|
|
@@ -512,7 +512,7 @@ async function main() {
|
|
|
512
512
|
if (typeof body.name !== 'string' || typeof body.visibility !== 'string') {
|
|
513
513
|
throw new Error('Pass --name and --visibility, or provide both in --data.');
|
|
514
514
|
}
|
|
515
|
-
result = await request(auth.apiKey, auth.
|
|
515
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/access-policies`, {
|
|
516
516
|
method: 'POST',
|
|
517
517
|
body,
|
|
518
518
|
});
|
|
@@ -525,16 +525,16 @@ async function main() {
|
|
|
525
525
|
]);
|
|
526
526
|
if (Object.keys(body).length === 0)
|
|
527
527
|
throw new Error('Pass editable policy fields or --data.');
|
|
528
|
-
result = await request(auth.apiKey, auth.
|
|
528
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/access-policies/${id(args[3], 'Pass a policy ID.')}`, { method: 'PATCH', body });
|
|
529
529
|
}
|
|
530
530
|
else if (resource === 'ais' && operation === 'conversations') {
|
|
531
|
-
result = await request(auth.apiKey, auth.
|
|
531
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/ais/${id(args[2], 'Pass an AI ID after "darwin ais conversations".')}/conversations`);
|
|
532
532
|
}
|
|
533
533
|
else if (resource === 'ais' && operation === 'create-conversation') {
|
|
534
|
-
result = await request(auth.apiKey, auth.
|
|
534
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/ais/${id(args[2], 'Pass an AI ID after "darwin ais create-conversation".')}/conversations`, { method: 'POST' });
|
|
535
535
|
}
|
|
536
536
|
else if (resource === 'conversations' && operation === 'get') {
|
|
537
|
-
result = await request(auth.apiKey, auth.
|
|
537
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/conversations/${id(args[2], 'Pass a conversation ID after "darwin conversations get".')}`, {
|
|
538
538
|
query: {
|
|
539
539
|
limit: integerOption(args, '--limit'),
|
|
540
540
|
cursor: option(args, '--cursor'),
|
|
@@ -545,19 +545,19 @@ async function main() {
|
|
|
545
545
|
const content = textArgument(args, 3, ['--request-id']);
|
|
546
546
|
if (!content)
|
|
547
547
|
throw new Error('Pass message text after the conversation ID.');
|
|
548
|
-
result = await request(auth.apiKey, auth.
|
|
548
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/conversations/${id(args[2], 'Pass a conversation ID.')}/messages`, {
|
|
549
549
|
method: 'POST',
|
|
550
550
|
body: { content, requestId: option(args, '--request-id') },
|
|
551
551
|
});
|
|
552
552
|
}
|
|
553
553
|
else if (resource === 'conversations' && (operation === 'list' || operation === 'create')) {
|
|
554
|
-
const path = `/ais/${id(args[2], `Pass an AI ID after "darwin conversations ${operation}".`)}/conversations`;
|
|
555
|
-
result = await request(auth.apiKey, auth.
|
|
554
|
+
const path = `/act/ais/${id(args[2], `Pass an AI ID after "darwin conversations ${operation}".`)}/conversations`;
|
|
555
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, path, {
|
|
556
556
|
method: operation === 'create' ? 'POST' : 'GET',
|
|
557
557
|
});
|
|
558
558
|
}
|
|
559
559
|
else if ((resource === 'tasks' || resource === 'goals') && operation === 'list') {
|
|
560
|
-
result = await request(auth.apiKey, auth.
|
|
560
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/goals', {
|
|
561
561
|
query: {
|
|
562
562
|
...aiQuery(args),
|
|
563
563
|
mode: enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT']),
|
|
@@ -565,14 +565,13 @@ async function main() {
|
|
|
565
565
|
});
|
|
566
566
|
}
|
|
567
567
|
else if ((resource === 'tasks' || resource === 'goals') && operation === 'get') {
|
|
568
|
-
result = await request(auth.apiKey, auth.
|
|
568
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} get".`)}`, { query: aiQuery(args) });
|
|
569
569
|
}
|
|
570
570
|
else if ((resource === 'tasks' || resource === 'goals') && operation === 'create') {
|
|
571
571
|
const body = mergeFields(dataOption(args), [
|
|
572
572
|
['aiId', option(args, '--ai')],
|
|
573
573
|
['intent', option(args, '--intent')],
|
|
574
574
|
['title', option(args, '--title')],
|
|
575
|
-
['kind', option(args, '--kind')?.toUpperCase()],
|
|
576
575
|
['mode', enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT'])],
|
|
577
576
|
['type', enumOption(args, '--type', ['DEMAND', 'SUPPLY', 'CHAT'])],
|
|
578
577
|
['lifecycleStatus', enumOption(args, '--status', ['DRAFT', 'ACTIVE', 'PAUSED', 'COMPLETED', 'ARCHIVED'])],
|
|
@@ -581,7 +580,32 @@ async function main() {
|
|
|
581
580
|
if (typeof body.intent !== 'string' || !body.intent.trim()) {
|
|
582
581
|
throw new Error('Pass a goal intent with --intent or in --data.');
|
|
583
582
|
}
|
|
584
|
-
|
|
583
|
+
if (option(args, '--kind') || body.kind !== undefined) {
|
|
584
|
+
throw new Error('Goal kind is not supported by v2. Use --mode BUY, SELL, or CHAT.');
|
|
585
|
+
}
|
|
586
|
+
if (body.type !== undefined) {
|
|
587
|
+
const type = String(body.type).toUpperCase();
|
|
588
|
+
if (!['DEMAND', 'SUPPLY', 'CHAT'].includes(type))
|
|
589
|
+
throw new Error('Goal type must be DEMAND, SUPPLY, or CHAT.');
|
|
590
|
+
const mode = type === 'DEMAND' ? 'BUY' : type === 'SUPPLY' ? 'SELL' : 'CHAT';
|
|
591
|
+
if (body.mode !== undefined && body.mode !== mode)
|
|
592
|
+
throw new Error('Goal --type and --mode disagree.');
|
|
593
|
+
body.mode = mode;
|
|
594
|
+
delete body.type;
|
|
595
|
+
}
|
|
596
|
+
if (body.agentId !== undefined) {
|
|
597
|
+
if (body.aiId !== undefined && body.aiId !== body.agentId)
|
|
598
|
+
throw new Error('Goal AI IDs disagree.');
|
|
599
|
+
body.aiId = body.agentId;
|
|
600
|
+
delete body.agentId;
|
|
601
|
+
}
|
|
602
|
+
if (body.listingIds !== undefined) {
|
|
603
|
+
if (body.capabilityIds !== undefined)
|
|
604
|
+
throw new Error('Pass capabilityIds only once.');
|
|
605
|
+
body.capabilityIds = body.listingIds;
|
|
606
|
+
delete body.listingIds;
|
|
607
|
+
}
|
|
608
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/goals', {
|
|
585
609
|
method: 'POST',
|
|
586
610
|
body,
|
|
587
611
|
});
|
|
@@ -591,33 +615,44 @@ async function main() {
|
|
|
591
615
|
['intent', option(args, '--intent')],
|
|
592
616
|
['title', option(args, '--title')],
|
|
593
617
|
['mode', enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT'])],
|
|
594
|
-
['type', enumOption(args, '--type', ['DEMAND', 'SUPPLY', 'CHAT'])],
|
|
595
618
|
['lifecycleStatus', enumOption(args, '--status', ['DRAFT', 'ACTIVE', 'PAUSED', 'COMPLETED', 'ARCHIVED'])],
|
|
596
619
|
['visibility', enumOption(args, '--visibility', ['PUBLIC', 'RESTRICTED', 'PRIVATE'])],
|
|
597
620
|
['pausedUntil', option(args, '--paused-until')],
|
|
598
621
|
]);
|
|
622
|
+
if (args.includes('--type') || body.type !== undefined) {
|
|
623
|
+
const type = String(option(args, '--type') ?? body.type).toUpperCase();
|
|
624
|
+
if (!['DEMAND', 'SUPPLY', 'CHAT'].includes(type))
|
|
625
|
+
throw new Error('Goal type must be DEMAND, SUPPLY, or CHAT.');
|
|
626
|
+
const mode = type === 'DEMAND' ? 'BUY' : type === 'SUPPLY' ? 'SELL' : 'CHAT';
|
|
627
|
+
if (body.mode !== undefined && body.mode !== mode)
|
|
628
|
+
throw new Error('Goal --type and --mode disagree.');
|
|
629
|
+
body.mode = mode;
|
|
630
|
+
delete body.type;
|
|
631
|
+
}
|
|
599
632
|
if (Object.keys(body).length === 0)
|
|
600
633
|
throw new Error('Pass editable goal fields or --data.');
|
|
601
|
-
result = await request(auth.apiKey, auth.
|
|
634
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} update".`)}`, { method: 'PATCH', body });
|
|
602
635
|
}
|
|
603
636
|
else if ((resource === 'tasks' || resource === 'goals') && operation === 'action') {
|
|
604
|
-
const action = args[3]?.
|
|
605
|
-
if (!action || !['
|
|
637
|
+
const action = args[3]?.toLowerCase();
|
|
638
|
+
if (!action || !['pause', 'resume', 'complete', 'archive'].includes(action)) {
|
|
606
639
|
throw new Error('Action must be pause, resume, complete, or archive.');
|
|
607
640
|
}
|
|
608
|
-
result = await request(auth.apiKey, auth.
|
|
641
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} action".`)}/${action}`, {
|
|
609
642
|
method: 'POST',
|
|
610
|
-
|
|
643
|
+
...(action === 'pause' && option(args, '--paused-until')
|
|
644
|
+
? { body: { pausedUntil: option(args, '--paused-until') } }
|
|
645
|
+
: {}),
|
|
611
646
|
});
|
|
612
647
|
}
|
|
613
648
|
else if ((resource === 'tasks' || resource === 'goals') && operation === 'publish') {
|
|
614
|
-
result = await request(auth.apiKey, auth.
|
|
649
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} publish".`)}/publication-requests`, { method: 'POST', body: dataOption(args), headers: idempotencyHeaders(args) });
|
|
615
650
|
}
|
|
616
651
|
else if (resource === 'deals' && operation === 'list') {
|
|
617
|
-
result = await request(auth.apiKey, auth.
|
|
652
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { query: aiQuery(args) });
|
|
618
653
|
}
|
|
619
654
|
else if (resource === 'deals' && operation === 'get') {
|
|
620
|
-
result = await request(auth.apiKey, auth.
|
|
655
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals get".')}`);
|
|
621
656
|
}
|
|
622
657
|
else if (resource === 'deals' && operation === 'create') {
|
|
623
658
|
const body = mergeFields(dataOption(args), [
|
|
@@ -629,10 +664,21 @@ async function main() {
|
|
|
629
664
|
['taskId', option(args, '--task')],
|
|
630
665
|
['visibility', enumOption(args, '--visibility', ['PUBLIC', 'RESTRICTED', 'PRIVATE'])],
|
|
631
666
|
]);
|
|
632
|
-
if (
|
|
667
|
+
if (body.mode === undefined && body.direction !== undefined) {
|
|
668
|
+
if (body.direction !== 'DEMAND' && body.direction !== 'SUPPLY') {
|
|
669
|
+
throw new Error('Deal direction must be DEMAND or SUPPLY.');
|
|
670
|
+
}
|
|
671
|
+
body.mode = body.direction === 'DEMAND' ? 'BUY' : 'SELL';
|
|
672
|
+
}
|
|
673
|
+
if (body.goalId === undefined && body.taskId !== undefined)
|
|
674
|
+
body.goalId = body.taskId;
|
|
675
|
+
delete body.direction;
|
|
676
|
+
delete body.taskId;
|
|
677
|
+
normalizeCapabilitySelections(body);
|
|
678
|
+
if (typeof body.mode !== 'string' || typeof body.title !== 'string') {
|
|
633
679
|
throw new Error('Pass --mode and --title, or provide both in --data. --direction remains a deprecated alias.');
|
|
634
680
|
}
|
|
635
|
-
result = await request(auth.apiKey, auth.
|
|
681
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { method: 'POST', body });
|
|
636
682
|
}
|
|
637
683
|
else if (resource === 'deals' && operation === 'update') {
|
|
638
684
|
const body = mergeFields(dataOption(args), [
|
|
@@ -641,23 +687,23 @@ async function main() {
|
|
|
641
687
|
]);
|
|
642
688
|
if (Object.keys(body).length === 0)
|
|
643
689
|
throw new Error('Pass editable deal fields or --data.');
|
|
644
|
-
result = await request(auth.apiKey, auth.
|
|
690
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals update".')}`, { method: 'PATCH', body });
|
|
645
691
|
}
|
|
646
692
|
else if (resource === 'deals' && operation === 'action') {
|
|
647
693
|
const action = args[3]?.toUpperCase();
|
|
648
694
|
if (!action || !['SEND', 'ACCEPT', 'REJECT', 'WITHDRAW'].includes(action)) {
|
|
649
695
|
throw new Error('Action must be send, accept, reject, or withdraw.');
|
|
650
696
|
}
|
|
651
|
-
result = await request(auth.apiKey, auth.
|
|
697
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals action".')}/${action.toLowerCase()}`, { method: 'POST' });
|
|
652
698
|
}
|
|
653
699
|
else if (resource === 'deals' && operation === 'payments') {
|
|
654
|
-
result = await request(auth.apiKey, auth.
|
|
700
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals payments".')}/payments`);
|
|
655
701
|
}
|
|
656
702
|
else if (resource === 'transactions' && operation === 'list') {
|
|
657
|
-
result = await request(auth.apiKey, auth.
|
|
703
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/transactions', { query: aiQuery(args) });
|
|
658
704
|
}
|
|
659
705
|
else if (resource === 'transactions' && operation === 'get') {
|
|
660
|
-
result = await request(auth.apiKey, auth.
|
|
706
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions get".')}`, { query: aiQuery(args) });
|
|
661
707
|
}
|
|
662
708
|
else if (resource === 'transactions' && operation === 'action') {
|
|
663
709
|
const action = args[3]?.toUpperCase();
|
|
@@ -665,16 +711,22 @@ async function main() {
|
|
|
665
711
|
throw new Error('Transaction action must be cancel or request_refund.');
|
|
666
712
|
}
|
|
667
713
|
const body = mergeFields(dataOption(args), [
|
|
668
|
-
['
|
|
714
|
+
['aiId', option(args, '--ai')],
|
|
669
715
|
['amountMinor', integerOption(args, '--amount-minor')],
|
|
670
716
|
]);
|
|
671
|
-
|
|
717
|
+
delete body.action;
|
|
718
|
+
if (typeof body.aiId !== 'string' || !body.aiId.trim()) {
|
|
719
|
+
throw new Error('Pass the transaction AI ID with --ai or aiId in --data.');
|
|
720
|
+
}
|
|
721
|
+
if (action === 'CANCEL')
|
|
722
|
+
delete body.amountMinor;
|
|
723
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions action".')}/${action === 'CANCEL' ? 'cancel' : 'refunds'}`, { method: 'POST', body, headers: idempotencyHeaders(args) });
|
|
672
724
|
}
|
|
673
725
|
else if (resource === 'outcomes' && operation === 'list') {
|
|
674
|
-
result = await request(auth.apiKey, auth.
|
|
726
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/outcomes', { query: aiQuery(args) });
|
|
675
727
|
}
|
|
676
728
|
else if (resource === 'outcomes' && operation === 'get') {
|
|
677
|
-
result = await request(auth.apiKey, auth.
|
|
729
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes get".')}`);
|
|
678
730
|
}
|
|
679
731
|
else if (resource === 'outcomes' && operation === 'evidence') {
|
|
680
732
|
const body = mergeFields(dataOption(args), [
|
|
@@ -684,7 +736,7 @@ async function main() {
|
|
|
684
736
|
]);
|
|
685
737
|
if (typeof body.evidenceDigest !== 'string')
|
|
686
738
|
throw new Error('Pass --digest or evidenceDigest in --data.');
|
|
687
|
-
result = await request(auth.apiKey, auth.
|
|
739
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes evidence".')}/evidence`, { method: 'POST', body, headers: idempotencyHeaders(args) });
|
|
688
740
|
}
|
|
689
741
|
else if (resource === 'sessions' && operation === 'list') {
|
|
690
742
|
result = await request(auth.apiKey, auth.baseUrl, '/sessions', {
|
|
@@ -1004,7 +1056,7 @@ async function main() {
|
|
|
1004
1056
|
result = await request(auth.apiKey, auth.baseUrl, `/sessions/${id(args[2], 'Pass a session ID after "darwin sessions feedback".')}/feedback`, { method: 'POST', body, headers: idempotencyHeaders(args) });
|
|
1005
1057
|
}
|
|
1006
1058
|
else if (resource === 'directory' && operation === 'search') {
|
|
1007
|
-
result = await request(auth.apiKey, auth.
|
|
1059
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/search/directory/ais', {
|
|
1008
1060
|
query: {
|
|
1009
1061
|
query: textArgument(args, 2, ['--limit']) || undefined,
|
|
1010
1062
|
limit: integerOption(args, '--limit'),
|
|
@@ -1012,13 +1064,15 @@ async function main() {
|
|
|
1012
1064
|
});
|
|
1013
1065
|
}
|
|
1014
1066
|
else if (resource === 'directory' && operation === 'get') {
|
|
1015
|
-
result = await request(auth.apiKey, auth.
|
|
1067
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/search/directory/ais/${id(args[2], 'Pass a directory AI ID.')}`);
|
|
1016
1068
|
}
|
|
1017
1069
|
else if (resource === 'offers' && operation === 'list') {
|
|
1018
|
-
result = await request(auth.apiKey, auth.
|
|
1070
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', {
|
|
1071
|
+
query: { aiId: id(option(args, '--ai'), 'Pass an AI ID with --ai.') },
|
|
1072
|
+
});
|
|
1019
1073
|
}
|
|
1020
1074
|
else if (resource === 'offers' && operation === 'get') {
|
|
1021
|
-
result = await request(auth.apiKey, auth.
|
|
1075
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers get".')}`);
|
|
1022
1076
|
}
|
|
1023
1077
|
else if (resource === 'offers' && operation === 'create') {
|
|
1024
1078
|
const body = mergeFields(dataOption(args), [
|
|
@@ -1030,7 +1084,14 @@ async function main() {
|
|
|
1030
1084
|
if (typeof body.direction !== 'string' || typeof body.title !== 'string') {
|
|
1031
1085
|
throw new Error('Pass --direction and --title, or provide both in --data.');
|
|
1032
1086
|
}
|
|
1033
|
-
|
|
1087
|
+
if (body.direction !== 'DEMAND' && body.direction !== 'SUPPLY') {
|
|
1088
|
+
throw new Error('Offer direction must be DEMAND or SUPPLY.');
|
|
1089
|
+
}
|
|
1090
|
+
body.mode = body.direction === 'DEMAND' ? 'BUY' : 'SELL';
|
|
1091
|
+
body.aiId = id(option(args, '--ai'), 'Pass an AI ID with --ai.');
|
|
1092
|
+
delete body.direction;
|
|
1093
|
+
normalizeCapabilitySelections(body);
|
|
1094
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { method: 'POST', body });
|
|
1034
1095
|
}
|
|
1035
1096
|
else if (resource === 'offers' && operation === 'update') {
|
|
1036
1097
|
const body = mergeFields(dataOption(args), [
|
|
@@ -1039,14 +1100,14 @@ async function main() {
|
|
|
1039
1100
|
]);
|
|
1040
1101
|
if (Object.keys(body).length === 0)
|
|
1041
1102
|
throw new Error('Pass editable offer fields or --data.');
|
|
1042
|
-
result = await request(auth.apiKey, auth.
|
|
1103
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers update".')}`, { method: 'PATCH', body });
|
|
1043
1104
|
}
|
|
1044
1105
|
else if (resource === 'offers' && operation === 'action') {
|
|
1045
1106
|
const action = args[3]?.toUpperCase();
|
|
1046
1107
|
if (!action || !['SEND', 'ACCEPT', 'REJECT', 'WITHDRAW'].includes(action)) {
|
|
1047
1108
|
throw new Error('Action must be send, accept, reject, or withdraw.');
|
|
1048
1109
|
}
|
|
1049
|
-
result = await request(auth.apiKey, auth.
|
|
1110
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers action".')}/${action.toLowerCase()}`, { method: 'POST' });
|
|
1050
1111
|
}
|
|
1051
1112
|
else if (resource === 'payments' && operation === 'account') {
|
|
1052
1113
|
result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(option(args, '--ai'), 'Pass an AI ID with --ai.')}/payment-account`);
|
|
@@ -1072,10 +1133,10 @@ async function main() {
|
|
|
1072
1133
|
});
|
|
1073
1134
|
}
|
|
1074
1135
|
else if (resource === 'supply' && operation === 'businesses' && args[2] === 'list') {
|
|
1075
|
-
result = await request(auth.apiKey, auth.
|
|
1136
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais');
|
|
1076
1137
|
}
|
|
1077
1138
|
else if (resource === 'supply' && operation === 'businesses' && args[2] === 'get') {
|
|
1078
|
-
result = await request(auth.apiKey, auth.
|
|
1139
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}`);
|
|
1079
1140
|
}
|
|
1080
1141
|
else if (resource === 'supply' && operation === 'businesses' && args[2] === 'create') {
|
|
1081
1142
|
const body = mergeFields({ type: 'business', ...dataOption(args) }, [
|
|
@@ -1085,7 +1146,7 @@ async function main() {
|
|
|
1085
1146
|
]);
|
|
1086
1147
|
if (typeof body.name !== 'string')
|
|
1087
1148
|
throw new Error('Pass --name or include name in --data.');
|
|
1088
|
-
result = await request(auth.apiKey, auth.
|
|
1149
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais', { method: 'POST', body });
|
|
1089
1150
|
}
|
|
1090
1151
|
else if (resource === 'supply' && operation === 'businesses' && args[2] === 'update') {
|
|
1091
1152
|
const body = mergeFields(dataOption(args), [
|
|
@@ -1095,13 +1156,13 @@ async function main() {
|
|
|
1095
1156
|
]);
|
|
1096
1157
|
if (Object.keys(body).length === 0)
|
|
1097
1158
|
throw new Error('Pass editable business fields or --data.');
|
|
1098
|
-
result = await request(auth.apiKey, auth.
|
|
1159
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}`, {
|
|
1099
1160
|
method: 'PATCH',
|
|
1100
1161
|
body,
|
|
1101
1162
|
});
|
|
1102
1163
|
}
|
|
1103
|
-
else if (resource === '
|
|
1104
|
-
result = await request(auth.apiKey, auth.
|
|
1164
|
+
else if (resource === 'host' && operation === 'capabilities' && args[2] === 'list') {
|
|
1165
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities`, {
|
|
1105
1166
|
query: {
|
|
1106
1167
|
limit: integerOption(args, '--limit'),
|
|
1107
1168
|
cursor: option(args, '--cursor'),
|
|
@@ -1111,148 +1172,99 @@ async function main() {
|
|
|
1111
1172
|
},
|
|
1112
1173
|
});
|
|
1113
1174
|
}
|
|
1114
|
-
else if (resource === '
|
|
1115
|
-
result = await request(auth.apiKey, auth.
|
|
1175
|
+
else if (resource === 'host' && operation === 'capabilities' && args[2] === 'get') {
|
|
1176
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`);
|
|
1116
1177
|
}
|
|
1117
|
-
else if (resource === '
|
|
1178
|
+
else if (resource === 'host' && operation === 'capabilities' && args[2] === 'create') {
|
|
1118
1179
|
const body = dataOption(args);
|
|
1119
1180
|
if (Object.keys(body).length === 0)
|
|
1120
|
-
throw new Error('Pass
|
|
1121
|
-
result = await request(auth.apiKey, auth.
|
|
1181
|
+
throw new Error('Pass capability fields with --data.');
|
|
1182
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities`, {
|
|
1122
1183
|
method: 'POST',
|
|
1123
1184
|
body,
|
|
1124
1185
|
});
|
|
1125
1186
|
}
|
|
1126
|
-
else if (resource === '
|
|
1187
|
+
else if (resource === 'host' && operation === 'capabilities' && args[2] === 'update') {
|
|
1127
1188
|
const body = dataOption(args);
|
|
1128
1189
|
if (Object.keys(body).length === 0)
|
|
1129
|
-
throw new Error('Pass
|
|
1130
|
-
result = await request(auth.apiKey, auth.
|
|
1190
|
+
throw new Error('Pass capability fields with --data.');
|
|
1191
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`, { method: 'PATCH', body });
|
|
1131
1192
|
}
|
|
1132
|
-
else if (resource === '
|
|
1133
|
-
result = await request(auth.apiKey, auth.
|
|
1193
|
+
else if (resource === 'host' && operation === 'capabilities' && args[2] === 'archive') {
|
|
1194
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`, { method: 'DELETE', query: { expectedRevision: integerOption(args, '--expected-revision') } });
|
|
1134
1195
|
}
|
|
1135
1196
|
else if (resource === 'supply' && operation === 'orders' && args[2] === 'list') {
|
|
1136
|
-
result = await request(auth.apiKey, auth.
|
|
1197
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/transactions', { query: { aiId: args[3] } });
|
|
1137
1198
|
}
|
|
1138
1199
|
else if (resource === 'supply' && operation === 'orders' && args[2] === 'get') {
|
|
1139
|
-
result = await request(auth.apiKey, auth.
|
|
1200
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[4], 'Pass an order ID.')}`, {
|
|
1140
1201
|
query: { aiId: args[3] },
|
|
1141
1202
|
});
|
|
1142
1203
|
}
|
|
1143
1204
|
else if (resource === 'supply' && operation === 'earnings' && args[2] === 'get') {
|
|
1144
|
-
result = await request(auth.apiKey, auth.
|
|
1205
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[3], 'Pass a business ID.')}/billing`);
|
|
1145
1206
|
}
|
|
1146
|
-
else if (resource === '
|
|
1147
|
-
result = await request(auth.apiKey, auth.
|
|
1207
|
+
else if (resource === 'applications' && operation === 'list') {
|
|
1208
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/account/applications');
|
|
1148
1209
|
}
|
|
1149
|
-
else if (resource === '
|
|
1150
|
-
result = await request(auth.apiKey, auth.
|
|
1210
|
+
else if (resource === 'applications' && operation === 'get') {
|
|
1211
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`);
|
|
1151
1212
|
}
|
|
1152
|
-
else if (resource === '
|
|
1153
|
-
const body = mergeFields(dataOption(args), [
|
|
1154
|
-
['name', option(args, '--name')],
|
|
1155
|
-
['mode', enumOption(args, '--mode', ['HOSTED', 'EMBEDDED', 'HYBRID'])],
|
|
1156
|
-
]);
|
|
1213
|
+
else if (resource === 'applications' && operation === 'create') {
|
|
1214
|
+
const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
|
|
1157
1215
|
if (typeof body.name !== 'string')
|
|
1158
1216
|
throw new Error('Pass --name or include name in --data.');
|
|
1159
|
-
result = await request(auth.apiKey, auth.
|
|
1217
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/account/applications', { method: 'POST', body });
|
|
1160
1218
|
}
|
|
1161
|
-
else if (resource === '
|
|
1162
|
-
const body = mergeFields(dataOption(args), [
|
|
1163
|
-
['name', option(args, '--name')],
|
|
1164
|
-
['mode', enumOption(args, '--mode', ['HOSTED', 'EMBEDDED', 'HYBRID'])],
|
|
1165
|
-
]);
|
|
1219
|
+
else if (resource === 'applications' && operation === 'update') {
|
|
1220
|
+
const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
|
|
1166
1221
|
if (Object.keys(body).length === 0)
|
|
1167
1222
|
throw new Error('Pass editable application fields or --data.');
|
|
1168
|
-
result = await request(auth.apiKey, auth.
|
|
1223
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`, {
|
|
1169
1224
|
method: 'PATCH',
|
|
1170
1225
|
body,
|
|
1171
1226
|
});
|
|
1172
1227
|
}
|
|
1173
|
-
else if (resource === '
|
|
1174
|
-
result = await request(auth.apiKey, auth.
|
|
1228
|
+
else if (resource === 'applications' && operation === 'archive') {
|
|
1229
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`, {
|
|
1175
1230
|
method: 'DELETE',
|
|
1176
1231
|
});
|
|
1177
1232
|
}
|
|
1178
|
-
else if (resource === '
|
|
1179
|
-
result = await request(auth.apiKey, auth.
|
|
1180
|
-
}
|
|
1181
|
-
else if (resource === 'connect' && operation === 'link-ai') {
|
|
1182
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/ais`, {
|
|
1183
|
-
method: 'POST',
|
|
1184
|
-
body: {
|
|
1185
|
-
aiId: requiredOption(args, '--ai'),
|
|
1186
|
-
role: option(args, '--role'),
|
|
1187
|
-
},
|
|
1188
|
-
});
|
|
1189
|
-
}
|
|
1190
|
-
else if (resource === 'connect' && operation === 'unlink-ai') {
|
|
1191
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/ais/${id(args[3], 'Pass an AI ID.')}`, { method: 'DELETE' });
|
|
1192
|
-
}
|
|
1193
|
-
else if (resource === 'connect' && operation === 'resolve-user') {
|
|
1194
|
-
const body = dataOption(args);
|
|
1195
|
-
const externalRef = option(args, '--external-ref');
|
|
1196
|
-
if (externalRef)
|
|
1197
|
-
body.externalRef = externalRef;
|
|
1198
|
-
if (!body.externalRef && !body.proof) {
|
|
1199
|
-
throw new Error('Pass --external-ref or include a supported proof in --data.');
|
|
1200
|
-
}
|
|
1201
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/users/resolve`, { method: 'POST', body });
|
|
1202
|
-
}
|
|
1203
|
-
else if (resource === 'connect' && operation === 'enrollments') {
|
|
1204
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/enrollment-links`);
|
|
1205
|
-
}
|
|
1206
|
-
else if (resource === 'connect' && operation === 'create-enrollment') {
|
|
1207
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/enrollment-links`, { method: 'POST', body: dataOption(args) });
|
|
1233
|
+
else if (resource === 'applications' && operation === 'usage') {
|
|
1234
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/usage`, { query: { days: integerOption(args, '--days') } });
|
|
1208
1235
|
}
|
|
1209
|
-
else if (resource === '
|
|
1210
|
-
result = await request(auth.apiKey, auth.
|
|
1236
|
+
else if (resource === 'applications' && operation === 'webhooks') {
|
|
1237
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks`);
|
|
1211
1238
|
}
|
|
1212
|
-
else if (resource === '
|
|
1213
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts`);
|
|
1214
|
-
}
|
|
1215
|
-
else if (resource === 'connect' && operation === 'create-service-account') {
|
|
1216
|
-
const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
|
|
1217
|
-
if (typeof body.name !== 'string')
|
|
1218
|
-
throw new Error('Pass --name or include name in --data.');
|
|
1219
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts`, { method: 'POST', body });
|
|
1220
|
-
}
|
|
1221
|
-
else if (resource === 'connect' && operation === 'revoke-service-account') {
|
|
1222
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts/${id(args[3], 'Pass a service account ID.')}`, { method: 'DELETE' });
|
|
1223
|
-
}
|
|
1224
|
-
else if (resource === 'connect' && operation === 'webhooks') {
|
|
1225
|
-
result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks`);
|
|
1226
|
-
}
|
|
1227
|
-
else if (resource === 'connect' && operation === 'create-webhook') {
|
|
1239
|
+
else if (resource === 'applications' && operation === 'create-webhook') {
|
|
1228
1240
|
const body = mergeFields(dataOption(args), [['url', option(args, '--url')]]);
|
|
1229
1241
|
if (typeof body.url !== 'string')
|
|
1230
1242
|
throw new Error('Pass --url or include url in --data.');
|
|
1231
|
-
result = await request(auth.apiKey, auth.
|
|
1243
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks`, { method: 'POST', body });
|
|
1232
1244
|
}
|
|
1233
|
-
else if (resource === '
|
|
1234
|
-
result = await request(auth.apiKey, auth.
|
|
1245
|
+
else if (resource === 'applications' && operation === 'revoke-webhook') {
|
|
1246
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}`, { method: 'DELETE' });
|
|
1235
1247
|
}
|
|
1236
|
-
else if (resource === '
|
|
1237
|
-
result = await request(auth.apiKey, auth.
|
|
1248
|
+
else if (resource === 'applications' && operation === 'webhook-deliveries') {
|
|
1249
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries`, {
|
|
1238
1250
|
query: {
|
|
1239
1251
|
limit: integerOption(args, '--limit'),
|
|
1240
1252
|
cursor: option(args, '--cursor'),
|
|
1241
1253
|
},
|
|
1242
1254
|
});
|
|
1243
1255
|
}
|
|
1244
|
-
else if (resource === '
|
|
1245
|
-
result = await request(auth.apiKey, auth.
|
|
1256
|
+
else if (resource === 'applications' && operation === 'retry-webhook') {
|
|
1257
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries/${id(args[4], 'Pass a delivery ID.')}/retry`, { method: 'POST' });
|
|
1246
1258
|
}
|
|
1247
1259
|
else if (resource === 'tools' && operation === 'list') {
|
|
1248
|
-
result = await request(auth.apiKey, auth.
|
|
1260
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, '/act/tools');
|
|
1249
1261
|
}
|
|
1250
1262
|
else if (resource === 'tools' && operation === 'execute') {
|
|
1251
1263
|
const tool = args[2]?.trim();
|
|
1252
1264
|
if (!tool) {
|
|
1253
1265
|
throw new Error('Pass a tool name after "darwin tools execute".');
|
|
1254
1266
|
}
|
|
1255
|
-
result = await request(auth.apiKey, auth.
|
|
1267
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, `/act/tools/${encodeURIComponent(tool)}/executions`, {
|
|
1256
1268
|
method: 'POST',
|
|
1257
1269
|
body: { input: jsonObjectOption(args, '--input') },
|
|
1258
1270
|
});
|
|
@@ -1263,11 +1275,17 @@ async function main() {
|
|
|
1263
1275
|
throw new Error('API method must be GET, POST, PATCH, or DELETE.');
|
|
1264
1276
|
}
|
|
1265
1277
|
const path = args[2]?.trim();
|
|
1266
|
-
if (!path || path.includes('://')) {
|
|
1267
|
-
throw new Error('Pass a
|
|
1278
|
+
if (!path || path.includes('://') || !/^\/(?:search|act|host|account)(?:\/|$)/u.test(path)) {
|
|
1279
|
+
throw new Error('Pass a v2 API path under /search, /act, /host, or /account.');
|
|
1280
|
+
}
|
|
1281
|
+
const family = /^\/(search|act|host|account)(?:\/|$)/u.exec(path)?.[1];
|
|
1282
|
+
const v2Prefix = `${new URL(auth.v2BaseUrl).pathname.replace(/\/+$/u, '')}/${family}`;
|
|
1283
|
+
const resolved = new URL(`${auth.v2BaseUrl.replace(/\/+$/u, '')}/${path.replace(/^\/+/, '')}`);
|
|
1284
|
+
if (resolved.pathname !== v2Prefix && !resolved.pathname.startsWith(`${v2Prefix}/`)) {
|
|
1285
|
+
throw new Error('The API path must stay within the v2 endpoint.');
|
|
1268
1286
|
}
|
|
1269
1287
|
const body = dataOption(args);
|
|
1270
|
-
result = await request(auth.apiKey, auth.
|
|
1288
|
+
result = await request(auth.apiKey, auth.v2BaseUrl, path, {
|
|
1271
1289
|
method: method,
|
|
1272
1290
|
...(Object.keys(body).length > 0 ? { body } : {}),
|
|
1273
1291
|
});
|
|
@@ -1275,6 +1293,28 @@ async function main() {
|
|
|
1275
1293
|
else {
|
|
1276
1294
|
throw new Error(`Unknown command: ${args.join(' ')}`);
|
|
1277
1295
|
}
|
|
1296
|
+
if (resource === 'tasks' && result && typeof result === 'object' && !Array.isArray(result)) {
|
|
1297
|
+
const { goal, goals, ...rest } = result;
|
|
1298
|
+
result = {
|
|
1299
|
+
...rest,
|
|
1300
|
+
...(goal && typeof goal === 'object' && !Array.isArray(goal)
|
|
1301
|
+
? { task: { ...goal, taskId: goal.id } }
|
|
1302
|
+
: {}),
|
|
1303
|
+
...(Array.isArray(goals)
|
|
1304
|
+
? {
|
|
1305
|
+
tasks: goals.map((item) => item && typeof item === 'object' && !Array.isArray(item) ? { ...item, taskId: item.id } : item),
|
|
1306
|
+
}
|
|
1307
|
+
: {}),
|
|
1308
|
+
};
|
|
1309
|
+
}
|
|
1310
|
+
if (resource === 'offers' && result && typeof result === 'object' && !Array.isArray(result)) {
|
|
1311
|
+
const { deal, deals, ...rest } = result;
|
|
1312
|
+
result = {
|
|
1313
|
+
...rest,
|
|
1314
|
+
...(deal !== undefined ? { offer: deal } : {}),
|
|
1315
|
+
...(deals !== undefined ? { offers: deals } : {}),
|
|
1316
|
+
};
|
|
1317
|
+
}
|
|
1278
1318
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
1279
1319
|
}
|
|
1280
1320
|
main().catch((error) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,cAAc,GAAG,8BAA8B,CAAC;AACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACrF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAO7D,MAAM,cAAe,SAAQ,KAAK;IAErB;IAEA;IAHX,YACW,MAAc,EACvB,OAAe,EACN,IAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,WAAM,GAAN,MAAM,CAAQ;QAEd,SAAI,GAAJ,IAAI,CAAU;QAGvB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AASD,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAiB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAC/F,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;QACnE,OAAO;QACP,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,OAAe,EAAE,IAAY,EAAE,UAA0B,EAAE;IAChG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,uBAAuB,EAAE,KAAK;YAC9B,iBAAiB,EAAE,eAAe;YAClC,yBAAyB,EAAE,OAAO;YAClC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC7E,GAAG,OAAO,CAAC,OAAO;SACnB;QACD,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GACX,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YACvF,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,2BAA2B,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,IAAY;IAClD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAc,EAAE,IAAY;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,IAAY;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,IAAY;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,MAAyB;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,IAAY,EAAE,MAAyB;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B,EAAE,GAAW,EAAE,KAAc;IACpF,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3D,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,EAAE,CAAC,KAAyB,EAAE,KAAa;IAClD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,KAAa,EAAE,YAA+B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B,EAAE,MAA4C;IAC9F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM;QAAE,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,IAA6B;IAClE,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACnE,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,SAAoC,CAAC;YACpE,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,MAAM,GAAiB;QAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;QACrB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAClE,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CACf;QACE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU;KACX,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAEjG,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCtB,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,0EAA0E;IAC1E,0CAA0C;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClH,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,SAAS,GACb,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAClB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBACpB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;oBACxB,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;wBACnB,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,UAAU,CAAC;QACvB,IAAI,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,MAAe,CAAC;IAEpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE;YACnE,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mDAAmD,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAC3G;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC;QACpH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,OAAO;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;aACxC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,sBAAsB,EAAE;YAC1E,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACrD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uCAAuC,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,EAAE,EACtE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC,WAAW,EACjF;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2CAA2C,CAAC,UAAU,CACnF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,cAAc,EACrF;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC;gBACtC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;aAC7B;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAC7D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,+CAA+C,CAAC,cAAc,CAC3F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QACnE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,EACpG,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EAC/F;YACE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;SAC/C,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EAC/F,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC,kBAAkB,CAC5F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,EAC/D;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,EACnG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,gBAAgB,CAC3F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACrE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uDAAuD,CAAC,gBAAgB,EAChG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0DAA0D,CAAC,EAAE,EAC/F;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9E,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,EACvE;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;SAC3D,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,SAAS,IAAI,CAAC,gBAAgB,CAAC;QACjH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;YACxD,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;SAChD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAClF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aAC1D;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACjF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,QAAQ,CAAC,EAAE,EAC7E,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACpG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACvF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,WAAW,CAAC,EAAE,EAChF,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,WAAW,CAAC,IAAI,MAAM,EAAE,EAC1F;YACE,MAAM,EAAE,MAAM;YACd,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACtD,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;SACR,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,YAAY,CAAC,uBAAuB,EACtG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,EAAE,EAC1E,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAClG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,+CAA+C,CAAC,WAAW,CACtF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,wDAAwD,CAAC,EAAE,EAC5F,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACjD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2DAA2D,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAC7I,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5C,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACvD,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3G,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sDAAsD,CAAC,WAAW,EAC/F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YAC7D,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE;oBACxC,kBAAkB;oBAClB,UAAU;oBACV,QAAQ;oBACR,WAAW;oBACX,UAAU;oBACV,QAAQ;iBACT,CAAC;gBACF,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE;YACxE,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2DAA2D,CAAC,UAAU,EAC1G;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,OAAO,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yDAAyD,CAAC,EAAE,CACtF,CAAC;QACF,MAAM,OAAO,GACX,aAAa;YACb,OAAO,aAAa,KAAK,QAAQ;YACjC,SAAS,IAAI,aAAa;YAC1B,aAAa,CAAC,OAAO;YACrB,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ;YACvC,CAAC,CAAE,aAAa,CAAC,OAAmC;YACpD,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,GAAG;YACP,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;SAC/E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YACjG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAClD,CAAC,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC7F,CAAC,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;SAC3F,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,iBAAiB,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3E,CAAC,CAAE,IAAI,CAAC,MAAkC;gBAC1C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,WAAW,GACf,iBAAiB,IAAI,CAAC,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,CAAC,MAAM,GAAG;gBACZ,GAAG,cAAc;gBACjB,KAAK,EACH,WAAW,IAAI,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9G,WAAW;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,kBAAkB,GACtB,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACvF,CAAC,CAAE,IAAI,CAAC,UAAsC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,GAAG,kBAAkB,EAAE,EAAE;YACxD,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/E;gBACE,cAAc;gBACd,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE;oBACvC,MAAM;oBACN,eAAe;oBACf,sBAAsB;oBACtB,sBAAsB;iBACvB,CAAC;aACH;YACD,CAAC,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;SACnG,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACrE,MAAM,oBAAoB,GACxB,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/F,IAAI,oBAAoB,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;QACJ,CAAC;QACD,IAAI,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;YACpC,QAAQ;YACR,iBAAiB;YACjB,mBAAmB;YACnB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,kBAAkB;YAClB,uBAAuB;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC;gBACE,MAAM;gBACN,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;oBAC9B,SAAS;oBACT,UAAU;oBACV,eAAe;oBACf,UAAU;oBACV,iBAAiB;oBACjB,QAAQ;oBACR,QAAQ;oBACR,UAAU;iBACX,CAAC;aACH;YACD,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;YACjC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1E,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC1F,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,MAAM,gBAAgB,GACpB,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChH,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,eAAe,EAC1F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,kDAAkD,CAAC,eAAe,EAC3F;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;gBAChC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;aAChD;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,OAAO,CACnF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mDAAmD,CAAC,cAAc,EAC3F;YACE,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,SAAS,IAAI,CAAC,UAAU,EAC7F;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,UAAU,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE;aACjC;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,iBAAiB,EAAE,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACjH;gBACE,cAAc;gBACd,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACrG;YACD,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YACxF,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF;gBACE,eAAe;gBACf,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;aAChG;SACF,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACxF,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACjE,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,4BAA4B,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3D,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAClE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvE,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oDAAoD,CAAC,WAAW,EACzF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;YACpC,UAAU;YACV,WAAW;YACX,iBAAiB;YACjB,mBAAmB;YACnB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,kBAAkB;YAClB,uBAAuB;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1E,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC1F,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;QAC/C,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,MAAM,mBAAmB,GACvB,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChH,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qDAAqD,CAAC,WAAW,EAC1F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE;YAC3E,KAAK,EAAE;gBACL,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS;gBACtD,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,EAC7E,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EACrG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAC/E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,WAAW,CACxE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE;YAC7G,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACpF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE;YAClE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChG,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,EAAE;YACrG,MAAM,EAAE,OAAO;YACf,IAAI;SACL,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,eAAe,EAC9D;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;gBAChC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACpF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,eAAe,EAC9D;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EACtG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACxF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EACtG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACjF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAChF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,EAAE;YAC3G,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAClF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACpH,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnG,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,EACjE;YACE,MAAM,EAAE,OAAO;YACf,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,EACjE;YACE,MAAM,EAAE,QAAQ;SACjB,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,QAAQ,EACvE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACnD,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACnE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,EAC1E,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACzE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,EAC/G,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC7E,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,EAC1H;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACxE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,QAAQ,EACtK,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE;YACvG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,MAAM,GAAG,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;YACxD,MAAM,EAAE,MAAkC;YAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;QACnE,MAAM,GAAG;YACP,GAAG,IAAI;YACP,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAI,IAAgC,EAAE,MAAM,EAAG,IAAgC,CAAC,EAAE,EAAE,EAAE;gBAClG,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC;oBACE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAC/F;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;QACnE,MAAM,GAAG;YACP,GAAG,IAAI;YACP,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@darwinso/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Official command-line client for Darwin",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"darwin",
|
|
7
7
|
"agent",
|
|
8
8
|
"cli"
|
|
9
9
|
],
|
|
10
|
-
"homepage": "https://
|
|
10
|
+
"homepage": "https://darwin.so/docs/cli",
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/darwin-studios/darwin-cli/issues"
|
|
13
13
|
},
|