easyeda-mcp-pro 1.3.0 → 1.5.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 (84) hide show
  1. package/README.md +18 -16
  2. package/dist/bridge/manager.js +32 -7
  3. package/dist/bridge/manager.js.map +1 -1
  4. package/dist/bridge/types.d.ts +1 -0
  5. package/dist/bridge/types.js +1 -0
  6. package/dist/bridge/types.js.map +1 -1
  7. package/dist/cli/auto-setup.js +4 -11
  8. package/dist/cli/auto-setup.js.map +1 -1
  9. package/dist/cli/client-definitions.d.ts +1 -0
  10. package/dist/cli/client-definitions.js +1 -1
  11. package/dist/cli/client-definitions.js.map +1 -1
  12. package/dist/config/profiles.js +3 -3
  13. package/dist/config/version.d.ts +1 -1
  14. package/dist/config/version.js +1 -1
  15. package/dist/layout/index.d.ts +0 -5
  16. package/dist/layout/index.js +0 -5
  17. package/dist/layout/index.js.map +1 -1
  18. package/dist/package-build-manifest.json +136 -211
  19. package/dist/remote/gateway.d.ts +5 -1
  20. package/dist/remote/gateway.js +79 -3
  21. package/dist/remote/gateway.js.map +1 -1
  22. package/dist/schematic-engine/index.d.ts +0 -1
  23. package/dist/schematic-engine/index.js +0 -1
  24. package/dist/schematic-engine/index.js.map +1 -1
  25. package/dist/schematic-model/normalization-plan.d.ts +5 -0
  26. package/dist/schematic-model/normalization-plan.js +12 -11
  27. package/dist/schematic-model/normalization-plan.js.map +1 -1
  28. package/dist/server/transports/http.js +1 -1
  29. package/dist/server/transports/http.js.map +1 -1
  30. package/dist/storage/database.d.ts +7 -33
  31. package/dist/storage/database.js +7 -155
  32. package/dist/storage/database.js.map +1 -1
  33. package/dist/storage/index.d.ts +1 -1
  34. package/dist/storage/types.d.ts +0 -17
  35. package/dist/tools/L1_catalog.js +1 -2
  36. package/dist/tools/L1_catalog.js.map +1 -1
  37. package/dist/tools/L1_pcb_read.js +109 -12
  38. package/dist/tools/L1_pcb_read.js.map +1 -1
  39. package/dist/tools/L1_pcb_write.js +105 -18
  40. package/dist/tools/L1_pcb_write.js.map +1 -1
  41. package/dist/tools/L1_schematic_read.js +2 -14
  42. package/dist/tools/L1_schematic_read.js.map +1 -1
  43. package/dist/tools/L2_workflows.js +45 -74
  44. package/dist/tools/L2_workflows.js.map +1 -1
  45. package/dist/tools/pcb-zone-preview.d.ts +40 -0
  46. package/dist/tools/pcb-zone-preview.js +76 -0
  47. package/dist/tools/pcb-zone-preview.js.map +1 -0
  48. package/dist/tools/types.d.ts +1 -1
  49. package/dist/vendors/base-http-client.d.ts +0 -10
  50. package/dist/vendors/base-http-client.js +2 -12
  51. package/dist/vendors/base-http-client.js.map +1 -1
  52. package/dist/workflows/schematic-layout-qa-geometry-rules.js +1 -8
  53. package/dist/workflows/schematic-layout-qa-geometry-rules.js.map +1 -1
  54. package/dist/workflows/schematic-layout-qa-issue.d.ts +2 -0
  55. package/dist/workflows/schematic-layout-qa-issue.js +9 -0
  56. package/dist/workflows/schematic-layout-qa-issue.js.map +1 -0
  57. package/dist/workflows/schematic-layout-qa-topology-rules.js +1 -8
  58. package/dist/workflows/schematic-layout-qa-topology-rules.js.map +1 -1
  59. package/dist/workflows/schematic-layout-qa.js +1 -8
  60. package/dist/workflows/schematic-layout-qa.js.map +1 -1
  61. package/easyeda-bridge-extension.checksums.json +8 -8
  62. package/easyeda-bridge-extension.eext +0 -0
  63. package/package.json +4 -4
  64. package/dist/layout/block-detector.d.ts +0 -3
  65. package/dist/layout/block-detector.js +0 -252
  66. package/dist/layout/block-detector.js.map +0 -1
  67. package/dist/layout/geometry.d.ts +0 -20
  68. package/dist/layout/geometry.js +0 -150
  69. package/dist/layout/geometry.js.map +0 -1
  70. package/dist/layout/graph.d.ts +0 -5
  71. package/dist/layout/graph.js +0 -185
  72. package/dist/layout/graph.js.map +0 -1
  73. package/dist/layout/operations.d.ts +0 -7
  74. package/dist/layout/operations.js +0 -170
  75. package/dist/layout/operations.js.map +0 -1
  76. package/dist/layout/types.d.ts +0 -281
  77. package/dist/layout/types.js +0 -2
  78. package/dist/layout/types.js.map +0 -1
  79. package/dist/schematic-engine/errors.d.ts +0 -22
  80. package/dist/schematic-engine/errors.js +0 -83
  81. package/dist/schematic-engine/errors.js.map +0 -1
  82. package/dist/schematic-model/model-validator.d.ts +0 -8
  83. package/dist/schematic-model/model-validator.js +0 -180
  84. package/dist/schematic-model/model-validator.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { WebSocketServer } from 'ws';
