dero-mcp-server 0.2.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/POSITIONING.md +94 -0
  2. package/README.md +125 -24
  3. package/SKILL.md +264 -0
  4. package/data/docs-index.json +264 -260
  5. package/dist/bn254.d.ts +74 -0
  6. package/dist/bn254.d.ts.map +1 -0
  7. package/dist/bn254.js +205 -0
  8. package/dist/bn254.js.map +1 -0
  9. package/dist/citations.d.ts +70 -0
  10. package/dist/citations.d.ts.map +1 -1
  11. package/dist/citations.js +161 -1
  12. package/dist/citations.js.map +1 -1
  13. package/dist/composites/_shared.d.ts +1 -1
  14. package/dist/composites/_shared.js +1 -1
  15. package/dist/composites/audit-chain-artifact-claim.d.ts +128 -0
  16. package/dist/composites/audit-chain-artifact-claim.d.ts.map +1 -0
  17. package/dist/composites/audit-chain-artifact-claim.js +305 -0
  18. package/dist/composites/audit-chain-artifact-claim.js.map +1 -0
  19. package/dist/composites/diagnose-chain-health.d.ts +1 -1
  20. package/dist/composites/diagnose-chain-health.js +1 -1
  21. package/dist/composites/estimate-deploy-cost.d.ts +1 -1
  22. package/dist/composites/estimate-deploy-cost.js +1 -1
  23. package/dist/composites/explain-smart-contract.d.ts +1 -1
  24. package/dist/composites/explain-smart-contract.js +1 -1
  25. package/dist/composites/forge-demo-proof.d.ts +81 -0
  26. package/dist/composites/forge-demo-proof.d.ts.map +1 -0
  27. package/dist/composites/forge-demo-proof.js +204 -0
  28. package/dist/composites/forge-demo-proof.js.map +1 -0
  29. package/dist/composites/recommend-docs-path.d.ts +1 -1
  30. package/dist/composites/recommend-docs-path.js +1 -1
  31. package/dist/composites/trace-transaction-with-context.d.ts +1 -1
  32. package/dist/composites/trace-transaction-with-context.js +1 -1
  33. package/dist/daemon-base.d.ts +28 -0
  34. package/dist/daemon-base.d.ts.map +1 -0
  35. package/dist/daemon-base.js +62 -0
  36. package/dist/daemon-base.js.map +1 -0
  37. package/dist/dero-curve.d.ts +79 -0
  38. package/dist/dero-curve.d.ts.map +1 -0
  39. package/dist/dero-curve.js +79 -0
  40. package/dist/dero-curve.js.map +1 -0
  41. package/dist/docs-parse.d.ts.map +1 -1
  42. package/dist/docs-parse.js +18 -2
  43. package/dist/docs-parse.js.map +1 -1
  44. package/dist/http-server.d.ts +37 -0
  45. package/dist/http-server.d.ts.map +1 -0
  46. package/dist/http-server.js +139 -0
  47. package/dist/http-server.js.map +1 -0
  48. package/dist/index.js +18 -11
  49. package/dist/index.js.map +1 -1
  50. package/dist/proof-decode.d.ts +125 -0
  51. package/dist/proof-decode.d.ts.map +1 -0
  52. package/dist/proof-decode.js +619 -0
  53. package/dist/proof-decode.js.map +1 -0
  54. package/dist/server.d.ts.map +1 -1
  55. package/dist/server.js +89 -11
  56. package/dist/server.js.map +1 -1
  57. package/dist/tool-descriptions.d.ts +3 -0
  58. package/dist/tool-descriptions.d.ts.map +1 -1
  59. package/dist/tool-descriptions.js +39 -0
  60. package/dist/tool-descriptions.js.map +1 -1
  61. package/dist/tx-parse.d.ts +63 -0
  62. package/dist/tx-parse.d.ts.map +1 -0
  63. package/dist/tx-parse.js +183 -0
  64. package/dist/tx-parse.js.map +1 -0
  65. package/package.json +24 -3
package/dist/server.js CHANGED
@@ -3,7 +3,10 @@ import { z } from 'zod';
3
3
  import { deroJsonRpc, jsonRpcEndpoint } from './rpc.js';
4
4
  import { DERO_DOC_PRODUCTS, getDeroDocPage, listDeroDocs, searchDeroDocs, } from './docs.js';
5
5
  import { DERO_TOOL_NAMES, TOOL_DESCRIPTIONS } from './tool-descriptions.js';
6
- import { relatedDocsFor } from './citations.js';
6
+ import { enrichWithFlaggedArtifacts, relatedDocsFor } from './citations.js';
7
+ import { decodeDeroBech32, interpretValueTransfer } from './proof-decode.js';
8
+ import { auditChainArtifactClaim, auditChainArtifactClaimInputSchema, } from './composites/audit-chain-artifact-claim.js';
9
+ import { forgeDemoProof, forgeDemoProofInputSchema, } from './composites/forge-demo-proof.js';
7
10
  import { diagnoseChainHealth, diagnoseChainHealthInputSchema, } from './composites/diagnose-chain-health.js';
8
11
  import { explainSmartContract, explainSmartContractInputSchema, } from './composites/explain-smart-contract.js';
9
12
  import { recommendDocsPath, recommendDocsPathInputSchema, } from './composites/recommend-docs-path.js';
@@ -47,6 +50,16 @@ function toolText(data) {
47
50
  }
