@getstackrun/cli 0.22.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +8 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +76 -16
  4. package/dist/agent.js.map +1 -1
  5. package/dist/api.d.ts +18 -12
  6. package/dist/api.d.ts.map +1 -1
  7. package/dist/api.js +52 -17
  8. package/dist/api.js.map +1 -1
  9. package/dist/auth.d.ts +2 -0
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +46 -28
  12. package/dist/auth.js.map +1 -1
  13. package/dist/authority.d.ts +2 -0
  14. package/dist/authority.d.ts.map +1 -0
  15. package/dist/authority.js +63 -0
  16. package/dist/authority.js.map +1 -0
  17. package/dist/detectors.d.ts.map +1 -1
  18. package/dist/detectors.js +4 -3
  19. package/dist/detectors.js.map +1 -1
  20. package/dist/dropoffs.d.ts.map +1 -1
  21. package/dist/dropoffs.js +12 -4
  22. package/dist/dropoffs.js.map +1 -1
  23. package/dist/format.d.ts +0 -1
  24. package/dist/format.d.ts.map +1 -1
  25. package/dist/format.js +19 -0
  26. package/dist/format.js.map +1 -1
  27. package/dist/governance.d.ts +13 -0
  28. package/dist/governance.d.ts.map +1 -0
  29. package/dist/governance.js +69 -0
  30. package/dist/governance.js.map +1 -0
  31. package/dist/identity.d.ts.map +1 -1
  32. package/dist/identity.js +131 -1
  33. package/dist/identity.js.map +1 -1
  34. package/dist/inbound-webhooks.d.ts +3 -0
  35. package/dist/inbound-webhooks.d.ts.map +1 -1
  36. package/dist/inbound-webhooks.js +4 -1
  37. package/dist/inbound-webhooks.js.map +1 -1
  38. package/dist/index.js +80 -25
  39. package/dist/index.js.map +1 -1
  40. package/dist/intents.d.ts.map +1 -1
  41. package/dist/intents.js +25 -30
  42. package/dist/intents.js.map +1 -1
  43. package/dist/llm.d.ts +1 -0
  44. package/dist/llm.d.ts.map +1 -1
  45. package/dist/llm.js +20 -13
  46. package/dist/llm.js.map +1 -1
  47. package/dist/partner.d.ts.map +1 -1
  48. package/dist/partner.js +62 -0
  49. package/dist/partner.js.map +1 -1
  50. package/dist/passports.d.ts.map +1 -1
  51. package/dist/passports.js +67 -17
  52. package/dist/passports.js.map +1 -1
  53. package/dist/pii.d.ts +2 -0
  54. package/dist/pii.d.ts.map +1 -0
  55. package/dist/pii.js +95 -0
  56. package/dist/pii.js.map +1 -0
  57. package/dist/proxy-serve.d.ts.map +1 -1
  58. package/dist/proxy-serve.js +29 -14
  59. package/dist/proxy-serve.js.map +1 -1
  60. package/dist/quickstart.d.ts +17 -0
  61. package/dist/quickstart.d.ts.map +1 -1
  62. package/dist/quickstart.js +54 -8
  63. package/dist/quickstart.js.map +1 -1
  64. package/dist/secret-input.d.ts +3 -0
  65. package/dist/secret-input.d.ts.map +1 -0
  66. package/dist/secret-input.js +41 -0
  67. package/dist/secret-input.js.map +1 -0
  68. package/dist/services.d.ts +10 -0
  69. package/dist/services.d.ts.map +1 -1
  70. package/dist/services.js +152 -20
  71. package/dist/services.js.map +1 -1
  72. package/dist/setup.d.ts +11 -0
  73. package/dist/setup.d.ts.map +1 -0
  74. package/dist/setup.js +226 -0
  75. package/dist/setup.js.map +1 -0
  76. package/dist/usage.d.ts.map +1 -1
  77. package/dist/usage.js +45 -5
  78. package/dist/usage.js.map +1 -1
  79. package/package.json +2 -2
package/README.md CHANGED
@@ -39,11 +39,18 @@ STACK has three client surfaces. Pick by who is driving.
39
39
  | --- | --- | --- | --- |
40
40
  | **MCP** (`mcp.getstack.run`) | an LLM assistant (Claude Code, Cursor) | dev and setup, in natural language | auto-discovered `stack_*` tools over OAuth |
41
41
  | **SDK** (`@getstackrun/sdk`, `getstack`) | the agent's own code | the runtime hot path | offline passport verification, in-process |
42
- | **CLI** (`npx @getstackrun/cli`) | a human operator in a terminal | ops, scripts, CI | the full operator surface + live audit tail + scriptable credential retrieval |
42
+ | **CLI** (`npx @getstackrun/cli`) | a human operator in a terminal | ops, scripts, CI | routine operator actions + live audit tail; sensitive management commands require explicit OAuth scopes |
43
43
 
44
44
  The three share one credential: `auth login` writes `~/.stack/credentials.json`,
45
45
  and both SDKs read it. Sign in once, all three work.
46
46
 
47
+ The default CLI login does not grant account/team administration, raw
48
+ credential retrieval, billing writes, OAuth-app/CMEK changes, authority or
49
+ security-policy mutation, partner administration, or platform admin. For a
50
+ deliberate management session, set `STACK_OAUTH_SCOPE` to the exact scopes you
51
+ need and sign in again; refresh tokens preserve or narrow scope and cannot add
52
+ it later.
53
+
47
54
  ## Commands
48
55
 
49
56
  `npx @getstackrun/cli --help` prints the full verb set: `agent`, `passport`,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AA2MA,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/F;AAKD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAiED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Cf;AA6KD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H5D"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AA4MA,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/F;AAKD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAiED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAqOD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6H5D"}