3
3
  import { z } from 'zod';
4
+ import { getLogger } from '../utils/logger.js';
4
5
  import { ApprovalStore, requiresApproval } from './approval-policy.js';
5
6
  import { RemoteInvocationGrantStore } from './invocation-grants.js';
6
7
  import { RemoteAuditLog } from './observability.js';
@@ -119,6 +120,56 @@ export function identityFromRequest(req, res, config) {
119
120
  const expiresAt = expiresAtHeader ? new Date(expiresAtHeader) : undefined;
120
121
  return { userId, scopes: scopes, expiresAt };
121
122
  }
123
+ const MAX_RELAY_WEBSOCKETS = 64;
124
+ const RELAY_UPGRADE_WINDOW_MS = 60_000;
125
+ function validUpgradeHost(host, config) {
126
+ if (!host)
127
+ return false;
128
+ const hostname = host.toLowerCase().replace(/:\d+$/, '');
129
+ const expected = config.HTTP_HOST.toLowerCase();
130
+ if (expected === '127.0.0.1' || expected === 'localhost' || expected === '::1') {
131
+ return hostname === '127.0.0.1' || hostname === 'localhost' || hostname === '[::1]';
132
+ }
133
+ return hostname === expected || hostname === '127.0.0.1' || hostname === 'localhost';
134
+ }
135
+ function validUpgradeOrigin(origin, config) {
136
+ if (!origin)
137
+ return true; // Non-browser extension clients do not set Origin.
138
+ if (config.ALLOWED_ORIGINS.split(',')
139
+ .map((value) => value.trim())
140
+ .includes(origin))
141
+ return true;
142
+ if (config.CORS_ORIGIN === origin)
143
+ return true;
144
+ if (!['127.0.0.1', 'localhost', '::1'].includes(config.HTTP_HOST))
145
+ return false;
146
+ try {
147
+ const parsed = new URL(origin);
148
+ return ((parsed.protocol === 'http:' || parsed.protocol === 'https:') &&
149
+ ['127.0.0.1', 'localhost', '[::1]'].includes(parsed.hostname));
150
+ }
151
+ catch {
152
+ return false;
153
+ }
154
+ }
155
+ export function allowRelayUpgradeAttempt(attempts, ip, now, rateLimit) {
156
+ // A public relay cannot retain an unbounded entry for every unique source.
157
+ if (!attempts.has(ip) && attempts.size >= 1024) {
158
+ for (const [address, entry] of attempts) {
159
+ if (entry.expiresAt <= now)
160
+ attempts.delete(address);
161
+ }
162
+ if (attempts.size >= 1024)
163
+ return false;
164
+ }
165
+ const previous = attempts.get(ip);
166
+ const current = previous && previous.expiresAt > now
167
+ ? previous
168
+ : { count: 0, expiresAt: now + RELAY_UPGRADE_WINDOW_MS };
169
+ current.count += 1;
170
+ attempts.set(ip, current);
171
+ return current.count <= rateLimit;
172
+ }
122
173
  export class RemoteGateway {
123
174
  router;
124
175
  approvals;
@@ -641,20 +692,45 @@ export class RemoteGateway {
641
692
  res.json({ ok: true, events: this.audit.recent(100) });
642
693
  });