48
51
  function classifyToolError(error) {
49
52
  const message = error instanceof Error ? error.message : String(error);
53
+ // Generic `INVALID_INPUT: <reason>` prefix used by composites that validate
54
+ // their own argument shape (audit_chain_artifact_claim, dero_forge_demo_proof).
55
+ // The composite's own `<reason>` is preserved verbatim in `_meta.error.raw`.
56
+ if (message.startsWith('INVALID_INPUT:')) {
57
+ return {
58
+ code: 'INVALID_INPUT',
59
+ hint: message.slice('INVALID_INPUT:'.length).trim() || 'Re-check the tool input shape against the tool description.',
60
+ retryable: false,
61
+ };
62
+ }
50
63
  if (message.includes('Provide either hash or height')) {
51
64
  return {
52
65
  code: 'INVALID_INPUT',
@@ -54,6 +67,13 @@ function classifyToolError(error) {
54
67
  retryable: false,
55
68
  };
56
69
  }
70
+ if (message.startsWith('INVALID_BECH32:')) {
71
+ return {
72
+ code: 'INVALID_BECH32',
73
+ hint: 'Confirm the string starts with one of dero/deto/deroi/detoi/deroproof, includes the "1" separator, and is uniformly cased (BIP-0173 forbids mixed case). See integrity/payload-vs-transaction-proofs for proof anatomy.',
74
+ retryable: false,
75
+ };
76
+ }
57
77
  if (message.includes('DERO docs unavailable') ||
58
78
  message.includes('bundled docs index is missing')) {
59
79
  return {
@@ -210,7 +230,7 @@ export function createDeroMcpServer(daemonBaseUrl) {
210
230
  const rpc = async (method, params) => deroJsonRpc(endpoint, method, params);
211
231
  const server = new McpServer({
212
232
  name: 'dero-daemon-mcp',
213
- version: '0.2.2',
233
+ version: '0.4.1',
214
234
  });
215
235
  server.registerTool('dero_daemon_ping', readOnly({
216
236
  description: TOOL_DESCRIPTIONS.dero_daemon_ping,
@@ -259,7 +279,9 @@ export function createDeroMcpServer(daemonBaseUrl) {
259
279
  params.hash = args.hash;
260
280
  if (args.height !== undefined)
261
281
  params.height = args.height;
262
- return rpc('DERO.GetBlock', params);
282
+ const result = (await rpc('DERO.GetBlock', params)) ?? {};
283
+ const enrichment = enrichWithFlaggedArtifacts({ block_hash: args.hash }, relatedDocsFor('dero_get_block'));
284
+ return { ...result, ...(enrichment ?? {}) };
263
285
  }));
264
286
  server.registerTool('dero_get_block_header_by_topo_height', readOnly({
265
287
  description: TOOL_DESCRIPTIONS.dero_get_block_header_by_topo_height,
@@ -270,13 +292,21 @@ export function createDeroMcpServer(daemonBaseUrl) {
270
292
  .nonnegative()
271
293
  .describe('Topological height'),
272
294
  },
273
- }), withStructuredErrors('dero_get_block_header_by_topo_height', async ({ topoheight }) => rpc('DERO.GetBlockHeaderByTopoHeight', { topoheight })));
295
+ }), withStructuredErrors('dero_get_block_header_by_topo_height', async ({ topoheight }) => {
296
+ const result = (await rpc('DERO.GetBlockHeaderByTopoHeight', { topoheight })) ?? {};
297
+ const enrichment = enrichWithFlaggedArtifacts({ topoheight }, relatedDocsFor('dero_get_block_header_by_topo_height'));
298
+ return { ...result, ...(enrichment ?? {}) };
299
+ }));
274
300
  server.registerTool('dero_get_block_header_by_hash', readOnly({
275
301
  description: TOOL_DESCRIPTIONS.dero_get_block_header_by_hash,
276
302
  inputSchema: {
277
303
  hash: hex64Schema.describe('Block top hash (hex)'),
278
304
  },
279
- }), withStructuredErrors('dero_get_block_header_by_hash', async ({ hash }) => rpc('DERO.GetBlockHeaderByHash', { hash })));
305
+ }), withStructuredErrors('dero_get_block_header_by_hash', async ({ hash }) => {
306
+ const result = (await rpc('DERO.GetBlockHeaderByHash', { hash })) ?? {};
307
+ const enrichment = enrichWithFlaggedArtifacts({ block_hash: hash }, relatedDocsFor('dero_get_block_header_by_hash'));
308
+ return { ...result, ...(enrichment ?? {}) };
309
+ }));
280
310
  server.registerTool('dero_get_tx_pool', readOnly({
281
311
  description: TOOL_DESCRIPTIONS.dero_get_tx_pool,
282
312
  }), withStructuredErrors('dero_get_tx_pool', async () => rpc('DERO.GetTxPool')));
@@ -305,7 +335,9 @@ export function createDeroMcpServer(daemonBaseUrl) {
305
335
  const params = { txs_hashes };
306
336
  if (decode_as_json !== undefined)
307
337
  params.decode_as_json = decode_as_json;
308
- return rpc('DERO.GetTransaction', params);
338
+ const result = (await rpc('DERO.GetTransaction', params)) ?? {};
339
+ const enrichment = enrichWithFlaggedArtifacts({ tx_hashes: txs_hashes }, relatedDocsFor('dero_get_transaction'));
340
+ return { ...result, ...(enrichment ?? {}) };
309
341
  }));