package/dist/agent.js CHANGED
@@ -27,6 +27,7 @@ import { existsSync } from 'node:fs';
27
27
  import { join } from 'node:path';
28
28
  import { homedir } from 'node:os';
29
29
  import { getAccessToken, invokeHint } from './auth.js';
30
+ import { governedApi } from './governance.js';
30
31
  const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
31
32
  function keyPath(agentId) {
32
33
  return join(homedir(), '.stack', 'agents', `${agentId}.json`);
@@ -340,9 +341,64 @@ function parseBoolFlag(flagName, value) {
340
341
  stderr.write(`error: ${flagName} must be true or false (got "${String(value)}").\n`);
341
342
  process.exit(2);
342
343
  }
344
+ async function agentPolicyBody(args, allowRegistrationOnly) {
345
+ const fromFile = takeFlag(args, '--from-file');
346
+ let body = {};
347
+ if (typeof fromFile === 'string') {
348
+ const parsed = JSON.parse(await readFile(fromFile, 'utf8'));
349
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
350
+ stderr.write('error: --from-file must contain one JSON object.\n');
351
+ process.exit(2);
352
+ }
353
+ body = { ...parsed };
354
+ }
355
+ const stringFlags = [
356
+ ['--accountability-mode', 'accountability_mode'],
357
+ ['--on-warning', 'on_warning'],
358
+ ['--on-critical', 'on_critical'],
359
+ ['--credential-access', 'credential_access'],
360
+ ['--skill-access-mode', 'skill_access_mode'],
361
+ ['--twin-policy', 'twin_policy'],
362
+ ['--twin-llm-model', 'twin_llm_model'],
363
+ ['--icon-url', 'icon_url'],
364
+ ];
365
+ if (allowRegistrationOnly)
366
+ stringFlags.push(['--key-mode', 'key_mode']);
367
+ for (const [flag, field] of stringFlags) {
368
+ const value = takeFlag(args, flag);
369
+ if (typeof value === 'string')
370
+ body[field] = value;
371
+ }
372
+ const csvFlags = [['--allowed-skills', 'allowed_skills']];
373
+ if (!allowRegistrationOnly)
374
+ csvFlags.push(['--identity-claims', 'identity_claim_ids']);
375
+ for (const [flag, field] of csvFlags) {
376
+ const value = takeFlag(args, flag);
377
+ if (typeof value === 'string') {
378
+ body[field] = value.split(',').map((item) => item.trim()).filter(Boolean);
379
+ }
380
+ }
381
+ const boolFlags = [
382
+ ['--synthetic', 'is_synthetic'],
383
+ ['--llm-inject-system-prompt', 'llm_inject_system_prompt'],
384
+ ['--llm-redact-pii', 'llm_redact_pii'],
385
+ ];
386
+ if (!allowRegistrationOnly)
387
+ boolFlags.push(['--eval-traffic', 'eval_traffic']);
388
+ for (const [flag, field] of boolFlags) {
389
+ const value = parseBoolFlag(flag, takeFlag(args, flag));
390
+ if (value !== undefined)
391
+ body[field] = value;
392
+ }
393
+ if (args.includes('--clear-twin-llm-model'))
394
+ body['twin_llm_model'] = null;
395
+ if (args.includes('--clear-icon'))
396
+ body['icon_url'] = null;
397
+ return body;
398
+ }
343
399
  const PII_REDACTION_OFF_WARNING = ' warning: PII redaction disabled — user-message PII flows to the LLM provider unredacted\n';