643
694
  }
644
- attachWebSocketServer(server) {
695
+ attachWebSocketServer(server, config) {
645
696
  if (this.wsAttached)
646
697
  return;
647
698
  this.wsAttached = true;
648
- const wss = new WebSocketServer({ noServer: true });
699
+ const wss = new WebSocketServer({
700
+ noServer: true,
701
+ maxPayload: config?.BRIDGE_MAX_PAYLOAD_SIZE ?? 1_048_576,
702
+ });
703
+ const attempts = new Map();
649
704
  server.on('upgrade', (request, socket, head) => {
650
705
  const path = parseUpgradePath(request);
651
706
  if (path !== '/remote/relay' && path !== '/session')
652
707
  return;
708
+ const reject = (status, reason) => {
709
+ socket.end(`HTTP/1.1 ${status} ${reason}\r\nConnection: close\r\n\r\n`);
710
+ };
711
+ if (config && !validUpgradeHost(request.headers.host, config)) {
712
+ reject(400, 'Bad Request');
713
+ return;
714
+ }
715
+ if (config && !validUpgradeOrigin(request.headers.origin, config)) {
716
+ reject(403, 'Forbidden');
717
+ return;
718
+ }
719
+ if (!allowRelayUpgradeAttempt(attempts, request.socket.remoteAddress ?? 'unknown', Date.now(), config?.HTTP_RATE_LIMIT_MAX ?? 100) ||
720
+ wss.clients.size >= MAX_RELAY_WEBSOCKETS) {
721
+ reject(429, 'Too Many Requests');
722
+ return;
723
+ }
653
724
  wss.handleUpgrade(request, socket, head, (ws) => {
654
725
  wss.emit('connection', ws, request);
655
726
  });
656
727
  });
657
- wss.on('connection', (ws) => this.handleRelaySocket(ws));
728
+ wss.on('connection', (ws) => {
729
+ ws.on('error', (error) => {
730
+ getLogger().warn({ code: error.code }, 'relay WebSocket rejected invalid frame');
731
+ });
732
+ this.handleRelaySocket(ws);
733
+ });
658
734
  }
659
735
  handleRelaySocket(ws) {
660
736
  const connectionId = `conn_${this.makeId()}`;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/remote/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/remote/gateway.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
- export * from './errors.js';
2
1
  export * from './geometry.js';
@@ -1,3 +1,2 @@
1
- export * from './errors.js';
2
1
  export * from './geometry.js';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schematic-engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schematic-engine/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -16,6 +16,11 @@ export declare const NormalizationComponentOverrideSchema: z.ZodObject<{
16
16
  bomEligible: z.ZodOptional<z.ZodBoolean>;
17
17
  }, z.core.$strict>;
18
18
  export type NormalizationComponentOverride = z.infer<typeof NormalizationComponentOverrideSchema>;
19
+ export declare function validateUniqueComponentOverrides(value: {
20
+ componentOverrides: Array<{
21
+ componentId: string;
22
+ }>;
23
+ }, ctx: z.RefinementCtx): void;
19
24
  export declare const NormalizationPlanOptionsSchema: z.ZodObject<{
20
25
  normalizeNetNames: z.ZodDefault<z.ZodBoolean>;
21
26
  annotateReferences: z.ZodDefault<z.ZodBoolean>;
@@ -55,16 +55,7 @@ export const NormalizationComponentOverrideSchema = z
55
55
  bomEligible: z.boolean().optional(),
56
56
  })
57
57
  .strict();
58
- export const NormalizationPlanOptionsSchema = z
59
- .object({
60
- normalizeNetNames: z.boolean().default(true),
61
- annotateReferences: z.boolean().default(true),
62
- resolveMetadataExpressions: z.boolean().default(true),
63
- sourceTruncated: z.boolean().default(false),
64
- componentOverrides: z.array(NormalizationComponentOverrideSchema).max(500).default([]),
65
- })
66
- .strict()
67
- .superRefine((value, ctx) => {
58
+ export function validateUniqueComponentOverrides(value, ctx) {
68
59
  const seen = new Set();
69
60
  value.componentOverrides.forEach((override, index) => {
70
61
  if (seen.has(override.componentId)) {
@@ -76,7 +67,17 @@ export const NormalizationPlanOptionsSchema = z
76
67
  }
77
68
  seen.add(override.componentId);
78
69
  });
79
- });
70
+ }
71
+ export const NormalizationPlanOptionsSchema = z
72
+ .object({
73
+ normalizeNetNames: z.boolean().default(true),
74
+ annotateReferences: z.boolean().default(true),
75
+ resolveMetadataExpressions: z.boolean().default(true),
76
+ sourceTruncated: z.boolean().default(false),
77
+ componentOverrides: z.array(NormalizationComponentOverrideSchema).max(500).default([]),
78
+ })
79
+ .strict()
80
+ .superRefine(validateUniqueComponentOverrides);
80
81
  const NormalizationOperationSchema = z.object({
81
82
  operationId: z.string().min(1),
82
83
  kind: NormalizationOperationKindSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"normalization-plan.js","sourceRoot":"","sources":["../../src/schematic-model/normalization-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,cAAc;CACf,CAAC,CAAC;AAGH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,OAAO,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM,IAAI,UAAU,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC;KAClD,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,MAAM,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;SACnF,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACN,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvF,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACnD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oCAAoC,QAAQ,CAAC,WAAW,EAAE;gBACnE,IAAI,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,aAAa,CAAC;aACnD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAIL,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,gCAAgC;IACtC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnD,CAAC,CAAC;AAGH,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;CAC9C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE;IACjC,OAAO,EAAE,8BAA8B;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC9C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACvD,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC1D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC9C,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAChD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACpD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC7C,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;IACpD,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACnD,CAAC,CAAC;AAGH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAAC,SAAsD;IACzE,OAAO,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CACtB,SAAsD;IAEtD,OAAO,4BAA4B,CAAC,KAAK,CAAC;QACxC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC;QACnC,GAAG,SAAS;KACb,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,YAAoB;IACtD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,CACL,mBAAmB,CAAC,IAAI,CAAC;QACzB,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG;QACZ,IAAI,KAAK,GAAG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC;IACf,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA2B,EAAE,UAA6B;IAClF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,KAAK,CAAC;IAC1B,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,CAAC;QACX,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAgB;IAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;QAC1D,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA6B;IACzD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACpE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC;SACvE,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC;SACT,WAAW,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAuC;QAChD,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC;QACpC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;QAC1B,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;QAC3B,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAC5B,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAChC,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC;QACtC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC;QAC1D,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;QAC5B,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC;QAC3B,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;QACxC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;QACrB;YACE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;YACzF,GAAG;SACJ;KACF,CAAC;IACF,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,cAAc,CAAC,UAAgC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM;YAAE,SAAS;QACzE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,YAAY,CAAC,GAAG,CACd,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,KAAwC;IACjF,IAAI,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,CAAC;QACZ,SAAS,GAAG,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,CAA8B,EAAE,CAA8B;IACpF,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,CAAyB,EAAE,CAAyB;IACzE,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC3C,CAAC;AACJ,CAAC;AAUD,SAAS,gBAAgB,CAAC,YAAsC;IAC9D,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClE,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB,EAAE,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/D,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC3C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAuC,EACvC,QAAuC;IAEvC,IAAI,CAAC,OAAO,CAAC,eAAe;QAAE,OAAO;IACrC,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,6BAA6B;QACnC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,mFAAmF;QAC5F,eAAe,EAAE,8DAA8D;QAC/E,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAqB,EACrB,OAAuC,EACvC,QAAuC;IAEvC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAAC,CACpE,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,SAAS;QAC1D,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,8BAA8B;YACpC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,mBAAmB,QAAQ,CAAC,WAAW,yCAAyC;YACzF,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,eAAe,EAAE,6DAA6D;YAC9E,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAqB,EACrB,OAAuC,EACvC,QAAuC;IAEvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE;QACvC,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,+BAA+B;YAAE,SAAS;QAC/D,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAmC,EACnC,UAAkB;IAElB,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,OAAO,eAAe,CAAC;QACrB,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,OAAO,UAAU,EAAE;QAC7B,QAAQ,EAAE,EAAE,UAAU,EAAE;QACxB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;QAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE;QACxC,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,aAAa;QACnC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QAC7C,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QACtC,MAAM,EAAE,aAAa;YACnB,CAAC,CAAC,gFAAgF;YAClF,CAAC,CAAC,sDAAsD;QAC1D,eAAe,EAAE;YACf,oCAAoC;YACpC,6BAA6B;YAC7B,0BAA0B;SAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAmC;IAC9D,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,CAAC;IAC1D,OAAO,GAAG,CAAC,WAAW;SACnB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,GAAG,CAAC,gBAAgB,CAAC;SAC3D,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAqB,EACrB,OAAuC,EACvC,UAAoC;IAEpC,IAAI,CAAC,OAAO,CAAC,iBAAiB;QAAE,OAAO;IACvC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,SAA6B;IACtD,MAAM,QAAQ,GAA2B,EAAE,WAAW,EAAE,SAAS,CAAC,oBAAoB,EAAE,CAAC;IACzF,IAAI,SAAS,CAAC,kBAAkB;QAAE,QAAQ,CAAC,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC;IAC7F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA6B,EAC7B,QAAuC,EACvC,OAAuC,EACvC,KAAwC,EACxC,WAA4B;IAE5B,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,EAAE,SAAS,CAAC;IAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/E,IAAI,SAAS,GAAG,iBAAiB,CAAC;IAClC,IAAI,CAAC,SAAS,IAAI,MAAM;QAAE,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,4EAA4E;YACrF,WAAW,EAAE,SAAS,CAAC,oBAAoB;YAC3C,YAAY,EAAE,SAAS,CAAC,SAAS;YACjC,eAAe,EAAE,iEAAiE;YAClF,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,iBAAiB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACjE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB,SAAS,oDAAoD;YAC5F,WAAW,EAAE,SAAS,CAAC,oBAAoB;YAC3C,YAAY,EAAE,SAAS,CAAC,SAAS;YACjC,eAAe,EAAE,uCAAuC;YACxD,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,iBAAiB;QAC9B,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,OAAO,MAAM,mEAAmE,CAAC;IACrF,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,eAAe,CAAC;QACd,IAAI,EAAE,oBAAoB;QAC1B,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,SAAS,CAAC,oBAAoB;QACxC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC;QACtC,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE;QAC7C,KAAK,EAAE,EAAE,SAAS,EAAE;QACpB,SAAS,EAAE,CAAC,iBAAiB;QAC7B,oBAAoB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAChD,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACjD,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,eAAe,EAAE;YACf,4BAA4B;YAC5B,kCAAkC;YAClC,0BAA0B;SAC3B;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAgB,EAChB,aAAqB,EACrB,OAAuC;IAEvC,OAAO,CACL,OAAO,CAAC,0BAA0B;QAClC,oBAAoB,CAAC,QAAQ,CAAC;QAC9B,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACpC,aAAa,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,SAA6B,EAC7B,QAAuC,EACvC,OAAuC,EACvC,WAA4B;IAE5B,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM;QAAE,OAAO;IAC/C,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,CAAC;IACtC,MAAM,oBAAoB,GAAG,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,CAAC,QAAQ,CAAC;IACjG,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAElG,IAAI,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,aAAa,IAAI,SAAS,CAAC,KAAK,CAAC;QAC/C,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,eAAe,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS,CAAC,oBAAoB;YACxC,QAAQ,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,oBAAoB,EAAE;YACzD,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;YACrC,KAAK,EAAE,EAAE,KAAK,EAAE;YAChB,SAAS,EAAE,CAAC,aAAa;YACzB,oBAAoB,EAAE,OAAO,CAAC,aAAa,CAAC;YAC5C,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,aAAa;gBACnB,CAAC,CAAC,+CAA+C;gBACjD,CAAC,CAAC,8DAA8D;YAClE,eAAe,EAAE,CAAC,8BAA8B,EAAE,oBAAoB,CAAC;SACxE,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO;IACtE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,qEAAqE;QAC9E,WAAW,EAAE,SAAS,CAAC,oBAAoB;QAC3C,YAAY,EAAE,SAAS,CAAC,SAAS;QACjC,eAAe,EAAE,uDAAuD;QACxE,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA6B,EAC7B,QAAuC,EACvC,OAAuC,EACvC,WAA4B;IAE5B,IAAI,SAAS,CAAC,aAAa,KAAK,MAAM;QAAE,OAAO;IAC/C,MAAM,iBAAiB,GAAG,QAAQ,EAAE,SAAS,CAAC;IAC9C,MAAM,oBAAoB,GACxB,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,CAAC,YAAY,CAAC;IAClF,MAAM,iBAAiB,GAAG,yBAAyB,CACjD,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,SAAS,EACnB,OAAO,CACR,CAAC;IAEF,IAAI,oBAAoB,IAAI,iBAAiB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,IAAI,SAAS,CAAC,SAAS,CAAC;QAC3D,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,eAAe,CAAC;YACd,IAAI,EAAE,yBAAyB;YAC/B,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS,CAAC,oBAAoB;YACxC,QAAQ,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,oBAAoB,EAAE;YACzD,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE;YAC7C,KAAK,EAAE,EAAE,SAAS,EAAE;YACpB,SAAS,EAAE,CAAC,iBAAiB;YAC7B,oBAAoB,EAAE,OAAO,CAAC,iBAAiB,CAAC;YAChD,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,iBAAiB;gBACvB,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,kEAAkE;YACtE,eAAe,EAAE;gBACf,8BAA8B;gBAC9B,oBAAoB;gBACpB,sBAAsB;aACvB;SACF,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC;QAAE,OAAO;IAC9E,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,yEAAyE;QAClF,WAAW,EAAE,SAAS,CAAC,oBAAoB;QAC3C,YAAY,EAAE,SAAS,CAAC,SAAS;QACjC,eAAe,EAAE,mEAAmE;QACpF,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,SAA6B,EAC7B,QAAuC,EACvC,WAA4B;IAE5B,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO;IACrE,IAAI,QAAQ,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,UAAU,CAAC,IAAI,CACzB,eAAe,CAAC;YACd,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,SAAS,CAAC,oBAAoB;YACxC,QAAQ,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,oBAAoB,EAAE;YACzD,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE;YACtF,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE;YAC5C,SAAS,EAAE,KAAK;YAChB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,4DAA4D;YACpE,eAAe,EAAE,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;SAC5E,CAAC,CACH,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO;IAC7E,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,uEAAuE;QAChF,WAAW,EAAE,SAAS,CAAC,oBAAoB;QAC3C,YAAY,EAAE,SAAS,CAAC,SAAS;QACjC,eAAe,EAAE,8DAA8D;QAC/E,UAAU,EAAE,QAAQ;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAqB,EACrB,OAAuC,EACvC,WAA4B;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAC/E,CAAC;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAC7D,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC/D,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACnE,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACxD,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5D,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAqB,EACrB,QAAuC;IAEvC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS;QACxC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,iFAAiF;YAC1F,OAAO,EAAE,GAAG,CAAC,gBAAgB;YAC7B,eAAe,EAAE,4EAA4E;YAC7F,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAoB,EACpB,oBAA6B,EAC7B,cAAsB;IAEtB,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,oBAAoB;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,cAAc,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe,CACtB,UAAoC,EACpC,IAAgC;IAEhC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,OAAO,MAAM,CAAC;QACZ,GAAG,KAAK;QACR,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAC7D;QACD,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC1F,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/F,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAqB,EACrB,eAAyC,EAAE;IAE3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEpF,0BAA0B,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1D,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChE,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpE,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/D,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAElD,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1C,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAE1C,MAAM,0BAA0B,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAC9D,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,oBAAoB,CAC9C,CAAC,MAAM,CAAC;IACT,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GAAG,0BAA0B,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,mBAAmB,CAChC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAC3B,oBAAoB,EACpB,WAAW,CAAC,UAAU,CAAC,MAAM,CAC9B,CAAC;IACF,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG;QAClB,aAAa,EAAE,gCAAgC;QAC/C,SAAS;QACT,OAAO;QACP,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC;IAEF,OAAO,+BAA+B,CAAC,KAAK,CAAC;QAC3C,GAAG,WAAW;QACd,MAAM,EAAE,QAAQ,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,IAAI;QACd,MAAM;QACN,gBAAgB;QAChB,eAAe,EAAE,gBAAgB,IAAI,CAAC,oBAAoB;QAC1D,oBAAoB;QACpB,OAAO,EAAE;YACP,cAAc,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM;YAC7C,uBAAuB,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;iBACvF,MAAM;YACT,0BAA0B;YAC1B,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC;YAC7E,wBAAwB,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC;YACvF,gBAAgB,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,qBAAqB,CAAC;YAChF,oBAAoB,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,yBAAyB,CAAC;YACxF,sBAAsB,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;YAC/E,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;YACzC,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;SAC1C;QACD,sBAAsB,EAAE;YACtB,wCAAwC;YACxC,6CAA6C;YAC7C,mDAAmD;YACnD,0CAA0C;YAC1C,+DAA+D;SAChE;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"normalization-plan.js","sourceRoot":"","sources":["../../src/schematic-model/normalization-plan.ts"],"names":[],"mappings":"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"}
@@ -544,7 +544,7 @@ export function createHttpTransport(config, options = {}) {
544
544
  return new Promise((resolve) => {
545
545
  server = app.listen(config.HTTP_PORT, config.HTTP_HOST, () => {
546
546
  if (server)
547
- gateway.attachWebSocketServer(server);
547
+ gateway.attachWebSocketServer(server, config);
548
548
  logger.info({ host: config.HTTP_HOST, port: config.HTTP_PORT }, 'HTTP transport listening');
549
549
  resolve();
550
550
  });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/server/transports/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/server/transports/http.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { type EnvConfig } from '../config/env.js';
2
- import { type ProjectCache, type ArtifactRecord, type VerifiedDeviceRecord } from './types.js';
2
+ import { type VerifiedDeviceRecord } from './types.js';
3
3
  /**
4
4
  * SQLite-backed persistent storage for the MCP server.
5
5
  *
6
- * Manages project cache entries, generic key/value cache with TTL,
7
- * and artifact records. Uses WAL mode and foreign keys for safety.
8
- * All public methods are safe — errors are logged internally and
9
- * never thrown to the caller.
6
+ * Stores verified catalog devices. Retains legacy cache/artifact tables for
7
+ * compatibility with existing databases. Uses WAL mode and foreign keys for safety.
8
+ * Read operations fail safely; persistence methods report failure explicitly
9
+ * so a write error cannot be mistaken for a committed cache entry.
10
10
  */
11
11
  export declare class Storage {
12
12
  private readonly db;
@@ -15,38 +15,12 @@ export declare class Storage {
15
15
  constructor(config: EnvConfig);
16
16
  /** Initialise the schema (tables + indexes). Safe to call multiple times. */
17
17
  initialize(): void;
18
- /** Retrieve a cached value by key. Returns `null` when missing or expired. */
19
- cacheGet(key: string): string | null;
20
- /**
21
- * Store a value in the cache.
22
- * @param ttlSec Time-to-live in seconds. 0 means never expire.
23
- */
24
- cacheSet(key: string, value: string, ttlSec?: number): void;
25
- /** Remove a single cache entry by key. */
26
- cacheDelete(key: string): void;
27
- /** Remove all cache entries. */
28
- cacheClear(): void;
29
- /** Look up a project cache entry by its hash. Returns `null` if not found. */
30
- getProjectCache(hash: string): ProjectCache | null;
31
- /** Insert or replace a project cache entry. */
32
- upsertProjectCache(cache: ProjectCache): void;
33
- /** Store a new artifact record (gerber, bom, pdf, etc.). */
34
- insertArtifact(artifact: ArtifactRecord): void;
35
- /**
36
- * List artifact records for a project, optionally filtered by type.
37
- * Results are ordered by creation date descending.
38
- */
39
- getArtifacts(projectHash: string, type?: string): ArtifactRecord[];
40
- /** Insert or replace a verified-device cache entry, keyed by LCSC id. */
41
- upsertVerifiedDevice(record: Omit<VerifiedDeviceRecord, 'createdAt' | 'updatedAt'>): void;
18
+ /** Insert or replace a verified-device cache entry, keyed by LCSC id. Returns true only on commit. */
19
+ upsertVerifiedDevice(record: Omit<VerifiedDeviceRecord, 'createdAt' | 'updatedAt'>): boolean;
42
20
  /** Look up a cached verified-device entry by LCSC id. Returns `null` if not found. */
43
21
  getVerifiedDevice(lcscId: string): VerifiedDeviceRecord | null;
44
22
  /** List cached verified devices, optionally filtered by status, newest first. */
45
23
  listVerifiedDevices(status?: VerifiedDeviceRecord['status']): VerifiedDeviceRecord[];
46
- /** Remove a cached verified-device entry by LCSC id. */
47
- deleteVerifiedDevice(lcscId: string): void;
48
- /** Reclaim storage by running VACUUM. */
49
- vacuum(): void;
50
24
  /** Close the database connection. */
51
25
  close(): void;
52
26
  }