310
342
  server.registerTool('dero_get_encrypted_balance', readOnly({
311
343
  description: TOOL_DESCRIPTIONS.dero_get_encrypted_balance,
@@ -412,6 +444,46 @@ export function createDeroMcpServer(daemonBaseUrl) {
412
444
  params.miner = miner;
413
445
  return rpc('DERO.GetBlockTemplate', params);
414
446
  }));
447
+ server.registerTool('dero_decode_proof_string', readOnly({
448
+ description: TOOL_DESCRIPTIONS.dero_decode_proof_string,
449
+ inputSchema: {
450
+ proof_string: z
451
+ .string()
452
+ .min(8)
453
+ .describe('Full bech32 string with HRP, e.g. "deroproof1qyy…" or "dero1abc…". Whitespace is trimmed.'),
454
+ },
455
+ }), withStructuredErrors('dero_decode_proof_string', async ({ proof_string }) => {
456
+ let decoded;
457
+ try {
458
+ decoded = decodeDeroBech32(proof_string);
459
+ }
460
+ catch (error) {
461
+ const message = error instanceof Error ? error.message : String(error);
462
+ throw new Error(`INVALID_BECH32: ${message}`);
463
+ }
464
+ const decodedJson = {
465
+ hrp: decoded.hrp,
466
+ mainnet: decoded.mainnet,
467
+ is_proof: decoded.is_proof,
468
+ public_key_hex: decoded.public_key_hex,
469
+ arguments: decoded.arguments,
470
+ };
471
+ const value_interpretation = decoded.value_transfer_uint64 !== undefined
472
+ ? interpretValueTransfer(decoded.value_transfer_uint64)
473
+ : undefined;
474
+ // Try flagged-artifact enrichment first; fall back to the generic
475
+ // per-tool related_docs when the input is not a known adversarial string.
476
+ const enrichment = enrichWithFlaggedArtifacts({ proof_string }, relatedDocsFor('dero_decode_proof_string'));
477
+ const baseline = enrichment
478
+ ? enrichment
479
+ : { related_docs: relatedDocsFor('dero_decode_proof_string') ?? [] };
480
+ return {
481
+ decoded: decodedJson,
482
+ ...(value_interpretation ? { value_interpretation } : {}),
483
+ ...(baseline.related_docs?.length ? { related_docs: baseline.related_docs } : {}),
484
+ ...(enrichment ? { context_note: enrichment.context_note } : {}),
485
+ };
486
+ }));
415
487
  server.registerTool('dero_docs_search', readOnly({
416
488
  description: TOOL_DESCRIPTIONS.dero_docs_search,
417
489
  inputSchema: {
@@ -472,9 +544,8 @@ export function createDeroMcpServer(daemonBaseUrl) {
472
544
  }));
473
545
  // ---------- Composite tools (Phase C) ----------
474
546
  // Composites chain read-only primitives and bundled docs into
475
- // intent-shaped responses. Each composite has a design entry in
476
- // `docs/composites.md` that pins its input schema, internal chain,
477
- // response shape, failure modes, and flow test ID.
547
+ // intent-shaped responses. Each composite has a maintainer design contract
548
+ // (input schema, internal chain, response shape, failure modes, flow test ID).
478
549
  server.registerTool('diagnose_chain_health', readOnly({
479
550
  description: TOOL_DESCRIPTIONS.diagnose_chain_health,
480
551
  inputSchema: diagnoseChainHealthInputSchema,
@@ -495,6 +566,14 @@ export function createDeroMcpServer(daemonBaseUrl) {
495
566
  description: TOOL_DESCRIPTIONS.trace_transaction_with_context,
496
567
  inputSchema: traceTransactionWithContextInputSchema,
497
568
  }), withStructuredErrors('trace_transaction_with_context', async (args) => traceTransactionWithContext(rpc, args)));
569
+ server.registerTool('audit_chain_artifact_claim', readOnly({
570
+ description: TOOL_DESCRIPTIONS.audit_chain_artifact_claim,
571
+ inputSchema: auditChainArtifactClaimInputSchema,
572
+ }), withStructuredErrors('audit_chain_artifact_claim', async (args) => auditChainArtifactClaim(rpc, args ?? {})));
573
+ server.registerTool('dero_forge_demo_proof', readOnly({
574
+ description: TOOL_DESCRIPTIONS.dero_forge_demo_proof,
575
+ inputSchema: forgeDemoProofInputSchema,
576
+ }), withStructuredErrors('dero_forge_demo_proof', async (args) => forgeDemoProof(rpc, args ?? {})));
498
577
  server.registerResource('dero_mcp_server_info', 'dero://mcp/server-info', {
499
578
  description: 'Server metadata, tool list, resource list, and prompt names.',
500
579
  mimeType: 'application/json',
@@ -505,7 +584,7 @@ export function createDeroMcpServer(daemonBaseUrl) {
505
584
  mimeType: 'application/json',
506
585
  text: JSON.stringify({
507
586
  name: 'dero-daemon-mcp',
508
- version: '0.2.2',
587
+ version: '0.4.1',
509
588
  mode: 'read-only',
510
589
  endpoint: endpoint,
511
590
  docs_products: DERO_DOC_PRODUCTS,
@@ -639,7 +718,6 @@ export function createDeroMcpServer(daemonBaseUrl) {
639
718
  error_codes: ['TX_NOT_FOUND (retryable=true; daemon returns empty record on unknown hashes)', 'RPC_UNREACHABLE'],
640
719
  },
641
720
  ],
642
- design_contract_doc: 'docs/composites.md in the dero-mcp-server repo',
643
721
  }, null, 2),
644
722
  },
645
723
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EACL,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EACL,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,2BAA2B,EAC3B,sCAAsC,GACvC,MAAM,gDAAgD,CAAA;AAEvD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,EAAE;KACR,KAAK,CAAC,mBAAmB,EAAE,kCAAkC,CAAC,CAAA;AAEjE,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,2BAA2B,EAAE,oDAAoD,CAAC,CAAA;AAE3F,MAAM,kBAAkB,GAAG,kEAAkE,CAAA;AAE7F,MAAM,kBAAkB,GAAG;IACzB,wBAAwB;IACxB,4BAA4B;IAC5B,0BAA0B;IAC1B,uBAAuB;CACf,CAAA;AAEV,MAAM,iBAAiB,GAAG;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,8BAA8B;CACtB,CAAA;AAEV,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;AAEtD,SAAS,QAAQ,CAAC,IAAa;IAC7B,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACtE;SACF;KACF,CAAA;AACH,CAAC;AAQD,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEtE,4EAA4E;IAC5E,gFAAgF;IAChF,6EAA6E;IAC7E,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,6DAA6D;YACpH,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,yCAAyC;YAC/C,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EACF,yNAAyN;YAC3N,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IACE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EACjD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,0HAA0H;YAChI,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,CAAC;QACpE,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,uDAAuD;YAC7D,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,iDAAiD;YACvD,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,6EAA6E;YACnF,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,uJAAuJ;YAC7J,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,+PAA+P;YACrQ,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,iFAAiF;YACvF,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,gDAAgD;YACtD,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,oTAAoT;YAC1T,SAAS,EAAE,KAAK;SACjB,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EACF,MAAM,IAAI,GAAG;gBACX,CAAC,CAAC,oEAAoE;gBACtE,CAAC,CAAC,2DAA2D;YACjE,SAAS,EAAE,MAAM,IAAI,GAAG;SACzB,CAAA;IACH,CAAC;IAED,IACE,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9C,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EACzC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,uEAAuE;YAC7E,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,uEAAuE;YAC7E,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,6DAA6D;QACnE,SAAS,EAAE,KAAK;KACjB,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAc;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClE,OAAO,QAAQ,CAAC;QACd,EAAE,EAAE,KAAK;QACT,IAAI;QACJ,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,GAAG,UAAU;gBACb,GAAG;aACJ;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,OAA0C;IAE1C,OAAO,KAAK,EAAE,IAAW,EAAE,EAAE;QAC3B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,qBAAqB,GAAG;IAC5B,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,KAAK;CACZ,CAAA;AAEV;;;;GAIG;AACH,SAAS,QAAQ,CACf,MAAS;IAET,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,KAAK,EAAK,MAAc,EAAE,MAAgB,EAAE,EAAE,CACxD,WAAW,CAAI,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,gBAAgB;KAChD,CAAC,EACF,oBAAoB,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAS,WAAW,CAAC,CAAC,CAC/E,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,gBAAgB;QAC/C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SAC5D;KACF,CAAC,EACF,oBAAoB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAS,WAAW,EAAE,KAAK,CAAC,CAAC,CAC/F,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,eAAe,EACf,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,aAAa;KAC7C,CAAC,EACF,oBAAoB,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,cAAc,CAAC,CAAC,IAAI,EAAE,CAAA;QACzE,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,CAAC,CAAA;QACpD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACjE,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,eAAe;KAC/C,CAAC,EACF,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAC3E,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,oBAAoB;KACpD,CAAC,EACF,oBAAoB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CACpF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,0BAA0B;KAC1D,CAAC,EACF,oBAAoB,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAC/F,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,cAAc;QAC7C,WAAW,EAAE;YACX,IAAI,EAAE,WAAW;iBACd,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;YACrC,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,QAAQ,CAAC,cAAc,CAAC;SAC5B;KACF,CAAC,EACF,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,eAAe,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAClF,MAAM,UAAU,GAAG,0BAA0B,CAC3C,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,EACzB,cAAc,CAAC,gBAAgB,CAAC,CACjC,CAAA;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,sCAAsC,EACtC,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,oCAAoC;QACnE,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,CAAC,oBAAoB,CAAC;SAClC;KACF,CAAC,EACF,oBAAoB,CAAC,sCAAsC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACpF,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,iCAAiC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5G,MAAM,UAAU,GAAG,0BAA0B,CAC3C,EAAE,UAAU,EAAE,EACd,cAAc,CAAC,sCAAsC,CAAC,CACvD,CAAA;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,6BAA6B;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;SACnD;KACF,CAAC,EACF,oBAAoB,CAAC,+BAA+B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACvE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,2BAA2B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAChG,MAAM,UAAU,GAAG,0BAA0B,CAC3C,EAAE,UAAU,EAAE,IAAI,EAAE,EACpB,cAAc,CAAC,+BAA+B,CAAC,CAChD,CAAA;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,gBAAgB;KAChD,CAAC,EACF,oBAAoB,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAC5E,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,uBAAuB;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,WAAW;iBACd,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;SACtD;KACF,CAAC,EACF,oBAAoB,CAAC,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC7D,GAAG,CACD,uBAAuB,EACvB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC,CACL,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,oBAAoB;QACnD,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,WAAW,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;SAC9D;KACF,CAAC,EACF,oBAAoB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE;QACpF,MAAM,MAAM,GAA4B,EAAE,UAAU,EAAE,CAAA;QACtD,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAA;QACxE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,qBAAqB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACxF,MAAM,UAAU,GAAG,0BAA0B,CAC3C,EAAE,SAAS,EAAE,UAAU,EAAE,EACzB,cAAc,CAAC,sBAAsB,CAAC,CACvC,CAAA;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,0BAA0B;QACzD,WAAW,EAAE;YACX,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACtE,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,CAAC,6BAA6B,CAAC;YAC1C,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAC9E;KACF,CAAC,EACF,oBAAoB,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;QACzF,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;QAC/D,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAC5B,OAAO,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,aAAa,EACb,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,WAAW;QAC1C,WAAW,EAAE;YACX,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC3D,IAAI,EAAE,CAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;YACrD,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;SACtD;KACF,CAAC,EACF,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;QAClF,MAAM,MAAM,GAA4B;YACtC,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,IAAI;YAClB,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAA;QACD,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5D,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/E,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,CAAA;QAClD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACjE,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,qBAAqB;QACpD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,wBAAwB,CAAC;YACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACzD,MAAM,EAAE,CAAC;iBACN,KAAK,CAAC,cAAc,CAAC;iBACrB,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;SAClD;KACF,CAAC,EACF,oBAAoB,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3D,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACrD,IAAI,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAChC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5C,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAA0B,qBAAqB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QACxF,MAAM,YAAY,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAA;QAC5D,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACjE,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,oBAAoB;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACnD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,CAAC,mBAAmB,CAAC;SACjC;KACF,CAAC,EACF,oBAAoB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1E,GAAG,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CACnD,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,uBAAuB;QACtD,WAAW,EAAE;YACX,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACvE,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oBAAoB,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACnE;KACF,CAAC,EACF,oBAAoB,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzF,MAAM,MAAM,GAA4B,EAAE,cAAc,EAAE,CAAA;QAC1D,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAC7C,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAC/B,OAAO,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,wBAAwB;QACvD,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,2FAA2F,CAC5F;SACJ;KACF,CAAC,EACF,oBAAoB,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QAC1E,IAAI,OAA4C,CAAA;QAChD,IAAI,CAAC;YACH,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,WAAW,GAAG;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAA;QACD,MAAM,oBAAoB,GACxB,OAAO,CAAC,qBAAqB,KAAK,SAAS;YACzC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACvD,CAAC,CAAC,SAAS,CAAA;QACf,kEAAkE;QAClE,0EAA0E;QAC1E,MAAM,UAAU,GAAG,0BAA0B,CAC3C,EAAE,YAAY,EAAE,EAChB,cAAc,CAAC,0BAA0B,CAAC,CAC3C,CAAA;QACD,MAAM,QAAQ,GAAG,UAAU;YACzB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,0BAA0B,CAAC,IAAI,EAAE,EAAE,CAAA;QACtE,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,gBAAgB;QAC/C,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,yEAAyE,CAAC;YACtF,OAAO,EAAE,oBAAoB;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,iCAAiC,CAAC;SAC/C;KACF,CAAC,EACF,oBAAoB,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CACpF,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CACtD,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,kBAAkB;QACjD,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CACP,6GAA6G,CAC9G;YACH,OAAO,EAAE,oBAAoB;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,wDAAwD,CAAC;SACtE;KACF,CAAC,EACF,oBAAoB,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACrE,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CACrC,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,cAAc;QAC7C,WAAW,EAAE;YACX,OAAO,EAAE,oBAAoB;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;SACzD;KACF,CAAC,EACF,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAClE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QACvD,OAAO;YACL,GAAG,SAAS;YACZ,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YAClD,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;SACxC,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,kDAAkD;IAClD,8DAA8D;IAC9D,2EAA2E;IAC3E,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,qBAAqB;QACpD,WAAW,EAAE,8BAA8B;KAC5C,CAAC,EACF,oBAAoB,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC3D,mBAAmB,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CACrC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,sBAAsB;QACrD,WAAW,EAAE,+BAA+B;KAC7C,CAAC,EACF,oBAAoB,CAAC,wBAAwB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC5D,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAChC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,mBAAmB;QAClD,WAAW,EAAE,4BAA4B;KAC1C,CAAC,EACF,oBAAoB,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CACrF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,oBAAoB;QACnD,WAAW,EAAE,6BAA6B;KAC3C,CAAC,EACF,oBAAoB,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAC5F,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,gCAAgC,EAChC,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,8BAA8B;QAC7D,WAAW,EAAE,sCAAsC;KACpD,CAAC,EACF,oBAAoB,CAAC,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACpE,2BAA2B,CAAC,GAAG,EAAE,IAAI,CAAC,CACvC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,0BAA0B;QACzD,WAAW,EAAE,kCAAkC;KAChD,CAAC,EACF,oBAAoB,CAAC,4BAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAChE,uBAAuB,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CACzC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB,QAAQ,CAAC;QACP,WAAW,EAAE,iBAAiB,CAAC,qBAAqB;QACpD,WAAW,EAAE,yBAAyB;KACvC,CAAC,EACF,oBAAoB,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC3D,cAAc,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,CAChC,CACF,CAAA;IAED,MAAM,CAAC,gBAAgB,CACrB,sBAAsB,EACtB,wBAAwB,EACxB;QACE,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,aAAa,EAAE,iBAAiB;oBAChC,aAAa,EAAE,eAAe;oBAC9B,qBAAqB,EAAE,gBAAgB;oBACvC,KAAK,EAAE,eAAe;oBACtB,SAAS,EAAE,kBAAkB;oBAC7B,OAAO,EAAE,iBAAiB;iBAC3B,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,gBAAgB,CACrB,0BAA0B,EAC1B,4BAA4B,EAC5B;QACE,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,SAAS,EAAE,IAAI;oBACf,gBAAgB,EAAE;wBAChB,UAAU;wBACV,UAAU;wBACV,yBAAyB;wBACzB,kBAAkB;qBACnB;oBACD,SAAS,EAAE,qDAAqD;oBAChE,UAAU,EAAE;wBACV,uDAAuD;wBACvD,wDAAwD;qBACzD;iBACF,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,gBAAgB,CACrB,wBAAwB,EACxB,0BAA0B,EAC1B;QACE,WAAW,EAAE,2HAA2H;QACxI,QAAQ,EAAE,eAAe;KAC1B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,0BAA0B;oBAC1B,EAAE;oBACF,0HAA0H;oBAC1H,EAAE;oBACF,2BAA2B;oBAC3B,EAAE;oBACF,oHAAoH;oBACpH,8GAA8G,kBAAkB,KAAK;oBACrI,kIAAkI;oBAClI,qLAAqL;oBACrL,iJAAiJ;oBACjJ,EAAE;oBACF,2FAA2F;oBAC3F,EAAE;oBACF,0FAA0F;oBAC1F,4FAA4F;oBAC5F,+FAA+F;oBAC/F,sEAAsE;oBACtE,4CAA4C;oBAC5C,EAAE;oBACF,0EAA0E;oBAC1E,EAAE;oBACF,0FAA0F;oBAC1F,qIAAqI;oBACrI,8KAA8K;oBAC9K,EAAE;oBACF,uBAAuB;oBACvB,EAAE;oBACF,oJAAoJ;iBACrJ,CAAC,IAAI,CAAC,IAAI,CAAC;aACb;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,gBAAgB,CACrB,qBAAqB,EACrB,uBAAuB,EACvB;QACE,WAAW,EAAE,0MAA0M;QACvN,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,wMAAwM;oBAC9M,UAAU,EAAE;wBACV;4BACE,IAAI,EAAE,uBAAuB;4BAC7B,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;4BACtF,YAAY,EAAE,wHAAwH;4BACtI,MAAM,EAAE,EAAE,eAAe,EAAE,gCAAgC,EAAE;4BAC7D,iBAAiB,EAAE,CAAC,2CAA2C,EAAE,4CAA4C,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC;4BAC3J,WAAW,EAAE,CAAC,iBAAiB,CAAC;yBACjC;wBACD;4BACE,IAAI,EAAE,wBAAwB;4BAC9B,QAAQ,EAAE,CAAC,iDAAiD,CAAC;4BAC7D,YAAY,EAAE,2JAA2J;4BACzK,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,iBAAiB,EAAE;4BACnE,iBAAiB,EAAE,CAAC,6CAA6C,EAAE,uDAAuD,EAAE,WAAW,EAAE,mEAAmE,CAAC;4BAC7M,WAAW,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;yBACvD;wBACD;4BACE,IAAI,EAAE,qBAAqB;4BAC3B,QAAQ,EAAE,CAAC,qDAAqD,CAAC;4BACjE,YAAY,EAAE,qJAAqJ;4BACnK,MAAM,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,YAAY,EAAE,4CAA4C,EAAE,iBAAiB,EAAE,4BAA4B,EAAE;4BAChK,iBAAiB,EAAE,CAAC,kDAAkD,EAAE,oBAAoB,EAAE,cAAc,CAAC;4BAC7G,WAAW,EAAE,CAAC,eAAe,CAAC;yBAC/B;wBACD;4BACE,IAAI,EAAE,sBAAsB;4BAC5B,QAAQ,EAAE,CAAC,oGAAoG,CAAC;4BAChH,YAAY,EAAE,uGAAuG;4BACrH,MAAM,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE;4BAC9F,iBAAiB,EAAE,CAAC,kDAAkD,EAAE,+CAA+C,EAAE,6CAA6C,CAAC;4BACvK,WAAW,EAAE,CAAC,wFAAwF,EAAE,iBAAiB,CAAC;yBAC3H;wBACD;4BACE,IAAI,EAAE,gCAAgC;4BACtC,QAAQ,EAAE,CAAC,8EAA8E,CAAC;4BAC1F,YAAY,EAAE,4GAA4G;4BAC1H,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,gCAAgC,EAAE;4BAClI,iBAAiB,EAAE,CAAC,2DAA2D,EAAE,iEAAiE,EAAE,iCAAiC,EAAE,2CAA2C,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC;4BACrR,UAAU,EAAE,qLAAqL;4BACjM,WAAW,EAAE,CAAC,8EAA8E,EAAE,iBAAiB,CAAC;yBACjH;qBACF;iBACF,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,WAAW,EAAE,wGAAwG;QACrH,UAAU,EAAE;YACV,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;SACd;KACF,EACD,KAAK,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,qGAAqG;wBACrG,EAAE;wBACF,oHAAoH;wBACpH,0IAA0I;wBAC1I,qGAAqG;wBACrG,8EAA8E;wBAC9E,oBAAoB;4BAClB,CAAC,CAAC,mEAAmE,oBAAoB,wBAAwB;4BACjH,CAAC,CAAC,uHAAuH;wBAC3H,EAAE;wBACF,kLAAkL;qBACnL,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,wBAAwB,EACxB;QACE,WAAW,EAAE,0HAA0H;QACvI,UAAU,EAAE;YACV,IAAI,EAAE,WAAW;SAClB;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnB,WAAW,EAAE,yDAAyD;QACtE,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,mCAAmC,IAAI,iCAAiC;wBACxE,EAAE;wBACF,6CAA6C,IAAI,yNAAyN;wBAC1Q,+GAA+G;wBAC/G,6KAA6K;wBAC7K,+IAA+I;wBAC/I,EAAE;wBACF,2GAA2G;qBAC5G,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,mBAAmB,EACnB;QACE,WAAW,EAAE,mIAAmI;QAChJ,UAAU,EAAE;YACV,OAAO,EAAE,WAAW;SACrB;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,0BAA0B,OAAO,iCAAiC;wBAClE,EAAE;wBACF,wDAAwD,OAAO,4SAA4S;wBAC3W,yEAAyE;wBACzE,kHAAkH;wBAClH,wKAAwK;wBACxK,oPAAoP;wBACpP,EAAE;wBACF,yIAAyI;qBAC1I,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,2BAA2B,EAC3B;QACE,WAAW,EAAE,gHAAgH;QAC7H,UAAU,EAAE;YACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mEAAmE,CAAC;YAC9F,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;SACnD;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE,4DAA4D;QACzE,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,6DAA6D,MAAM,IAAI;wBACvE,EAAE;wBACF,4CAA4C,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,mBAAmB,YAAY,4FAA4F,CAAC,CAAC,CAAC,0EAA0E,GAAG;wBAChR,yGAAyG;wBACzG,6HAA6H;wBAC7H,qKAAqK;wBACrK,EAAE;wBACF,qFAAqF;qBACtF,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,MAAM,CAAC,cAAc,CACnB,8BAA8B,EAC9B;QACE,WAAW,EAAE,uJAAuJ;QACpK,UAAU,EAAE;YACV,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,+EAA+E,CAAC;YAC9G,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC1C;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,sIAAsI;wBACtI,EAAE;wBACF,8DAA8D,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,8EAA8E,CAAC,CAAC,CAAC,uCAAuC,GAAG;wBACvN,qGAAqG;wBACrG,6HAA6H;wBAC7H,oGAAoG;wBACpG,0KAA0K;wBAC1K,EAAE;wBACF,WAAW,SAAS,CAAC,MAAM,wBAAwB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;wBAClH,EAAE;wBACF,4FAA4F;qBAC7F,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -44,6 +44,9 @@ export declare const TOOL_DESCRIPTIONS: {
44
44
  readonly recommend_docs_path: "Composite: take a natural-language intent, fan out parallel scoped searches across the bundled docs for all four DERO products (derod, tela, hologram, deropay), boost any product_hint matches by 1.5×, and return a ranked recommendation list with per-result rationale plus ready-to-cite related_docs.\n\nWhen to call: at the START of any \"where do I read about X?\" or \"which docs cover Y?\" investigation, BEFORE calling dero_docs_search directly. PREFER this over guessing the right product: this composite already runs all four products in parallel, dedupes overlap, surfaces the top heading per result as rationale, and gives you the top-2 citations pre-built. Pass product_hint when the user has already said e.g. \"TELA\" or \"DeroPay\" so that product's matches float to the top.\n\nInput Requirements:\n- `intent` is REQUIRED. Free-text description of what the user is trying to do (min 8 chars). Drop verbs and use product nouns like \"deploy a TELA app\" or \"verify a DeroPay webhook signature\" for best results.\n- `product_hint` is OPTIONAL. One of `derod | tela | hologram | deropay`. Multiplies hint-product scores by 1.5×.\n- `limit_per_product` is OPTIONAL (default 2, max 5). Cap per-product hits before merging.\n\nOutput: `{ intent, product_hint, limit_per_product, recommended: [{ product, slug, title, canonical_url, score, boosted_score, rationale }], by_product: { derod | tela | hologram | deropay: { count, top_slug, top_score } }, related_docs: DeroCitation[] }`. `related_docs` is the top-2 picks pre-built as citations the agent can drop straight into a response. On zero matches across every product the composite returns a structured `_meta.error` with code `NO_DOCS_MATCH` and a hint to rephrase or drop the product_hint.";
45
45
  readonly explain_smart_contract: "Composite: fetch a DERO smart contract (code + variables + balances) and return its function surface, a classification of the contract pattern (token | registry | minimal | generic), a plain-language narrative, and curated DVM docs citations re-ordered so the most relevant page is first.\n\nWhen to call: when the user wants to UNDERSTAND a smart contract — its functions, state shape, or which DVM concept to read about. PREFER this over chaining dero_get_sc with a docs lookup yourself: this composite already parses the DVM-BASIC source for function declarations, sorts stringkeys/uint64keys deterministically, and picks the right docs page from a heuristic so the agent does not have to learn DVM-BASIC syntax to summarize a contract.\n\nInput Requirements:\n- `scid` is REQUIRED. Must be 64 hex chars (the smart contract id). Use `0000…0001` for the on-chain name registry as a known-good example.\n- `topoheight` is OPTIONAL. Provide to inspect the contract at a specific topo height; omit for latest tip.\n\nOutput: `{ scid, topoheight, kind, surface: { functions[], stringkeys[], uint64keys[], balances }, narrative, raw_code_length, has_code, related_docs }`. `kind` is one of `token | registry | minimal | generic`. `surface.functions` items are `{ name, args, returns }`. `has_code` is false when the SCID is unknown or has no on-chain code; `functions` is then `[]` and the narrative explains the gap. `raw_code_length` is always present so the agent knows when to fall back to `dero_get_sc` for the full source.";
46
46
  readonly diagnose_chain_health: "Composite: run a four-step chain (DERO.Ping → DERO.GetInfo → DERO.GetHeight → DERO.GetTxPool) and return a single narrative health report with chain metadata, mempool snapshot, machine-readable signals, and curated docs citations.\n\nWhen to call: as the first step in any chain-state investigation when the user asks \"is the node healthy\", \"is it synced\", or \"what is the current state of the chain\". PREFER this over chaining the four primitives yourself — the composite handles partial-failure modes and lag-depth classification consistently, and the response already cites the right docs page.\n\nInput Requirements:\n- `include_tx_pool` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.\n\nOutput: `{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }`. `status` is one of `healthy | lagging | partial | unreachable`. `chain` is null when DERO.GetInfo was unreachable; `mempool` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured `_meta.error` with code `RPC_UNREACHABLE`.";
47
+ readonly audit_chain_artifact_claim: "Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (`cited_in_false_claim` | `clean`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.\n\nWhen to call: when the user asks \"what's going on with DERO block X?\" / \"is this transaction the inflation-claim TX?\" / \"does this proof string come from a known false claim?\" PREFER this over chaining `dero_get_block_header_by_topo_height` + `dero_get_transaction` + `dero_decode_proof_string` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single `verdict` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.\n\nInput Requirements (CRITICAL):\n- At least ONE of `topoheight`, `block_hash`, `tx_hash`, or `proof_string` MUST be provided. The composite throws `INVALID_INPUT` otherwise.\n- `topoheight` is OPTIONAL. Non-negative integer.\n- `block_hash` is OPTIONAL. 64 hex characters.\n- `tx_hash` is OPTIONAL. 64 hex characters.\n- `proof_string` is OPTIONAL. Full `deroproof…` / DERO bech32 string with HRP.\n- `include_forge_demo` is OPTIONAL (default false). When true AND `tx_hash` is provided, also forges a fresh demo proof for the same TX (via `dero_forge_demo_proof`) and embeds it under `forge_demo`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited `proof_string` V > -1 DERO. PREFER setting this true when the agent is fielding a \"Verified ✓ means the chain minted coins, right?\" question — the embedded forge IS the refutation.\n\nOutput: `{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }`. `verdict` is `cited_in_false_claim` when any input matches the flagged-artifact registry, else `clean`. `chain_facts` is null when no chain-querying input was provided or all daemon calls failed; `proof_decode` is null when no `proof_string` was provided. `forge_demo` is null unless `include_forge_demo: true` was passed; on success it carries `{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }` (the slim form — full citations stay at the top level).\n\nPREFER citing the returned `related_docs` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the `context_note` when verdict is `cited_in_false_claim` so the user understands why the artifact matters.";
48
+ readonly dero_decode_proof_string: "Decode any DERO bech32 string (`dero…`, `deto…`, `deroi…`, `detoi…`, or `deroproof…`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For `deroproof…` strings the \"public key\" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces `is_proof: true` so the agent does not mislabel it.\n\nWhen to call: when the user pastes a `deroproof…` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE `rpc.NewAddress` and surfaces the `RPC_VALUE_TRANSFER` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).\n\nInput Requirements (CRITICAL):\n- `proof_string` is REQUIRED. The full bech32 string including HRP and separator (e.g. `deroproof1qyy…`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).\n\nOutput: `{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }`. `arguments` is an array of `{ name, type, type_label, semantic_name?, value }`. `value_interpretation` is present only when an `RPC_VALUE_TRANSFER` (V) + `uint64` (U) argument is found. `context_note` + extra `related_docs` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured `_meta.error` with code `INVALID_BECH32` on parse failure.\n\nPREFER citing `integrity/payload-vs-transaction-proofs` and `integrity/negative-transfer-protection` in any agent response that frames a `deroproof…` decode result — readers should understand that \"this string decodes to value V\" is a display-layer fact, not a consensus statement.";
49
+ readonly dero_forge_demo_proof: "Composite: build a fresh `deroproof…` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.\n\nWhen to call: when a user pastes a `deroproof…` string and asks \"does Verified ✓ mean the chain minted these coins?\" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the `docs/integrity/inflation-claim` Part 3 demonstration on arbitrary inputs.\n\nMath: `blinder = C[ring_slot] − amount × G`, then `bech32(\"deroproof\", version || blinder || CBOR({HH: zeros, VU: uint64}))`. The tool runs the same equation `proof.Prove()` checks at `proof/proof.go:88-95` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.\n\nInput Requirements (CRITICAL):\n- Exactly ONE of `tx_hash` or `tx_hex` MUST be provided. `tx_hash` triggers a daemon fetch (and surfaces the receiver address); `tx_hex` skips the daemon and uses the raw bytes the caller already has.\n- `ring_slot` is OPTIONAL (default 0). Must be in [0, ring_size).\n- `amount_dero` is OPTIONAL (default \"-1\"). Signed decimal with up to 5 fractional digits, e.g. `\"-1\"`, `\"1000000\"`, `\"-2200000.00181\"`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.\n\nOutput: `{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }`. `ring_receiver_address` is null when `tx_hex` was passed (the hex carries publickey pointers, not addresses).\n\nREAD-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation `readOnlyHint: true` is preserved. PREFER citing the returned `related_docs` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.";
47
50
  };
48
51
  export type DeroToolName = keyof typeof TOOL_DESCRIPTIONS;
49
52
  export declare const DERO_TOOL_NAMES: readonly DeroToolName[];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;CAuPpB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAA;AAEzD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAEhC,CAAA"}
1
+ {"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiSpB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAA;AAEzD,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAEhC,CAAA"}
@@ -241,6 +241,45 @@ Input Requirements:
241
241
  - \`include_tx_pool\` is OPTIONAL (default true). Set false to skip the mempool snapshot when you only need chain-tip status.
242
242
 
243
243
  Output: \`{ status, narrative, signals[], chain, mempool, related_docs, _diagnostics }\`. \`status\` is one of \`healthy | lagging | partial | unreachable\`. \`chain\` is null when DERO.GetInfo was unreachable; \`mempool\` is null when skipped or the call failed. On total daemon unreachability the tool returns a structured \`_meta.error\` with code \`RPC_UNREACHABLE\`.`,
244
+ audit_chain_artifact_claim: `Composite: audit a chain artifact (block topoheight, block hash, TX hash, and/or proof string) end-to-end. Returns a verdict (\`cited_in_false_claim\` | \`clean\`), the actual on-chain facts (block reward, TX acceptance status), an optional proof-string decode, a relayable narrative, and curated rebuttal docs citations.
245
+
246
+ When to call: when the user asks "what's going on with DERO block X?" / "is this transaction the inflation-claim TX?" / "does this proof string come from a known false claim?" PREFER this over chaining \`dero_get_block_header_by_topo_height\` + \`dero_get_transaction\` + \`dero_decode_proof_string\` yourself: the composite already runs them in parallel, joins them against the flagged false-claim registry, and emits a single \`verdict\` field plus a narrative so the agent does not need to compose the rebuttal arc from scratch each time.
247
+
248
+ Input Requirements (CRITICAL):
249
+ - At least ONE of \`topoheight\`, \`block_hash\`, \`tx_hash\`, or \`proof_string\` MUST be provided. The composite throws \`INVALID_INPUT\` otherwise.
250
+ - \`topoheight\` is OPTIONAL. Non-negative integer.
251
+ - \`block_hash\` is OPTIONAL. 64 hex characters.
252
+ - \`tx_hash\` is OPTIONAL. 64 hex characters.
253
+ - \`proof_string\` is OPTIONAL. Full \`deroproof…\` / DERO bech32 string with HRP.
254
+ - \`include_forge_demo\` is OPTIONAL (default false). When true AND \`tx_hash\` is provided, also forges a fresh demo proof for the same TX (via \`dero_forge_demo_proof\`) and embeds it under \`forge_demo\`. The demo amount auto-selects: a flagged artifact's pinned amount (e.g. -2.2M for the 2022 claim) > the cited \`proof_string\` V > -1 DERO. PREFER setting this true when the agent is fielding a "Verified ✓ means the chain minted coins, right?" question — the embedded forge IS the refutation.
255
+
256
+ Output: \`{ verdict, inputs, matched_artifacts[], context_note, chain_facts, proof_decode, forge_demo, narrative, related_docs, _diagnostics }\`. \`verdict\` is \`cited_in_false_claim\` when any input matches the flagged-artifact registry, else \`clean\`. \`chain_facts\` is null when no chain-querying input was provided or all daemon calls failed; \`proof_decode\` is null when no \`proof_string\` was provided. \`forge_demo\` is null unless \`include_forge_demo: true\` was passed; on success it carries \`{ skipped: false, forged_proof_string, target_amount, ring_slot, ring_size, ring_receiver_address, math, self_check, explorer_display_amount, demo_amount_source }\` (the slim form — full citations stay at the top level).
257
+
258
+ PREFER citing the returned \`related_docs\` verbatim in the agent response — they are the canonical rebuttal pages and have been validated against the bundled docs index by CI. Quote the \`context_note\` when verdict is \`cited_in_false_claim\` so the user understands why the artifact matters.`,
259
+ dero_decode_proof_string: `Decode any DERO bech32 string (\`dero…\`, \`deto…\`, \`deroi…\`, \`detoi…\`, or \`deroproof…\`) into its constituent parts: HRP, network, compressed public key, and any embedded RPC arguments (CBOR-encoded). For \`deroproof…\` strings the "public key" is a derived blinder point used in the proof's commitment math, NOT a wallet pubkey — the tool surfaces \`is_proof: true\` so the agent does not mislabel it.
260
+
261
+ When to call: when the user pastes a \`deroproof…\` / integrated-address string and wants to know what value or fields it encodes. PREFER this over chaining bech32 decoders + CBOR libraries yourself: the tool implements the exact same wire format as DEROHE \`rpc.NewAddress\` and surfaces the \`RPC_VALUE_TRANSFER\` uint64 both as raw and as a signed/wraparound interpretation. The decoder is verified against the publicly-cited 2022 inflation-claim proof string (embedded uint64 = 18446743853709551435 = signed -2,200,000.00181 DERO).
262
+
263
+ Input Requirements (CRITICAL):
264
+ - \`proof_string\` is REQUIRED. The full bech32 string including HRP and separator (e.g. \`deroproof1qyy…\`). Whitespace is trimmed but the case must be consistent (all lower OR all upper per BIP-0173).
265
+
266
+ Output: \`{ decoded: { hrp, mainnet, is_proof, public_key_hex, arguments[] }, value_interpretation?: { uint64, signed_int64, is_negative_wraparound, signed_atoms, dero }, context_note?, related_docs? }\`. \`arguments\` is an array of \`{ name, type, type_label, semantic_name?, value }\`. \`value_interpretation\` is present only when an \`RPC_VALUE_TRANSFER\` (V) + \`uint64\` (U) argument is found. \`context_note\` + extra \`related_docs\` are silently attached when the input matches a flagged adversarially-cited artifact. Returns a structured \`_meta.error\` with code \`INVALID_BECH32\` on parse failure.
267
+
268
+ PREFER citing \`integrity/payload-vs-transaction-proofs\` and \`integrity/negative-transfer-protection\` in any agent response that frames a \`deroproof…\` decode result — readers should understand that "this string decodes to value V" is a display-layer fact, not a consensus statement.`,
269
+ dero_forge_demo_proof: `Composite: build a fresh \`deroproof…\` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed.
270
+
271
+ When to call: when a user pastes a \`deroproof…\` string and asks "does Verified ✓ mean the chain minted these coins?" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the \`docs/integrity/inflation-claim\` Part 3 demonstration on arbitrary inputs.
272
+
273
+ Math: \`blinder = C[ring_slot] − amount × G\`, then \`bech32("deroproof", version || blinder || CBOR({HH: zeros, VU: uint64}))\`. The tool runs the same equation \`proof.Prove()\` checks at \`proof/proof.go:88-95\` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify.
274
+
275
+ Input Requirements (CRITICAL):
276
+ - Exactly ONE of \`tx_hash\` or \`tx_hex\` MUST be provided. \`tx_hash\` triggers a daemon fetch (and surfaces the receiver address); \`tx_hex\` skips the daemon and uses the raw bytes the caller already has.
277
+ - \`ring_slot\` is OPTIONAL (default 0). Must be in [0, ring_size).
278
+ - \`amount_dero\` is OPTIONAL (default "-1"). Signed decimal with up to 5 fractional digits, e.g. \`"-1"\`, \`"1000000"\`, \`"-2200000.00181"\`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions.
279
+
280
+ Output: \`{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }\`. \`ring_receiver_address\` is null when \`tx_hex\` was passed (the hex carries publickey pointers, not addresses).
281
+
282
+ READ-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation \`readOnlyHint: true\` is preserved. PREFER citing the returned \`related_docs\` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.`,
244
283
  };
245
284
  export const DERO_TOOL_NAMES = Object.keys(TOOL_DESCRIPTIONS);
246
285
  //# sourceMappingURL=tool-descriptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;;;;;;sJAMkI;IAEpJ,gBAAgB,EAAE;;;;;;;sDAOkC;IAEpD,aAAa,EAAE;;;;;;uKAMsJ;IAErK,eAAe,EAAE;;;;;;kDAM+B;IAEhD,oBAAoB,EAAE;;;;;;uBAMD;IAErB,0BAA0B,EAAE;;;;;;wFAM0D;IAEtF,cAAc,EAAE;;;;;;;;;2FASyE;IAEzF,oCAAoC,EAAE;;;;;;;4EAOoC;IAE1E,6BAA6B,EAAE;;;;;;;qCAOI;IAEnC,gBAAgB,EAAE;;;;;;4CAMwB;IAE1C,uBAAuB,EAAE;;;;;;;mCAOQ;IAEjC,oBAAoB,EAAE;;;;;;;;uHAQ+F;IAErH,0BAA0B,EAAE;;;;;;;;;;;qEAWuC;IAEnE,WAAW,EAAE;;;;;;;;;;4EAU6D;IAE1E,qBAAqB,EAAE;;;;;;;;;;gDAUuB;IAE9C,oBAAoB,EAAE;;;;;;;;4GAQoF;IAE1G,uBAAuB,EAAE;;;;;;;;;gJASqH;IAE9I,gBAAgB,EAAE;;;;;;;;;;8GAU0F;IAE5G,kBAAkB,EAAE;;;;;;;;uLAQiK;IAErL,cAAc,EAAE;;;;;;;;8GAQ4F;IAE5G,8BAA8B,EAAE;;;;;;;;;01BASwzB;IAEx1B,oBAAoB,EAAE;;;;;;;;;oiBAS4gB;IAEliB,mBAAmB,EAAE;;;;;;;;;ghBASyf;IAE9gB,sBAAsB,EAAE;;;;;;;;khBAQwf;IAEhhB,qBAAqB,EAAE;;;;;;;oXAO2V;CAC1W,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAA4B,MAAM,CAAC,IAAI,CACjE,iBAAiB,CACA,CAAA"}
1
+ {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../src/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;;;;;;sJAMkI;IAEpJ,gBAAgB,EAAE;;;;;;;sDAOkC;IAEpD,aAAa,EAAE;;;;;;uKAMsJ;IAErK,eAAe,EAAE;;;;;;kDAM+B;IAEhD,oBAAoB,EAAE;;;;;;uBAMD;IAErB,0BAA0B,EAAE;;;;;;wFAM0D;IAEtF,cAAc,EAAE;;;;;;;;;2FASyE;IAEzF,oCAAoC,EAAE;;;;;;;4EAOoC;IAE1E,6BAA6B,EAAE;;;;;;;qCAOI;IAEnC,gBAAgB,EAAE;;;;;;4CAMwB;IAE1C,uBAAuB,EAAE;;;;;;;mCAOQ;IAEjC,oBAAoB,EAAE;;;;;;;;uHAQ+F;IAErH,0BAA0B,EAAE;;;;;;;;;;;qEAWuC;IAEnE,WAAW,EAAE;;;;;;;;;;4EAU6D;IAE1E,qBAAqB,EAAE;;;;;;;;;;gDAUuB;IAE9C,oBAAoB,EAAE;;;;;;;;4GAQoF;IAE1G,uBAAuB,EAAE;;;;;;;;;gJASqH;IAE9I,gBAAgB,EAAE;;;;;;;;;;8GAU0F;IAE5G,kBAAkB,EAAE;;;;;;;;uLAQiK;IAErL,cAAc,EAAE;;;;;;;;8GAQ4F;IAE5G,8BAA8B,EAAE;;;;;;;;;01BASwzB;IAEx1B,oBAAoB,EAAE;;;;;;;;;oiBAS4gB;IAEliB,mBAAmB,EAAE;;;;;;;;;ghBASyf;IAE9gB,sBAAsB,EAAE;;;;;;;;khBAQwf;IAEhhB,qBAAqB,EAAE;;;;;;;oXAO2V;IAElX,0BAA0B,EAAE;;;;;;;;;;;;;;uSAcyQ;IAErS,wBAAwB,EAAE;;;;;;;;;gSASoQ;IAE9R,qBAAqB,EAAE;;;;;;;;;;;;;mYAa0W;CACzX,CAAA;AAIV,MAAM,CAAC,MAAM,eAAe,GAA4B,MAAM,CAAC,IAAI,CACjE,iBAAiB,CACA,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Minimal DERO transaction parser — extracts what the FORGE feature needs.
3
+ *
4
+ * Parses NORMAL, BURN_TX, and SC_TX transactions up through each payload's
5
+ * Statement (in particular, the `C[]` array of ring commitments). Does NOT
6
+ * parse the Bulletproof / sigma proofs at the end of the TX — they are large,
7
+ * complex, and irrelevant to forging a display-only payload proof.
8
+ *
9
+ * Wire format mirrors `transaction/transaction.go:Deserialize` (TX outer
10
+ * structure) and `cryptography/crypto/protocol_structures.go:Statement.Deserialize`
11
+ * (per-payload ring state).
12
+ *
13
+ * COINBASE / PREMINE / REGISTRATION transactions are rejected — they have no
14
+ * payloads, so there is nothing to forge a proof against.
15
+ */
16
+ import { type DeroPoint } from './bn254.js';
17
+ export declare enum TransactionType {
18
+ PREMINE = 0,
19
+ REGISTRATION = 1,
20
+ COINBASE = 2,
21
+ NORMAL = 3,
22
+ BURN_TX = 4,
23
+ SC_TX = 5
24
+ }
25
+ export type ParsedStatement = {
26
+ ring_size: number;
27
+ bytes_per_publickey: number;
28
+ fees: bigint;
29
+ /** Compressed ephemeral key D = rG (sender's blinding scalar × G). */
30
+ D: DeroPoint;
31
+ D_hex: string;
32
+ /** Ring-member pointers (sha256 prefixes; cannot recover full addresses from these alone). */
33
+ publickey_pointers: Uint8Array;
34
+ /** Per-ring-slot commitment C[i] = amount_i × G + blinder_i. */
35
+ C: DeroPoint[];
36
+ C_hex: string[];
37
+ roothash: Uint8Array;
38
+ };
39
+ export type ParsedPayload = {
40
+ burn_value: bigint;
41
+ scid_hex: string;
42
+ rpc_type: number;
43
+ rpc_payload: Uint8Array;
44
+ statement: ParsedStatement;
45
+ };
46
+ export type ParsedTransaction = {
47
+ version: bigint;
48
+ source_network: bigint;
49
+ dest_network: bigint;
50
+ type: TransactionType;
51
+ height: bigint;
52
+ blid_hex: string;
53
+ payloads: ParsedPayload[];
54
+ /** Bytes consumed up through the last payload's Statement (proofs/SCDATA ignored). */
55
+ bytes_consumed: number;
56
+ };
57
+ /**
58
+ * Parse a hex-encoded DERO transaction up through each payload's Statement.
59
+ * Proofs and SCDATA (after payloads) are intentionally skipped.
60
+ */
61
+ export declare function parseTransaction(hex: string): ParsedTransaction;
62
+ export declare function getRingCommitment(tx: ParsedTransaction, ringSlot: number, payloadIndex?: number): DeroPoint;
63
+ //# sourceMappingURL=tx-parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-parse.d.ts","sourceRoot":"","sources":["../src/tx-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3D,oBAAY,eAAe;IACzB,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAgDD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,CAAC,EAAE,SAAS,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,8FAA8F;IAC9F,kBAAkB,EAAE,UAAU,CAAA;IAC9B,gEAAgE;IAChE,CAAC,EAAE,SAAS,EAAE,CAAA;IACd,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,UAAU,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,UAAU,CAAA;IACvB,SAAS,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,eAAe,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,sFAAsF;IACtF,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAiED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CA4C/D;AAMD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,SAAI,GACf,SAAS,CASX"}