344
- async function cmdAgentRegister(name, description, keyMode, credentialAccess, profile, llmInjectSystemPrompt, llmRedactPii, json) {
345
- const body = { name };
400
+ async function cmdAgentRegister(name, description, keyMode, credentialAccess, profile, llmInjectSystemPrompt, llmRedactPii, policyBody, json) {
401
+ const body = { ...policyBody, name };
346
402
  if (description)
347
403
  body.description = description;
348
404
  if (profile) {
@@ -379,7 +435,9 @@ async function cmdAgentRegister(name, description, keyMode, credentialAccess, pr
379
435
  const notes = [
380
436
  profile ? profile : null,
381
437
  keyMode && keyMode !== 'stack_managed' ? keyMode : null,
382
- credentialAccess && credentialAccess !== 'direct' ? credentialAccess : null,
438
+ // GET-267 — the default is now proxy_only, so what is worth surfacing in
439
+ // the note is a value that LOOSENS it (direct / proxy_preferred).
440
+ credentialAccess && credentialAccess !== 'proxy_only' ? credentialAccess : null,
383
441
  llmInjectSystemPrompt === false ? 'llm_inject_system_prompt=false' : null,
384
442
  llmRedactPii === false ? 'llm_redact_pii=false' : null,
385
443
  ].filter(Boolean);
@@ -404,8 +462,8 @@ async function cmdAgentSuspend(nameOrId, status, json) {
404
462
  // LLM-gateway toggles). Same explicit-value idiom as
405
463
  // `identity update-settings --auto-revoke true|false`. Suspend/unsuspend
406
464
  // stay dedicated verbs; this verb carries the settings PATCH surface.
407
- async function cmdAgentUpdate(nameOrId, llmInjectSystemPrompt, llmRedactPii, json) {
408
- const body = {};
465
+ async function cmdAgentUpdate(nameOrId, llmInjectSystemPrompt, llmRedactPii, policyBody, json) {
466
+ const body = { ...policyBody };
409
467
  if (llmInjectSystemPrompt !== undefined)
410
468
  body.llm_inject_system_prompt = llmInjectSystemPrompt;
411
469
  if (llmRedactPii !== undefined)
@@ -437,7 +495,7 @@ async function cmdAgentDelete(nameOrId, json) {
437
495
  async function cmdAgentUnblock(nameOrId, json) {
438
496
  const token = await bearer();
439
497
  const agent = await resolveAgent(nameOrId, token);
440
- const result = await api('POST', `/v1/agents/${agent.id}/unblock`, { body: {} });
498
+ const result = await governedApi('POST', `/v1/agents/${agent.id}/unblock`, { body: {} });
441
499
  if (json)
442
500
  return printJson(result);
443
501
  stdout.write(`unblocked ${agent.name} (${agent.id}) — it can issue passports again\n`);
@@ -471,26 +529,28 @@ export async function cmdAgent(args) {
471
529
  }
472
530
  if (sub === 'register') {
473
531
  if (!target) {
474
- stderr.write(`usage: ${invokeHint('agent register <name> [--profile proxied-llm-bot] [--description "..."] [--key-mode stack_managed|customer_managed|co_signed] [--credential-access direct|proxy_preferred|proxy_only] [--llm-inject-system-prompt true|false] [--llm-redact-pii true|false]')}\n`);
532
+ stderr.write(`usage: ${invokeHint('agent register <name> [--from-file policy.json] [--profile proxied-llm-bot] [--description "..."]')}\n`);
475
533
  process.exit(2);
476
534
  }
477
535
  const description = takeFlag(args, '--description');
478
- const keyMode = takeFlag(args, '--key-mode');
479
- const credentialAccess = takeFlag(args, '--credential-access');
536
+ const policyBody = await agentPolicyBody(args, true);
537
+ const keyMode = policyBody['key_mode'];
538
+ const credentialAccess = policyBody['credential_access'];
480
539
  const profile = takeFlag(args, '--profile');
481
- const llmInjectSystemPrompt = parseBoolFlag('--llm-inject-system-prompt', takeFlag(args, '--llm-inject-system-prompt'));
482
- const llmRedactPii = parseBoolFlag('--llm-redact-pii', takeFlag(args, '--llm-redact-pii'));
483
- await cmdAgentRegister(target, typeof description === 'string' ? description : undefined, typeof keyMode === 'string' ? keyMode : undefined, typeof credentialAccess === 'string' ? credentialAccess : undefined, typeof profile === 'string' ? profile : undefined, llmInjectSystemPrompt, llmRedactPii, json);
540
+ const llmInjectSystemPrompt = policyBody['llm_inject_system_prompt'];
541
+ const llmRedactPii = policyBody['llm_redact_pii'];
542
+ await cmdAgentRegister(target, typeof description === 'string' ? description : undefined, typeof keyMode === 'string' ? keyMode : undefined, typeof credentialAccess === 'string' ? credentialAccess : undefined, typeof profile === 'string' ? profile : undefined, llmInjectSystemPrompt, llmRedactPii, policyBody, json);
484
543
  return;
485
544
  }
486
545
  if (sub === 'update') {
487
546
  if (!target) {
488
- stderr.write(`usage: ${invokeHint('agent update <name|id> [--llm-inject-system-prompt true|false] [--llm-redact-pii true|false]')}\n`);
547
+ stderr.write(`usage: ${invokeHint('agent update <name|id> [--from-file policy.json] [policy flags...]')}\n`);
489
548
  process.exit(2);
490
549
  }
491
- const llmInjectSystemPrompt = parseBoolFlag('--llm-inject-system-prompt', takeFlag(args, '--llm-inject-system-prompt'));
492
- const llmRedactPii = parseBoolFlag('--llm-redact-pii', takeFlag(args, '--llm-redact-pii'));
493
- await cmdAgentUpdate(target, llmInjectSystemPrompt, llmRedactPii, json);
550
+ const policyBody = await agentPolicyBody(args, false);
551
+ const llmInjectSystemPrompt = policyBody['llm_inject_system_prompt'];
552
+ const llmRedactPii = policyBody['llm_redact_pii'];
553
+ await cmdAgentUpdate(target, llmInjectSystemPrompt, llmRedactPii, policyBody, json);
494
554
  return;
495
555
  }
496
556
  if (sub === 'enroll') {
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,iEAAiE;AACjE,qDAAqD;AACrD,EAAE;AACF,4DAA4D;AAC5D,wEAAwE;AACxE,6CAA6C;AAC7C,EAAE;AACF,2DAA2D;AAC3D,yCAAyC;AACzC,2EAA2E;AAC3E,gEAAgE;AAChE,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;AAChE,0CAA0C;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,EAAE,mBAAmB,EAAE,IAAI,IAAI,UAAU,EAAmB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,0BAA0B,CAAC;AAgBnE,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,KAAK,CACV,gCAAgC,UAAU,CAAC,YAAY,CAAC,mCAAmC,CAC5F,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,oEAAoE;AACpE,sEAAsE;AACtE,+BAA+B;AAC/B,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,KAAa;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,uBAAuB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;IACxC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,EAAE;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;KAC9C,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAe,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CACV,0BAA0B,QAAQ,uBAAuB;YACvD,qDAAqD,CACxD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,SAA8D;IAKtF,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAA4D,CAAC;IAC3G,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAgE;IAMzF,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAK9C,CAAC;IACF,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,OAAO,CAAC,MAAiB;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,KAAc;IACrE,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACnG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAClF,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqC,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAgD,CAAC;IAEvG,oCAAoC;IACpC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEjD,oEAAoE;IACpE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEzD,uDAAuD;IACvD,MAAM,GAAG,GAAG,GAAG,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqC,CAAC;QAC1F,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iCAAiC,UAAU,CAAC,gBAAgB,OAAO,EAAE,CAAC,8CAA8C;gBAClH,6CAA6C,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA6B,CAAC;IAEjE,MAAM,MAAM,GAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;YAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,8BAA8B;AAC9B,qEAAqE;AACrE,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAyB;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAElC,+DAA+D;IAC/D,qEAAqE;IACrE,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;YAC5C,IAAI,MAAM,CAAC,WAAW;gBAAE,UAAU,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;QAC1G,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;QACD,MAAM,CAAC,KAAK,CACV,UAAU,KAAK,CAAC,EAAE,mCAAmC,IAAI,GAAG,UAAU,KAAK;YACzE,SAAS,UAAU,CAAC,gBAAgB,QAAQ,EAAE,CAAC,sCAAsC;YACrF,0DAA0D,CAC7D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CACV,YAAY,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI;YAClE,sBAAsB,IAAI,IAAI;YAC9B,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI;YACvE,oEAAoE;YACpE,qCAAqC,KAAK,CAAC,EAAE,gCAAgC,CAChF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,iEAAiE;AACjE,mBAAmB;AACnB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,uEAAuE;AACvE,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,uEAAuE;AACvE,+DAA+D;AAC/D,uEAAuE;AACvE,+DAA+D;AAC/D,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,kEAAkE;AAClE,yCAAyC;AACzC,0DAA0D;AAE1D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qEAAqE;AACrE,6CAA6C;AAC7C,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,SAAS,yBAAyB,CAChC,YAAqB,EACrB,SAAoB;IAEpB,MAAM,GAAG,GAAG,SAAS,SAAS,CAAC,QAAQ,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,GAAG,EAAE,SAAS,CAAC,UAAmC;QAClD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAkB;QAC/C,CAAC,eAAe,EAAE,cAAc,CAAC;QACjC,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,eAAe,EAAE,eAAe,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG;QACnB,YAAY;QACZ,cAAc;QACd,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACf,YAAY;KACb,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEnD,uEAAuE;IACvE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,YAAoB,EACpB,OAA2B;IAE3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CACV,+BAA+B,KAAK,CAAC,EAAE,OAAO,SAAS,KAAK;YAC1D,SAAS,UAAU,CAAC,gBAAgB,QAAQ,EAAE,CAAC,8CAA8C,CAChG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAc,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAc,CAAC;IAErF,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,uCAAuC,YAAY,KAAM,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,0BAA2B,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,kBAAkB,YAAY,iBAAiB,OAAO,IAAI,CAAC,CAAC;IAC5G,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,mCAAmC;AAEnC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7E,KAAK,UAAU,YAAY,CAAC,IAAa;IACvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAa,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI;QACN,WAAW,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7C,KAAK,CAAE,CAA6B,CAAC,UAAU,IAAI,IAAI,CAAC;KACzD,CAAC,CAAC;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,IAAa;IACzD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,WAAW,CAAC,KAA2C,CAAC,CAAC;AAC3D,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,yBAAyB;AACzB,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAmC;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,gCAAgC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,yBAAyB,GAC7B,6FAA6F,CAAC;AAEhG,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,WAA+B,EAC/B,OAA2B,EAC3B,gBAAoC,EACpC,OAA2B,EAC3B,qBAA0C,EAC1C,YAAiC,EACjC,IAAa;IAEb,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;IAC/C,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CACV,mDAAmD,OAAO,OAAO,CAClE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,KAAK,CACV,sFAAsF,OAAO,OAAO,CACrG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,KAAK,CACV,wFAAwF,gBAAgB,OAAO,CAChH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IACD,+DAA+D;IAC/D,qEAAqE;IACrE,IAAI,qBAAqB,KAAK,SAAS;QAAE,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC;IAC/F,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAW,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACxB,OAAO,IAAI,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvD,gBAAgB,IAAI,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QAC3E,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI;QACzE,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI;KACvD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,QAAQ,IAAI,CAAC,CAAC;IACpE,IAAI,YAAY,KAAK,KAAK;QAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CACV,4FAA4F;YAC1F,WAAW,UAAU,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,MAA8B,EAAE,IAAa;IAC5F,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAW,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7F,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,sEAAsE;AACtE,qDAAqD;AACrD,yEAAyE;AACzE,sEAAsE;AACtE,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,qBAA0C,EAC1C,YAAiC,EACjC,IAAa;IAEb,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,qBAAqB,KAAK,SAAS;QAAE,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC;IAC/F,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,UAAU,UAAU,CAAC,8FAA8F,CAAC,IAAI,CACzH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAW,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC,CAAC;IACnE,IAAI,YAAY,KAAK,KAAK;QAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAa;IAC3D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAa;IAC5D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,oCAAoC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,WAAW,CAAC,CAAW;IAC9B,IAAK,CAAoC,CAAC,gBAAgB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtF,IAAK,CAAyB,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,IAAK,CAAyB,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/E,OAAO,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,6PAA6P,CAAC,IAAI,CAAC,CAAC;YACtS,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,qBAAqB,GAAG,aAAa,CACzC,4BAA4B,EAC5B,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAC7C,CAAC;QACF,MAAM,YAAY,GAAG,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC3F,MAAM,gBAAgB,CACpB,MAAM,EACN,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACnE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,qBAAqB,EACrB,YAAY,EACZ,IAAI,CACL,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,8FAA8F,CAAC,IAAI,CAAC,CAAC;YACvI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,qBAAqB,GAAG,aAAa,CACzC,4BAA4B,EAC5B,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAC7C,CAAC;QACF,MAAM,YAAY,GAAG,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC3F,MAAM,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,6DAA6D,CAAC,IAAI,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,MAAM,iBAAiB,CACrB,MAAM,EACN,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC5C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,CAAC,KAAK,CACV,oCAAoC,GAAG,IAAI,EAAE,MAAM;QACnD,+GAA+G,CAChH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,iEAAiE;AACjE,qDAAqD;AACrD,EAAE;AACF,4DAA4D;AAC5D,wEAAwE;AACxE,6CAA6C;AAC7C,EAAE;AACF,2DAA2D;AAC3D,yCAAyC;AACzC,2EAA2E;AAC3E,gEAAgE;AAChE,6CAA6C;AAC7C,mEAAmE;AACnE,gEAAgE;AAChE,0CAA0C;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,EAAE,mBAAmB,EAAE,IAAI,IAAI,UAAU,EAAmB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,0BAA0B,CAAC;AAgBnE,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,KAAK,CACV,gCAAgC,UAAU,CAAC,YAAY,CAAC,mCAAmC,CAC5F,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,oEAAoE;AACpE,sEAAsE;AACtE,+BAA+B;AAC/B,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,KAAa;IACzD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,uBAAuB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;IACxC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,EAAE;QAClD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;KAC9C,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAe,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CACV,0BAA0B,QAAQ,uBAAuB;YACvD,qDAAqD,CACxD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,SAA8D;IAKtF,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAA4D,CAAC;IAC3G,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAgE;IAMzF,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAK9C,CAAC;IACF,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,OAAO,CAAC,MAAiB;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,KAAa,EAAE,KAAc;IACrE,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,EAAE;QACnG,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAClF,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqC,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAgD,CAAC;IAEvG,oCAAoC;IACpC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAEjD,oEAAoE;IACpE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEzD,uDAAuD;IACvD,MAAM,GAAG,GAAG,GAAG,OAAO,cAAc,kBAAkB,CAAC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqC,CAAC;QAC1F,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,iCAAiC,UAAU,CAAC,gBAAgB,OAAO,EAAE,CAAC,8CAA8C;gBAClH,6CAA6C,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA6B,CAAC;IAEjE,MAAM,MAAM,GAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,QAAQ,CAAC,WAAW;YAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8DAA8D;AAC9D,EAAE;AACF,yEAAyE;AACzE,8BAA8B;AAC9B,qEAAqE;AACrE,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAyB;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAElC,+DAA+D;IAC/D,qEAAqE;IACrE,yDAAyD;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;YAC5C,IAAI,MAAM,CAAC,WAAW;gBAAE,UAAU,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;QAC1G,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;QACD,MAAM,CAAC,KAAK,CACV,UAAU,KAAK,CAAC,EAAE,mCAAmC,IAAI,GAAG,UAAU,KAAK;YACzE,SAAS,UAAU,CAAC,gBAAgB,QAAQ,EAAE,CAAC,sCAAsC;YACrF,0DAA0D,CAC7D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CACV,YAAY,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI;YAClE,sBAAsB,IAAI,IAAI;YAC9B,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI;YACvE,oEAAoE;YACpE,qCAAqC,KAAK,CAAC,EAAE,gCAAgC,CAChF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,UAAW,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,iEAAiE;AACjE,mBAAmB;AACnB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,uEAAuE;AACvE,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,uEAAuE;AACvE,+DAA+D;AAC/D,uEAAuE;AACvE,+DAA+D;AAC/D,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,kEAAkE;AAClE,yCAAyC;AACzC,0DAA0D;AAE1D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qEAAqE;AACrE,6CAA6C;AAC7C,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C,SAAS,yBAAyB,CAChC,YAAqB,EACrB,SAAoB;IAEpB,MAAM,GAAG,GAAG,SAAS,SAAS,CAAC,QAAQ,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,GAAG,EAAE,SAAS,CAAC,UAAmC;QAClD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAkB;QAC/C,CAAC,eAAe,EAAE,cAAc,CAAC;QACjC,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC,eAAe,EAAE,eAAe,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEnD,MAAM,YAAY,GAAG;QACnB,YAAY;QACZ,cAAc;QACd,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACf,YAAY;KACb,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEnD,uEAAuE;IACvE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,YAAoB,EACpB,OAA2B;IAE3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CACV,+BAA+B,KAAK,CAAC,EAAE,OAAO,SAAS,KAAK;YAC1D,SAAS,UAAU,CAAC,gBAAgB,QAAQ,EAAE,CAAC,8CAA8C,CAChG,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAc,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAc,CAAC;IAErF,IAAI,QAAiB,CAAC;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,uCAAuC,YAAY,KAAM,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,0BAA2B,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,kBAAkB,YAAY,iBAAiB,OAAO,IAAI,CAAC,CAAC;IAC5G,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,mCAAmC;AAEnC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE7E,KAAK,UAAU,YAAY,CAAC,IAAa;IACvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAa,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI;QACN,WAAW,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7C,KAAK,CAAE,CAA6B,CAAC,UAAU,IAAI,IAAI,CAAC;KACzD,CAAC,CAAC;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,IAAa;IACzD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,WAAW,CAAC,KAA2C,CAAC,CAAC;AAC3D,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,yBAAyB;AACzB,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAmC;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,gCAAgC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,IAAc,EAAE,qBAA8B;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAY,CAAC;QACvE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,GAAG,EAAE,GAAI,MAAkC,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,WAAW,GAA4B;QAC3C,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;QAChD,CAAC,cAAc,EAAE,YAAY,CAAC;QAC9B,CAAC,eAAe,EAAE,aAAa,CAAC;QAChC,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QAC5C,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QAC5C,CAAC,eAAe,EAAE,aAAa,CAAC;QAChC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;QACtC,CAAC,YAAY,EAAE,UAAU,CAAC;KAC3B,CAAC;IACF,IAAI,qBAAqB;QAAE,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,MAAM,QAAQ,GAA4B,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,qBAAqB;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAA4B;QACzC,CAAC,aAAa,EAAE,cAAc,CAAC;QAC/B,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;QAC1D,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;KACvC,CAAC;IACF,IAAI,CAAC,qBAAqB;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC3E,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,yBAAyB,GAC7B,6FAA6F,CAAC;AAEhG,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,WAA+B,EAC/B,OAA2B,EAC3B,gBAAoC,EACpC,OAA2B,EAC3B,qBAA0C,EAC1C,YAAiC,EACjC,UAAmC,EACnC,IAAa;IAEb,MAAM,IAAI,GAA4B,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,WAAW;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CACV,mDAAmD,OAAO,OAAO,CAClE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,KAAK,CACV,sFAAsF,OAAO,OAAO,CACrG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5E,MAAM,CAAC,KAAK,CACV,wFAAwF,gBAAgB,OAAO,CAChH,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IACD,+DAA+D;IAC/D,qEAAqE;IACrE,IAAI,qBAAqB,KAAK,SAAS;QAAE,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC;IAC/F,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAW,MAAM,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACxB,OAAO,IAAI,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvD,yEAAyE;QACzE,kEAAkE;QAClE,gBAAgB,IAAI,gBAAgB,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QAC/E,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI;QACzE,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI;KACvD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,IAAI,QAAQ,IAAI,CAAC,CAAC;IACpE,IAAI,YAAY,KAAK,KAAK;QAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,OAAO,KAAK,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CACV,4FAA4F;YAC1F,WAAW,UAAU,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,MAA8B,EAAE,IAAa;IAC5F,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAW,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7F,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,sEAAsE;AACtE,qDAAqD;AACrD,yEAAyE;AACzE,sEAAsE;AACtE,KAAK,UAAU,cAAc,CAC3B,QAAgB,EAChB,qBAA0C,EAC1C,YAAiC,EACjC,UAAmC,EACnC,IAAa;IAEb,MAAM,IAAI,GAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IACxD,IAAI,qBAAqB,KAAK,SAAS;QAAE,IAAI,CAAC,wBAAwB,GAAG,qBAAqB,CAAC;IAC/F,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CACV,UAAU,UAAU,CAAC,8FAA8F,CAAC,IAAI,CACzH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAW,OAAO,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC,CAAC;IACnE,IAAI,YAAY,KAAK,KAAK;QAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAa;IAC3D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAa;IAC5D,MAAM,KAAK,GAAG,MAAM,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,cAAc,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,oCAAoC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,WAAW,CAAC,CAAW;IAC9B,IAAK,CAAoC,CAAC,gBAAgB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtF,IAAK,CAAyB,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpF,IAAK,CAAyB,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/E,OAAO,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CACV,UAAU,UAAU,CAAC,mGAAmG,CAAC,IAAI,CAC9H,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,qBAAqB,GAAG,UAAU,CAAC,0BAA0B,CAAwB,CAAC;QAC5F,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAwB,CAAC;QACzE,MAAM,gBAAgB,CACpB,MAAM,EACN,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACnE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACjD,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,IAAI,CACL,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CACV,UAAU,UAAU,CAAC,oEAAoE,CAAC,IAAI,CAC/F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,qBAAqB,GAAG,UAAU,CAAC,0BAA0B,CAAwB,CAAC;QAC5F,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAwB,CAAC;QACzE,MAAM,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,6DAA6D,CAAC,IAAI,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,MAAM,iBAAiB,CACrB,MAAM,EACN,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC5C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,MAAM,CAAC,KAAK,CACV,oCAAoC,GAAG,IAAI,EAAE,MAAM;QACnD,+GAA+G,CAChH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/dist/api.d.ts CHANGED
@@ -1,4 +1,20 @@
1
1
  export declare const API_URL: string;
2
+ export type ApiMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
3
+ export interface ApiOptions {
4
+ body?: unknown;
5
+ query?: Record<string, string | number | undefined>;
6
+ expectEmpty?: boolean;
7
+ headers?: Record<string, string>;
8
+ }
9
+ export declare class ApiRequestError extends Error {
10
+ readonly status: number;
11
+ readonly method: ApiMethod;
12
+ readonly path: string;
13
+ readonly response: unknown;
14
+ constructor(status: number, method: ApiMethod, path: string, response: unknown);
15
+ get code(): string | undefined;
16
+ get details(): Record<string, unknown> | undefined;
17
+ }
2
18
  /**
3
19
  * Require an auth token or exit with a clear "not signed in" message.
4
20
  * Most CLI commands gate on this; the few that don't (--demo style)
@@ -11,18 +27,8 @@ export declare function requireToken(): Promise<string>;
11
27
  * Returns parsed JSON on success. On error: prints to stderr (with the
12
28
  * actual API reason) and exits 1.
13
29
  */
14
- export declare function api<T = unknown>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, opts?: {
15
- body?: unknown;
16
- query?: Record<string, string | number | undefined>;
17
- expectEmpty?: boolean;
18
- /**
19
- * Extra headers merged after Bearer auth + Content-Type. The
20
- * caller cannot override Authorization (we set it last in the
21
- * merge below). Used today for X-Passport-Token on proxy- and
22
- * intent-flavoured commands.
23
- */
24
- headers?: Record<string, string>;
25
- }): Promise<T>;
30
+ export declare function requestApi<T = unknown>(method: ApiMethod, path: string, opts?: ApiOptions): Promise<T>;
31
+ export declare function api<T = unknown>(method: ApiMethod, path: string, opts?: ApiOptions): Promise<T>;
26
32
  /**
27
33
  * Pull a global flag value (e.g. --json, --limit 20) from an argv slice.
28
34
  * Returns the value as a string (for `--key val` form) or true for
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO,QAAqD,CAAC;AAE1E;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAOpD;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EACnD,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IACL,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GACA,OAAO,CAAC,CAAC,CAAC,CAsDZ;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAUnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYtE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO,QAAqD,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AACpE,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,SAAS;aACjB,IAAI,EAAE,MAAM;aACZ,QAAQ,EAAE,OAAO;gBAHjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO;IAMnC,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAG7B;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAKjD;CACF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAOpD;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAC1C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,CAAC,CAAC,CA0CZ;AAED,wBAAsB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,CAAC,CAAC,CAqBZ;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAUnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYtE"}
package/dist/api.js CHANGED
@@ -12,6 +12,30 @@
12
12
  import { env, stderr, exit } from 'node:process';
13
13
  import { getAccessToken, invokeHint, stringifyOAuthError } from './auth.js';
14
14
  export const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
15
+ export class ApiRequestError extends Error {
16
+ status;
17
+ method;
18
+ path;
19
+ response;
20
+ constructor(status, method, path, response) {
21
+ super(stringifyOAuthError(response));
22
+ this.status = status;
23
+ this.method = method;
24
+ this.path = path;
25
+ this.response = response;
26
+ this.name = 'ApiRequestError';
27
+ }
28
+ get code() {
29
+ const error = this.response?.error;
30
+ return typeof error?.code === 'string' ? error.code : undefined;
31
+ }
32
+ get details() {
33
+ const error = this.response?.error;
34
+ return error?.details && typeof error.details === 'object' && !Array.isArray(error.details)
35
+ ? error.details
36
+ : undefined;
37
+ }
38
+ }
15
39
  /**
16
40
  * Require an auth token or exit with a clear "not signed in" message.
17
41
  * Most CLI commands gate on this; the few that don't (--demo style)
@@ -30,7 +54,7 @@ export async function requireToken() {
30
54
  * Returns parsed JSON on success. On error: prints to stderr (with the
31
55
  * actual API reason) and exits 1.
32
56
  */
33
- export async function api(method, path, opts) {
57
+ export async function requestApi(method, path, opts) {
34
58
  const token = await requireToken();
35
59
  const url = new URL(`${API_URL}${path}`);
36
60
  if (opts?.query) {
@@ -49,7 +73,7 @@ export async function api(method, path, opts) {
49
73
  body = JSON.stringify(opts.body);
50
74
  }
51
75
  const res = await fetch(url.toString(), { method, headers, body });
52
- if (res.status === 204 || opts?.expectEmpty) {
76
+ if (res.status === 204) {
53
77
  return undefined;
54
78
  }
55
79
  const text = await res.text();
@@ -60,28 +84,39 @@ export async function api(method, path, opts) {
60
84
  catch {
61
85
  // Non-JSON body — probably an HTML error page from an intermediary.
62
86
  if (!res.ok) {
63
- stderr.write(`error: API ${res.status}: ${text.slice(0, 200)}\n`);
64
- exit(1);
87
+ throw new ApiRequestError(res.status, method, path, text.slice(0, 200));
65
88
  }
66
89
  return text;
67
90
  }
68
91
  if (!res.ok) {
69
- const reason = stringifyOAuthError(data);
70
- stderr.write(`error: API ${res.status} ${method} ${path}: ${reason}\n`);
71
- if (res.status === 403) {
72
- // Guardrail: a 403 on a write verb is easy to misread as "the CLI is
73
- // broken." The most fixable-by-the-operator cause is a read-only token —
74
- // signed in before the write-scope default, or with STACK_OAUTH_SCOPE
75
- // pinned to reads. Point them at the fix. (Generic string — never echoes
76
- // the token or scope values.)
77
- stderr.write(`hint: if this is a write command, your CLI token may be read-only.\n` +
78
- ` Re-run \`${invokeHint('auth login')}\` to mint a write-capable token,\n` +
79
- ` or unset STACK_OAUTH_SCOPE if you pinned it to read-only scopes.\n`);
80
- }
81
- exit(1);
92
+ throw new ApiRequestError(res.status, method, path, data);
93
+ }
94
+ if (opts?.expectEmpty) {
95
+ return undefined;
82
96
  }
83
97
  return data;
84
98
  }
99
+ export async function api(method, path, opts) {
100
+ try {
101
+ return await requestApi(method, path, opts);
102
+ }
103
+ catch (error) {
104
+ if (error instanceof ApiRequestError) {
105
+ stderr.write(`error: API ${error.status} ${method} ${path}: ${error.message}\n`);
106
+ if (error.status === 403) {
107
+ // Guardrail: a 403 on a write verb is easy to misread as "the CLI is
108
+ // broken." An intentionally narrow OAuth family may need a fresh login
109
+ // with an explicit scope set. Refresh never widens a family. This stays
110
+ // generic because other 403s can be role or governance denials.
111
+ stderr.write(`hint: if this is a write command, your CLI token may be read-only.\n` +
112
+ ` Set STACK_OAUTH_SCOPE to the exact scopes you intend, then re-run\n` +
113
+ ` \`${invokeHint('auth login')}\`; refresh tokens cannot widen scope.\n`);
114
+ }
115
+ exit(1);
116
+ }
117
+ throw error;
118
+ }
119
+ }
85
120
  /**
86
121
  * Pull a global flag value (e.g. --json, --limit 20) from an argv slice.
87
122
  * Returns the value as a string (for `--key val` form) or true for
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts CHANGED
@@ -1,7 +1,9 @@
1
+ export declare const CLI_DEFAULT_OAUTH_SCOPES: readonly ["account:read", "team:read", "passports:read", "passports:write", "agents:read", "agents:write", "services:read", "services:write", "services:connect", "inbound-webhooks:read", "partner-grants:read", "proxy:read", "proxy:write", "audit:read", "billing:read", "identity:read", "authority:read", "governance:read", "intents:read", "intents:write", "missions:read", "missions:write", "reviews:read", "evidence:read", "evidence:write", "dropoffs:read", "dropoffs:write", "skills:read", "skills:write", "skills:invoke", "notifications:read", "security-events:read", "llm:read", "llm:invoke", "scan:read", "scan:write", "detectors:read", "pii:read", "partner:read"];
1
2
  export declare const DEFAULT_SCOPE: string;
2
3
  export declare function requestedScope(): string;
3
4
  export declare function invokeHint(subcommand: string): string;
4
5
  export declare function stringifyOAuthError(data: unknown): string;
6
+ export declare function openBrowser(url: string): void;
5
7
  export declare function cmdLogin(): Promise<void>;
6
8
  export declare function cmdStatus(): Promise<void>;
7
9
  export declare function cmdLogout(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,aAAa,QAQ+B,CAAC;AAM1D,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAUD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGrD;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAYzD;AA+KD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA0E9C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB/C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyD7D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,wBAAwB,+pBA2B3B,CAAC;AACX,eAAO,MAAM,aAAa,QAAqC,CAAC;AAMhE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAUD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGrD;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAYzD;AAuGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAa7C;AA+DD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA0E9C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB/C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyD7D"}
package/dist/auth.js CHANGED
@@ -20,28 +20,45 @@ import { spawn } from 'node:child_process';
20
20
  import { createHash, randomBytes } from 'node:crypto';
21
21
  const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
22
22
  const RESOURCE = env['STACK_OAUTH_RESOURCE'] ?? `${API_URL}`;
23
- // Default login scope = the full operator surface (every non-admin scope in
24
- // the API's OAUTH_SCOPES catalog). The CLI is a near-complete API mirror —
25
- // `agent register`, `passport issue`, `service grant`, `identity
26
- // update-settings`, etc. are all write verbs — so a read-only default (the
27
- // old `passports:read agents:read services:read audit:read`) under-requests
28
- // and would 403 those verbs the moment per-route scope gating lands. `admin`
29
- // is deliberately excluded: it requires an admin *member* role at the consent
30
- // boundary and 400s for a plain operator. Read-only monitoring use (`monitor
31
- // --follow`) sets STACK_OAUTH_SCOPE to override back down. Kept as an explicit
32
- // literal — importing @stack/shared would pull it into the published bundle
33
- // (the CLI has zero @stack deps); auth.test.ts asserts this stays a subset of
34
- // the canonical OAUTH_SCOPES.
35
- export const DEFAULT_SCOPE = 'passports:read passports:write ' +
36
- 'agents:read agents:write ' +
37
- 'services:read services:write services:connect ' +
38
- 'credentials:read credentials:write ' +
39
- 'proxy:read proxy:write ' +
40
- 'audit:read billing:read ' +
41
- 'identity:read identity:write ' +
42
- 'skills:read skills:write skills:invoke skills:publish';
23
+ // Default login scope covers the CLI's routine runtime and inspection flows.
24
+ // High-impact management surfaces stay opt-in even when the CLI has a command
25
+ // for them: account/team mutations, raw credential retrieval, billing and
26
+ // payout writes, OAuth-app/CMEK administration, authority and identity
27
+ // mutation, notification/security-policy changes, partner administration,
28
+ // and platform admin. An operator can request an exact broader set for a
29
+ // deliberate session with STACK_OAUTH_SCOPE. Kept as a literal because the
30
+ // published CLI intentionally has no @stack/shared runtime dependency.
31
+ export const CLI_DEFAULT_OAUTH_SCOPES = [
32
+ 'account:read',
33
+ 'team:read',
34
+ 'passports:read', 'passports:write',
35
+ 'agents:read', 'agents:write',
36
+ 'services:read', 'services:write', 'services:connect',
37
+ 'inbound-webhooks:read',
38
+ 'partner-grants:read',
39
+ 'proxy:read', 'proxy:write',
40
+ 'audit:read',
41
+ 'billing:read',
42
+ 'identity:read',
43
+ 'authority:read',
44
+ 'governance:read',
45
+ 'intents:read', 'intents:write',
46
+ 'missions:read', 'missions:write',
47
+ 'reviews:read',
48
+ 'evidence:read', 'evidence:write',
49
+ 'dropoffs:read', 'dropoffs:write',
50
+ 'skills:read', 'skills:write', 'skills:invoke',
51
+ 'notifications:read',
52
+ 'security-events:read',
53
+ 'llm:read', 'llm:invoke',
54
+ 'scan:read', 'scan:write',
55
+ 'detectors:read',
56
+ 'pii:read',
57
+ 'partner:read',
58
+ ];
59
+ export const DEFAULT_SCOPE = CLI_DEFAULT_OAUTH_SCOPES.join(' ');
43
60
  // The scope the CLI requests at login. STACK_OAUTH_SCOPE overrides the
44
- // full-operator default (used to sign in read-only for monitoring). Read at
61
+ // least-privilege default (used to sign in read-only for monitoring). Read at
45
62
  // call time, not frozen at import, so a programmatically-set env var still
46
63
  // takes effect (and so auth.test.ts can exercise the override).
47
64
  export function requestedScope() {
@@ -179,15 +196,16 @@ async function deleteCreds() {
179
196
  /* already gone */
180
197
  }
181
198
  }
182
- function openBrowser(url) {
199
+ export function openBrowser(url) {
183
200
  // Best-effort. Failure is silent — the URL is also printed.
184
201
  try {
185
- if (platform === 'darwin')
186
- spawn('open', [url], { stdio: 'ignore', detached: true }).unref();
187
- else if (platform === 'win32')
188
- spawn('cmd', ['/c', 'start', '', url], { stdio: 'ignore', detached: true }).unref();
189
- else
190
- spawn('xdg-open', [url], { stdio: 'ignore', detached: true }).unref();
202
+ const child = platform === 'darwin'
203
+ ? spawn('open', [url], { stdio: 'ignore', detached: true })
204
+ : platform === 'win32'
205
+ ? spawn('cmd', ['/c', 'start', '', url], { stdio: 'ignore', detached: true })
206
+ : spawn('xdg-open', [url], { stdio: 'ignore', detached: true });
207
+ child.on('error', () => undefined);
208
+ child.unref();
191
209
  }
192
210
  catch {
193
211
  /* user opens manually */