@samanhappy/mcphub 1.0.28 → 1.0.29

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 (61) hide show
  1. package/README.fr.md +1 -1
  2. package/README.md +1 -1
  3. package/README.zh.md +1 -1
  4. package/dist/clients/openapi.js +194 -15
  5. package/dist/clients/openapi.js.map +1 -1
  6. package/dist/controllers/serverController.js +21 -1
  7. package/dist/controllers/serverController.js.map +1 -1
  8. package/dist/server.js +12 -9
  9. package/dist/server.js.map +1 -1
  10. package/dist/services/mcpOAuthProvider.js +13 -4
  11. package/dist/services/mcpOAuthProvider.js.map +1 -1
  12. package/dist/services/mcpService.js +19 -2
  13. package/dist/services/mcpService.js.map +1 -1
  14. package/dist/utils/serverConfigPersistence.js +3 -0
  15. package/dist/utils/serverConfigPersistence.js.map +1 -1
  16. package/dist/utils/serverShutdown.js +27 -0
  17. package/dist/utils/serverShutdown.js.map +1 -0
  18. package/frontend/dist/assets/{ActivityPage-D0SFqsRe.js → ActivityPage-F14wJ7k4.js} +2 -2
  19. package/frontend/dist/assets/{ActivityPage-D0SFqsRe.js.map → ActivityPage-F14wJ7k4.js.map} +1 -1
  20. package/frontend/dist/assets/{Dashboard-DzWkQnht.js → Dashboard-CDd51FL-.js} +2 -2
  21. package/frontend/dist/assets/{Dashboard-DzWkQnht.js.map → Dashboard-CDd51FL-.js.map} +1 -1
  22. package/frontend/dist/assets/{EndpointCopy-Bqjt3lGe.js → EndpointCopy-AZCY_Rwi.js} +2 -2
  23. package/frontend/dist/assets/{EndpointCopy-Bqjt3lGe.js.map → EndpointCopy-AZCY_Rwi.js.map} +1 -1
  24. package/frontend/dist/assets/{GroupsPage-DsmZMSK0.js → GroupsPage-CaJKH8Lx.js} +2 -2
  25. package/frontend/dist/assets/{GroupsPage-DsmZMSK0.js.map → GroupsPage-CaJKH8Lx.js.map} +1 -1
  26. package/frontend/dist/assets/{LoginPage-_Gr1ere-.js → LoginPage-DeHCwVAG.js} +2 -2
  27. package/frontend/dist/assets/{LoginPage-_Gr1ere-.js.map → LoginPage-DeHCwVAG.js.map} +1 -1
  28. package/frontend/dist/assets/{LogsPage-D2vByutC.js → LogsPage-CnCc36oX.js} +2 -2
  29. package/frontend/dist/assets/{LogsPage-D2vByutC.js.map → LogsPage-CnCc36oX.js.map} +1 -1
  30. package/frontend/dist/assets/{MarketPage-BhyrxwBv.js → MarketPage-BfhuTkze.js} +2 -2
  31. package/frontend/dist/assets/{MarketPage-BhyrxwBv.js.map → MarketPage-BfhuTkze.js.map} +1 -1
  32. package/frontend/dist/assets/{PromptsPage-BLn95Icp.js → PromptsPage-Dq-mlu1T.js} +2 -2
  33. package/frontend/dist/assets/{PromptsPage-BLn95Icp.js.map → PromptsPage-Dq-mlu1T.js.map} +1 -1
  34. package/frontend/dist/assets/{ResourcesPage-B27GVOO6.js → ResourcesPage-CDquGhgr.js} +2 -2
  35. package/frontend/dist/assets/{ResourcesPage-B27GVOO6.js.map → ResourcesPage-CDquGhgr.js.map} +1 -1
  36. package/frontend/dist/assets/{ServersPage-BuoWpLAq.js → ServersPage-z4d-9c6s.js} +4 -4
  37. package/frontend/dist/assets/{ServersPage-BuoWpLAq.js.map → ServersPage-z4d-9c6s.js.map} +1 -1
  38. package/frontend/dist/assets/{SettingsPage-BzCwUvx7.js → SettingsPage-BrpO0gki.js} +2 -2
  39. package/frontend/dist/assets/{SettingsPage-BzCwUvx7.js.map → SettingsPage-BrpO0gki.js.map} +1 -1
  40. package/frontend/dist/assets/{StatusDot-BUWJw3dA.js → StatusDot-BznpIDQ4.js} +2 -2
  41. package/frontend/dist/assets/{StatusDot-BUWJw3dA.js.map → StatusDot-BznpIDQ4.js.map} +1 -1
  42. package/frontend/dist/assets/{ToggleGroup-BPAIOm5B.js → ToggleGroup-DRYZvM0V.js} +2 -2
  43. package/frontend/dist/assets/{ToggleGroup-BPAIOm5B.js.map → ToggleGroup-DRYZvM0V.js.map} +1 -1
  44. package/frontend/dist/assets/{UsersPage-SZrL0bKd.js → UsersPage-Bbb4nPBC.js} +2 -2
  45. package/frontend/dist/assets/{UsersPage-SZrL0bKd.js.map → UsersPage-Bbb4nPBC.js.map} +1 -1
  46. package/frontend/dist/assets/{contextCost-BxT09q-Y.js → contextCost-BFsl4S2x.js} +2 -2
  47. package/frontend/dist/assets/{contextCost-BxT09q-Y.js.map → contextCost-BFsl4S2x.js.map} +1 -1
  48. package/frontend/dist/assets/index-CgcdOGDO.js +3 -0
  49. package/frontend/dist/assets/{index-Bz_euXvO.js.map → index-CgcdOGDO.js.map} +1 -1
  50. package/frontend/dist/assets/{resourceService-CWKSpa0p.js → resourceService-Ck6rpYB-.js} +2 -2
  51. package/frontend/dist/assets/{resourceService-CWKSpa0p.js.map → resourceService-Ck6rpYB-.js.map} +1 -1
  52. package/frontend/dist/assets/useSettingsData-Dkw2yET1.js +2 -0
  53. package/frontend/dist/assets/{useSettingsData-0sbahDtL.js.map → useSettingsData-Dkw2yET1.js.map} +1 -1
  54. package/frontend/dist/assets/variableDetection-BnH3Qdq5.js +16 -0
  55. package/frontend/dist/assets/variableDetection-BnH3Qdq5.js.map +1 -0
  56. package/frontend/dist/index.html +1 -1
  57. package/package.json +3 -2
  58. package/frontend/dist/assets/index-Bz_euXvO.js +0 -3
  59. package/frontend/dist/assets/useSettingsData-0sbahDtL.js +0 -2
  60. package/frontend/dist/assets/variableDetection-DfkBZ0gv.js +0 -16
  61. package/frontend/dist/assets/variableDetection-DfkBZ0gv.js.map +0 -1
package/README.fr.md CHANGED
@@ -137,7 +137,7 @@ Les contributions sont les bienvenues ! Rejoignez notre [communauté Discord](ht
137
137
 
138
138
  ## 🌟 Historique des étoiles
139
139
 
140
- [![Historique des étoiles](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
140
+ [![Historique des étoiles](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
141
141
 
142
142
  ## 📄 Licence
143
143
 
package/README.md CHANGED
@@ -160,7 +160,7 @@ Contributions welcome! See our [Discord community](https://discord.gg/2BJehJZVH5
160
160
 
161
161
  ## 🌟 Star History
162
162
 
163
- [![Star History Chart](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
163
+ [![Star History Chart](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
164
164
 
165
165
  ## 📄 License
166
166
 
package/README.zh.md CHANGED
@@ -162,7 +162,7 @@ pnpm dev
162
162
 
163
163
  ## 🌟 Star 历史趋势
164
164
 
165
- [![Star History Chart](https://api.star-history.com/svg?repos=samanhappy/mcphub&type=Date)](https://www.star-history.com/#samanhappy/mcphub&Date)
165
+ [![Star History Chart](https://star-history.dera.page/svg?repos=samanhappy/mcphub&type=Date)](https://star-history.dera.page/#samanhappy/mcphub&Date)
166
166
 
167
167
  ## 📄 许可证
168
168
 
@@ -1,6 +1,8 @@
1
1
  import axios from 'axios';
2
+ import { CookieJar } from 'tough-cookie';
2
3
  import SwaggerParser from '@apidevtools/swagger-parser';
3
- import { assertSafeUrl } from '../utils/ssrf.js';
4
+ import * as yaml from 'js-yaml';
5
+ import { assertSafeUrl, UnsafeUrlError } from '../utils/ssrf.js';
4
6
  import { getUserDao } from '../dao/index.js';
5
7
  import { sanitizeStringForLogging, createSafeJSON } from '../utils/serialization.js';
6
8
  export class OpenAPIClient {
@@ -8,6 +10,10 @@ export class OpenAPIClient {
8
10
  this.config = config;
9
11
  this.spec = null;
10
12
  this.tools = [];
13
+ // Per-session cookie jars for the dynamic Set-Cookie login flow. Keyed by
14
+ // downstream MCP sessionId so authenticated state never crosses users or
15
+ // sessions. In-memory only; never persisted.
16
+ this.cookieJars = new Map();
11
17
  // Resolved in initialize(): admin-owned servers may target internal services
12
18
  // and skip the SSRF internal-IP blocklist.
13
19
  this.allowInternalNetworks = false;
@@ -56,7 +62,9 @@ export class OpenAPIClient {
56
62
  return config;
57
63
  });
58
64
  }
59
- // Note: Cookie authentication would need additional setup
65
+ else if (location === 'cookie') {
66
+ this.staticCookieHeader = `${name}=${value}`;
67
+ }
60
68
  }
61
69
  break;
62
70
  case 'http':
@@ -194,9 +202,41 @@ export class OpenAPIClient {
194
202
  }
195
203
  async initialize() {
196
204
  try {
205
+ // Resolve whether this server's owner is an admin first; admin-owned
206
+ // servers may legitimately target internal services and skip the SSRF
207
+ // blocklist. Needed before the URL fetch so the spec-download guard is
208
+ // scoped the same way as callTool's.
209
+ const ownerUser = this.config.owner
210
+ ? await getUserDao().findByUsername(this.config.owner)
211
+ : null;
212
+ this.allowInternalNetworks = !!ownerUser?.isAdmin;
213
+ // Obtain/refresh the OAuth2 access token up front so it authenticates the
214
+ // document download (for url configs) and is ready for later API calls.
215
+ // No-op when no OAuth2 security is configured.
216
+ await this.ensureOAuth2AccessToken();
197
217
  // Parse and dereference the OpenAPI specification
198
218
  if (this.config.openapi?.url) {
199
- this.spec = (await SwaggerParser.dereference(this.config.openapi.url));
219
+ // Fetch the document through the authenticated httpClient (carries
220
+ // config.headers + security credentials from setupSecurity, and uses
221
+ // maxRedirects: 0 so credentials are never forwarded across a
222
+ // cross-origin redirect). SwaggerParser's own resolver is bypassed for
223
+ // the main document so its (unauthenticated) headers never see the
224
+ // credentials; external $ref resolution still uses that resolver and
225
+ // therefore receives no auth by default.
226
+ const specUrl = this.config.openapi.url;
227
+ await assertSafeUrl(specUrl, { allowInternal: this.allowInternalNetworks });
228
+ const requestConfig = {
229
+ responseType: 'text',
230
+ transformResponse: [(data) => data],
231
+ };
232
+ // The static apiKey.in:'cookie' value is otherwise only injected in
233
+ // callTool; apply it here too so cookie-protected spec URLs load.
234
+ if (this.staticCookieHeader) {
235
+ requestConfig.headers = { Cookie: this.staticCookieHeader };
236
+ }
237
+ const response = await this.httpClient.get(specUrl, requestConfig);
238
+ const raw = typeof response.data === 'string' ? response.data : String(response.data);
239
+ this.spec = (await SwaggerParser.dereference(specUrl, this.parseSpecDocument(raw), {}));
200
240
  }
201
241
  else if (this.config.openapi?.schema) {
202
242
  // For schema object, we need to pass it as a cloned object
@@ -207,18 +247,27 @@ export class OpenAPIClient {
207
247
  }
208
248
  // Update baseUrl from OpenAPI servers field
209
249
  this.updateBaseUrlFromServers();
210
- // Resolve whether this server's owner is an admin; admin-owned servers
211
- // may legitimately target internal services and skip the SSRF blocklist.
212
- const ownerUser = this.config.owner
213
- ? await getUserDao().findByUsername(this.config.owner)
214
- : null;
215
- this.allowInternalNetworks = !!ownerUser?.isAdmin;
216
250
  this.extractTools();
217
- await this.ensureOAuth2AccessToken();
218
251
  }
219
252
  catch (error) {
253
+ // Let SSRF rejections propagate as-is so callers can distinguish a blocked
254
+ // target from a parse/auth failure (matches callTool's handling).
255
+ if (error instanceof UnsafeUrlError) {
256
+ throw error;
257
+ }
220
258
  const errorMessage = error instanceof Error ? error.message : String(error);
221
- throw new Error(`Failed to load OpenAPI specification: ${errorMessage}`);
259
+ throw new Error(`Failed to load OpenAPI specification: ${sanitizeStringForLogging(errorMessage)}`);
260
+ }
261
+ }
262
+ // Parse a fetched spec body into an object. JSON first (stricter errors for
263
+ // malformed JSON), YAML fallback so protected YAML documents work without
264
+ // relying on SwaggerParser's own fetch (which cannot carry our credentials).
265
+ parseSpecDocument(raw) {
266
+ try {
267
+ return JSON.parse(raw);
268
+ }
269
+ catch {
270
+ return yaml.load(raw);
222
271
  }
223
272
  }
224
273
  generateOperationName(method, path) {
@@ -389,13 +438,14 @@ export class OpenAPIClient {
389
438
  }
390
439
  return parameterSchema;
391
440
  }
392
- async callTool(toolName, args, passthroughHeaders, hasRetriedAfterUnauthorized = false) {
441
+ async callTool(toolName, args, passthroughHeaders, hasRetriedAfterUnauthorized = false, sessionId) {
393
442
  const tool = this.tools.find((t) => t.name === toolName);
394
443
  if (!tool) {
395
444
  throw new Error(`Tool '${toolName}' not found`);
396
445
  }
397
446
  let attemptedUpstreamRequest = false;
398
447
  let authorizationUsedForRequest;
448
+ let resolvedTarget = null;
399
449
  try {
400
450
  await this.ensureOAuth2AccessToken();
401
451
  // Build the request URL with path parameters
@@ -452,7 +502,7 @@ export class OpenAPIClient {
452
502
  // internal/loopback/link-local address. The baseURL and tool path are
453
503
  // both attacker-influenced (via the OpenAPI spec), so validate the
454
504
  // final URL rather than trusting either alone.
455
- let resolvedTarget = null;
505
+ resolvedTarget = null;
456
506
  try {
457
507
  resolvedTarget = new URL(String(requestConfig.url ?? '/'), this.baseUrl || undefined);
458
508
  }
@@ -464,25 +514,44 @@ export class OpenAPIClient {
464
514
  allowInternal: this.allowInternalNetworks,
465
515
  });
466
516
  }
517
+ const cookieSessionEnabled = this.isCookieSessionEnabled(sessionId);
518
+ // Inject cookies when either the dynamic session store is active for this
519
+ // call or a static `apiKey.in: 'cookie'` is configured (static cookies
520
+ // apply to every request regardless of session).
521
+ if ((cookieSessionEnabled || this.staticCookieHeader) && resolvedTarget) {
522
+ this.applyRequestCookies(requestConfig, resolvedTarget.href, cookieSessionEnabled ? sessionId : undefined);
523
+ }
467
524
  authorizationUsedForRequest = this.getDefaultAuthorizationHeader();
468
525
  attemptedUpstreamRequest = true;
469
526
  const response = await this.httpClient.request(requestConfig);
527
+ if (cookieSessionEnabled && resolvedTarget) {
528
+ this.captureResponseCookies(response, resolvedTarget.href, sessionId);
529
+ }
470
530
  return response.data;
471
531
  }
472
532
  catch (error) {
473
533
  if (axios.isAxiosError(error)) {
534
+ // Capture Set-Cookie from non-2xx responses too. With maxRedirects: 0,
535
+ // a 3xx login redirect is surfaced as an error; 4xx logout responses
536
+ // may expire cookies. Capture before retry/rethrow so the jar stays
537
+ // current and the 401-retry path can re-inject updated cookies.
538
+ if (this.isCookieSessionEnabled(sessionId) &&
539
+ resolvedTarget &&
540
+ error.response) {
541
+ this.captureResponseCookies(error.response, resolvedTarget.href, sessionId);
542
+ }
474
543
  if (attemptedUpstreamRequest &&
475
544
  error.response?.status === 401 &&
476
545
  !hasRetriedAfterUnauthorized &&
477
546
  authorizationUsedForRequest &&
478
547
  authorizationUsedForRequest !== this.getDefaultAuthorizationHeader()) {
479
- return this.callTool(toolName, args, passthroughHeaders, true);
548
+ return this.callTool(toolName, args, passthroughHeaders, true, sessionId);
480
549
  }
481
550
  if (attemptedUpstreamRequest &&
482
551
  error.response?.status === 401 &&
483
552
  !hasRetriedAfterUnauthorized &&
484
553
  (await this.invalidateRefreshableOAuth2Token())) {
485
- return this.callTool(toolName, args, passthroughHeaders, true);
554
+ return this.callTool(toolName, args, passthroughHeaders, true, sessionId);
486
555
  }
487
556
  const status = error.response?.status ?? 'unknown';
488
557
  const statusText = error.response?.statusText ?? 'Unknown Error';
@@ -513,8 +582,118 @@ export class OpenAPIClient {
513
582
  getSpec() {
514
583
  return this.spec;
515
584
  }
585
+ isCookieSessionEnabled(sessionId) {
586
+ return !!this.config.openapi?.cookieSession && typeof sessionId === 'string' && sessionId.length > 0;
587
+ }
588
+ // Lazily create a per-session cookie jar, seeded with the static apiKey
589
+ // cookie (if any) so it applies to every request and can be overridden by a
590
+ // dynamic Set-Cookie of the same name.
591
+ getCookieJar(sessionId) {
592
+ let jar = this.cookieJars.get(sessionId);
593
+ if (jar) {
594
+ return jar;
595
+ }
596
+ // Backstop: evict the oldest jar before exceeding the cap. Session-end
597
+ // cleanup is the primary eviction path; this guards against leaks when a
598
+ // session is abandoned without an explicit close.
599
+ if (this.cookieJars.size >= OpenAPIClient.MAX_COOKIE_JARS) {
600
+ const oldest = this.cookieJars.keys().next().value;
601
+ if (oldest !== undefined) {
602
+ this.cookieJars.delete(oldest);
603
+ }
604
+ }
605
+ jar = new CookieJar();
606
+ if (this.staticCookieHeader && this.baseUrl) {
607
+ try {
608
+ jar.setCookieSync(`${this.staticCookieHeader}; Path=/`, this.baseUrl);
609
+ }
610
+ catch {
611
+ // ignore malformed static cookie / unsuitable baseUrl
612
+ }
613
+ }
614
+ this.cookieJars.set(sessionId, jar);
615
+ return jar;
616
+ }
617
+ // Apply stored cookies to an outgoing request. When a session jar exists,
618
+ // use it (it already includes any seeded static cookie and captured dynamic
619
+ // cookies). Otherwise fall back to the static `apiKey.in: 'cookie'` value so
620
+ // static cookie auth works without opting into session handling.
621
+ applyRequestCookies(requestConfig, requestUrl, sessionId) {
622
+ let cookieString = '';
623
+ if (sessionId) {
624
+ const jar = this.cookieJars.get(sessionId);
625
+ if (jar) {
626
+ try {
627
+ cookieString = jar.getCookieStringSync(requestUrl);
628
+ }
629
+ catch {
630
+ return;
631
+ }
632
+ }
633
+ else if (this.staticCookieHeader) {
634
+ cookieString = this.staticCookieHeader;
635
+ }
636
+ }
637
+ else if (this.staticCookieHeader) {
638
+ cookieString = this.staticCookieHeader;
639
+ }
640
+ if (cookieString) {
641
+ const existingHeaders = requestConfig.headers;
642
+ const merged = OpenAPIClient.mergeCookieHeader(existingHeaders?.Cookie, cookieString);
643
+ requestConfig.headers = {
644
+ ...existingHeaders,
645
+ Cookie: merged,
646
+ };
647
+ }
648
+ }
649
+ // Merge two Cookie header strings, with `additional` (jar/static) values
650
+ // winning for duplicate names so caller-configured cookies are preserved.
651
+ static mergeCookieHeader(existing, additional) {
652
+ const entries = new Map();
653
+ const parse = (header) => {
654
+ for (const part of header.split(';')) {
655
+ const trimmed = part.trim();
656
+ if (!trimmed) {
657
+ continue;
658
+ }
659
+ const eq = trimmed.indexOf('=');
660
+ if (eq <= 0) {
661
+ continue;
662
+ }
663
+ entries.set(trimmed.slice(0, eq).trim(), trimmed.slice(eq + 1));
664
+ }
665
+ };
666
+ if (existing) {
667
+ parse(existing);
668
+ }
669
+ parse(additional);
670
+ return [...entries].map(([k, v]) => `${k}=${v}`).join('; ');
671
+ }
672
+ // Capture Set-Cookie headers from an upstream response into the session jar.
673
+ captureResponseCookies(response, requestUrl, sessionId) {
674
+ const setCookie = response.headers?.['set-cookie'];
675
+ if (!setCookie) {
676
+ return;
677
+ }
678
+ const jar = this.getCookieJar(sessionId);
679
+ const headers = Array.isArray(setCookie) ? setCookie : [setCookie];
680
+ for (const header of headers) {
681
+ try {
682
+ jar.setCookieSync(header, requestUrl);
683
+ }
684
+ catch {
685
+ // skip unparseable Set-Cookie rather than failing the tool call
686
+ }
687
+ }
688
+ }
689
+ // Drop the cookie jar for a session. Called from session-end cleanup.
690
+ clearSessionCookies(sessionId) {
691
+ this.cookieJars.delete(sessionId);
692
+ }
516
693
  disconnect() {
517
694
  // No persistent connection to close for OpenAPI
695
+ this.cookieJars.clear();
518
696
  }
519
697
  }
698
+ OpenAPIClient.MAX_COOKIE_JARS = 1000;
520
699
  //# sourceMappingURL=openapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAoBrF,MAAM,OAAO,aAAa;IAYxB,YACU,MAAoB,EAC5B,UAAgC,EAAE;QAD1B,WAAM,GAAN,MAAM,CAAc;QAXtB,SAAI,GAA8B,IAAI,CAAC;QACvC,UAAK,GAAsB,EAAE,CAAC;QAKtC,6EAA6E;QAC7E,2CAA2C;QACnC,0BAAqB,GAAG,KAAK,CAAC;QAMpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK;YACzC,YAAY,EAAE,CAAC;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,MAAM,CAAC,OAAO;aAClB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACjC,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBACjE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACxD,CAAC;yBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;4BACvD,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;4BACpD,OAAO,MAAM,CAAC;wBAChB,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,0DAA0D;gBAC5D,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACzD,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,EAAE,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;oBACrF,CAAC;yBAAM,IAAI,MAAM,KAAK,OAAO,IAAI,WAAW,EAAE,CAAC;wBAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC;oBACpF,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;oBACtC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;oBAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAAc;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,CAAC;IAEO,6BAA6B;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;QACnF,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,gCAAgC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,SAAS,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,MAA2B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,SAAkB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,MAA2B;QACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,MAAM,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAG9B,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GACb,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,UAAU,GAAG,IAAI;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,kDAAkD;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CACxB,CAAuB,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBACvC,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CACvD,CAAuB,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,uEAAuE;YACvE,yEAAyE;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;gBACjC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC;YAElD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,IAAY;QACxD,+DAA+D;QAC/D,MAAM,SAAS,GAAG,IAAI;aACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,mCAAmC;aAC7D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,2DAA2D;aAClF,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wBAAwB;aAChE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,uBAAuB;aAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB;QAEtC,oDAAoD;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,GAAG,UAAU,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAChD,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAE3B,oEAAoE;QACpE,4EAA4E;QAC5E,qEAAqE;QACrE,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;oBACpC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,8DAA8D;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,gBAAgB;YAChB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClD,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,4CAA4C;QAEtF,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,OAAO,GAAG;gBACd,KAAK;gBACL,MAAM;gBACN,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,OAAO;aACC,CAAC;YAEX,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAA0C,CAAC;gBAC5E,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAEzB,iFAAiF;gBACjF,IAAI,aAAqB,CAAC;gBAC1B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC1B,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAEzD,0DAA0D;oBAC1D,IAAI,UAAU,GAAG,aAAa,CAAC;oBAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;wBACvF,UAAU,GAAG,GAAG,aAAa,GAAG,OAAO,EAAE,CAAC;wBAC1C,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,aAAa,GAAG,UAAU,CAAC;gBAC7B,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAElC,MAAM,IAAI,GAAoB;oBAC5B,IAAI,EAAE,aAAa;oBACnB,WAAW,EACT,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE;oBACjF,mEAAmE;oBACnE,4EAA4E;oBAC5E,mEAAmE;oBACnE,oEAAoE;oBACpE,wEAAwE;oBACxE,WAAW,EAAE,cAAc,CACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAgB,CAAC,CAC5D;oBACD,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,aAAa;oBACnD,MAAM,EAAE,MAAgB;oBACxB,IAAI;oBACJ,UAAU,EAAE,SAAS,CAAC,UAAyC;oBAC/D,WAAW,EAAE,SAAS,CAAC,WAA0C;oBACjE,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,SAAoC,EACpC,KAAa,EACb,OAAe;QAEf,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAqC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAoB,CAAC;QAE7C,yBAAyB;QACzB,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAC7C,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CACV,CAAC;QAEjC,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CACnD,KAAK,EACL,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAChC,CAAC;gBACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CACX,CAAC;QAEjC,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CACnD,KAAK,EACL,oBAAoB,KAAK,CAAC,IAAI,EAAE,CACjC,CAAC;gBACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,SAAS,CAAC,WAA0C,CAAC;YACzE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;YAE9D,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;gBACxB,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;gBACxC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAC7B,KAAgC,EAChC,mBAA2B;QAE3B,MAAM,eAAe,GACnB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAEvF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAClD,CAAC;aAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACxC,eAAe,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,IAA6B,EAC7B,kBAA2C,EAC3C,2BAA2B,GAAG,KAAK;QAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,IAAI,2BAA+C,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,6CAA6C;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAEzE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAE9E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,aAAa,GAAuB;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAa;gBAC1B,GAAG;gBACH,MAAM,EAAE,WAAW;aACpB,CAAC;YAEF,iCAAiC;YACjC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,CAAC;YAED,iCAAiC;YACjC,MAAM,UAAU,GAA2B,EAAE,CAAC;YAE9C,mDAAmD;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,IAAI,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;gBAClE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAChE,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,UAAU,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YACrC,CAAC;YAED,mEAAmE;YACnE,sEAAsE;YACtE,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,cAAc,GAAe,IAAI,CAAC;YACtC,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE;oBACvC,aAAa,EAAE,IAAI,CAAC,qBAAqB;iBAC1C,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACnE,wBAAwB,GAAG,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IACE,wBAAwB;oBACxB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;oBAC9B,CAAC,2BAA2B;oBAC5B,2BAA2B;oBAC3B,2BAA2B,KAAK,IAAI,CAAC,6BAA6B,EAAE,EACpE,CAAC;oBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBACjE,CAAC;gBAED,IACE,wBAAwB;oBACxB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;oBAC9B,CAAC,2BAA2B;oBAC5B,CAAC,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC,EAC/C,CAAC;oBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBACjE,CAAC;gBAED,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS,CAAC;gBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,IAAI,eAAe,CAAC;gBACjE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAC1C,IAAI,eAAe,GAAG,EAAE,CAAC;gBAEzB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;oBAC/E,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACrC,eAAe,GAAG,YAAY,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBACjD,CAAC;wBAAC,MAAM,CAAC;4BACP,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,eAAe,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,oBAAoB,MAAM,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,UAAU;QACR,gDAAgD;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/clients/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAoBrF,MAAM,OAAO,aAAa;IAqBxB,YACU,MAAoB,EAC5B,UAAgC,EAAE;QAD1B,WAAM,GAAN,MAAM,CAAc;QApBtB,SAAI,GAA8B,IAAI,CAAC;QACvC,UAAK,GAAsB,EAAE,CAAC;QAKtC,0EAA0E;QAC1E,yEAAyE;QACzE,6CAA6C;QAC5B,eAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;QAM3D,6EAA6E;QAC7E,2CAA2C;QACnC,0BAAqB,GAAG,KAAK,CAAC;QAMpC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK;YACzC,YAAY,EAAE,CAAC;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,MAAM,CAAC,OAAO;aAClB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YACjC,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;oBACjE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBACxD,CAAC;yBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE;4BACvD,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;4BACpD,OAAO,MAAM,CAAC;wBAChB,CAAC,CAAC,CAAC;oBACL,CAAC;yBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBACjC,IAAI,CAAC,kBAAkB,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACzD,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,EAAE,CAAC;wBACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;oBACrF,CAAC;yBAAM,IAAI,MAAM,KAAK,OAAO,IAAI,WAAW,EAAE,CAAC;wBAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,WAAW,EAAE,CAAC;oBACpF,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;oBACtC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;oBAC7C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAAc;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,CAAC;IAEO,6BAA6B;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;QACnF,OAAO,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,gCAAgC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,SAAS,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,MAA2B;QACrD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,SAAkB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,MAA2B;QACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,oBAAoB;YAChC,SAAS,EAAE,MAAM,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;SACtB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAG9B,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,SAAS,GACb,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,UAAU,GAAG,IAAI;YAC9C,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpF,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,qCAAqC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK;gBACjC,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC;YAElD,0EAA0E;YAC1E,wEAAwE;YACxE,+CAA+C;YAC/C,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,kDAAkD;YAClD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,mEAAmE;gBACnE,qEAAqE;gBACrE,8DAA8D;gBAC9D,uEAAuE;gBACvE,mEAAmE;gBACnE,qEAAqE;gBACrE,yCAAyC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gBACxC,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAC5E,MAAM,aAAa,GAAuB;oBACxC,YAAY,EAAE,MAAM;oBACpB,iBAAiB,EAAE,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC;iBAC7C,CAAC;gBACF,oEAAoE;gBACpE,kEAAkE;gBAClE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,aAAa,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC9D,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACnE,MAAM,GAAG,GACP,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5E,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAC1C,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAC3B,EAAE,CACH,CAAuB,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBACvC,2DAA2D;gBAC3D,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,CAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CACvD,CAAuB,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,kEAAkE;YAClE,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACpC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CACb,yCAAyC,wBAAwB,CAAC,YAAY,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IACrE,iBAAiB,CAAC,GAAW;QACnC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,IAAY;QACxD,+DAA+D;QAC/D,MAAM,SAAS,GAAG,IAAI;aACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,mCAAmC;aAC7D,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,2DAA2D;aAClF,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,wBAAwB;aAChE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,uBAAuB;aAC/D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB;QAEtC,oDAAoD;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,GAAG,UAAU,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;IAChD,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAE3B,oEAAoE;QACpE,4EAA4E;QAC5E,qEAAqE;QACrE,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;oBACpC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,8DAA8D;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,gBAAgB;YAChB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,GAAG,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClD,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,4CAA4C;QAEtF,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,OAAO,GAAG;gBACd,KAAK;gBACL,MAAM;gBACN,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,OAAO;aACC,CAAC;YAEX,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAA0C,CAAC;gBAC5E,IAAI,CAAC,SAAS;oBAAE,SAAS;gBAEzB,iFAAiF;gBACjF,IAAI,aAAqB,CAAC;gBAC1B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC1B,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAEzD,0DAA0D;oBAC1D,IAAI,UAAU,GAAG,aAAa,CAAC;oBAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;wBACvF,UAAU,GAAG,GAAG,aAAa,GAAG,OAAO,EAAE,CAAC;wBAC1C,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,aAAa,GAAG,UAAU,CAAC;gBAC7B,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAElC,MAAM,IAAI,GAAoB;oBAC5B,IAAI,EAAE,aAAa;oBACnB,WAAW,EACT,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE;oBACjF,mEAAmE;oBACnE,4EAA4E;oBAC5E,mEAAmE;oBACnE,oEAAoE;oBACpE,wEAAwE;oBACxE,WAAW,EAAE,cAAc,CACzB,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAgB,CAAC,CAC5D;oBACD,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,aAAa;oBACnD,MAAM,EAAE,MAAgB;oBACxB,IAAI;oBACJ,UAAU,EAAE,SAAS,CAAC,UAAyC;oBAC/D,WAAW,EAAE,SAAS,CAAC,WAA0C;oBACjE,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,SAAoC,EACpC,KAAa,EACb,OAAe;QAEf,MAAM,MAAM,GAA4B;YACtC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAqC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAoB,CAAC;QAE7C,yBAAyB;QACzB,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAC7C,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CACV,CAAC;QAEjC,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CACnD,KAAK,EACL,mBAAmB,KAAK,CAAC,IAAI,EAAE,CAChC,CAAC;gBACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,CACX,CAAC;QAEjC,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CACnD,KAAK,EACL,oBAAoB,KAAK,CAAC,IAAI,EAAE,CACjC,CAAC;gBACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,SAAS,CAAC,WAA0C,CAAC;YACzE,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;YAE9D,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;gBACxB,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;gBACxC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAC7B,KAAgC,EAChC,mBAA2B;QAE3B,MAAM,eAAe,GACnB,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAEvF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAClD,CAAC;aAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACxC,eAAe,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,IAA6B,EAC7B,kBAA2C,EAC3C,2BAA2B,GAAG,KAAK,EACnC,SAAkB;QAElB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,IAAI,2BAA+C,CAAC;QACpD,IAAI,cAAc,GAAe,IAAI,CAAC;QAEtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,6CAA6C;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAEzE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YAE9E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,aAAa,GAAuB;gBACxC,MAAM,EAAE,IAAI,CAAC,MAAa;gBAC1B,GAAG;gBACH,MAAM,EAAE,WAAW;aACpB,CAAC;YAEF,iCAAiC;YACjC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjC,CAAC;YAED,iCAAiC;YACjC,MAAM,UAAU,GAA2B,EAAE,CAAC;YAE9C,mDAAmD;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,IAAI,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;gBAClE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAChE,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;wBACnC,UAAU,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YACrC,CAAC;YAED,mEAAmE;YACnE,sEAAsE;YACtE,mEAAmE;YACnE,+CAA+C;YAC/C,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;YACxF,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE;oBACvC,aAAa,EAAE,IAAI,CAAC,qBAAqB;iBAC1C,CAAC,CAAC;YACL,CAAC;YAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,0EAA0E;YAC1E,uEAAuE;YACvE,iDAAiD;YACjD,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,cAAc,EAAE,CAAC;gBACxE,IAAI,CAAC,mBAAmB,CACtB,aAAa,EACb,cAAc,CAAC,IAAI,EACnB,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;YACJ,CAAC;YAED,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACnE,wBAAwB,GAAG,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE9D,IAAI,oBAAoB,IAAI,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,IACE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;oBACtC,cAAc;oBACd,KAAK,CAAC,QAAQ,EACd,CAAC;oBACD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9E,CAAC;gBACD,IACE,wBAAwB;oBACxB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;oBAC9B,CAAC,2BAA2B;oBAC5B,2BAA2B;oBAC3B,2BAA2B,KAAK,IAAI,CAAC,6BAA6B,EAAE,EACpE,CAAC;oBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5E,CAAC;gBAED,IACE,wBAAwB;oBACxB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG;oBAC9B,CAAC,2BAA2B;oBAC5B,CAAC,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC,EAC/C,CAAC;oBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5E,CAAC;gBAED,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS,CAAC;gBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,IAAI,eAAe,CAAC;gBACjE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAC1C,IAAI,eAAe,GAAG,EAAE,CAAC;gBAEzB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;oBAC/E,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACrC,eAAe,GAAG,YAAY,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBACjD,CAAC;wBAAC,MAAM,CAAC;4BACP,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,eAAe,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,oBAAoB,MAAM,IAAI,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAAC,SAAkB;QAC/C,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACvG,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,uCAAuC;IAC/B,YAAY,CAAC,SAAiB;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,kDAAkD;QAClD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,kBAAkB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,iEAAiE;IACzD,mBAAmB,CACzB,aAAiC,EACjC,UAAkB,EAClB,SAAkB;QAElB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC;oBACH,YAAY,GAAG,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrD,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACnC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzC,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,aAAa,CAAC,OAA6C,CAAC;YACpF,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACtF,aAAa,CAAC,OAAO,GAAG;gBACtB,GAAG,eAAe;gBAClB,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAClE,MAAM,CAAC,iBAAiB,CAAC,QAA4B,EAAE,UAAkB;QAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE;YAC/B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;gBACD,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBACZ,SAAS;gBACX,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,6EAA6E;IACrE,sBAAsB,CAC5B,QAAuB,EACvB,UAAkB,EAClB,SAAiB;QAEjB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,gEAAgE;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,UAAU;QACR,gDAAgD;QAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;;AAl0BuB,6BAAe,GAAG,IAAI,AAAP,CAAQ"}
@@ -1,7 +1,7 @@
1
1
  import { isDeepStrictEqual } from 'node:util';
2
2
  import { getServersInfo, addServer, addOrUpdateServer, removeServer, getServerByName, notifyToolChanged, broadcastToolListChanged, broadcastPromptListChanged, broadcastResourceListChanged, syncToolEmbedding, toggleServerStatus, reconnectServer, reinstallServer, updateServerInfoVisibility, } from '../services/mcpService.js';
3
3
  import { clearAllCaches } from '../utils/cacheUtils.js';
4
- import { syncAllServerToolsEmbeddings } from '../services/vectorSearchService.js';
4
+ import { removeServerToolEmbeddings, syncAllServerToolsEmbeddings, } from '../services/vectorSearchService.js';
5
5
  import { createSafeJSON } from '../utils/serialization.js';
6
6
  import { cloneDefaultOAuthServerConfig } from '../constants/oauthServerDefaults.js';
7
7
  import { getBearerKeyDao, getGroupDao, getOAuthClientDao, getOAuthTokenDao, getServerDao, getSystemConfigDao, getUserConfigDao, getUserDao, } from '../dao/DaoFactory.js';
@@ -683,6 +683,18 @@ export const updateServer = async (req, res) => {
683
683
  // Update references in bearer keys
684
684
  const bearerKeyDao = getBearerKeyDao();
685
685
  await bearerKeyDao.updateServerName(name, newName);
686
+ // Drop embeddings stored under the old name so search_tools does not
687
+ // advertise phantom tools; addOrUpdateServer below regenerates them
688
+ // under the new name. A failure here must not abort the rename.
689
+ try {
690
+ await removeServerToolEmbeddings(name);
691
+ }
692
+ catch (error) {
693
+ console.warn('Failed to remove embeddings for renamed server', {
694
+ serverName: name,
695
+ error,
696
+ });
697
+ }
686
698
  }
687
699
  // Use the final server name (new name if renaming, otherwise original name)
688
700
  const finalName = isRenaming ? newName : name;
@@ -1118,6 +1130,14 @@ export const resetToolDescription = async (req, res) => {
1118
1130
  }
1119
1131
  };
1120
1132
  export const updateSystemConfig = async (req, res) => {
1133
+ const user = getRequestUser(req);
1134
+ if (!user?.isAdmin) {
1135
+ res.status(403).json({
1136
+ success: false,
1137
+ message: 'Admin privileges required',
1138
+ });
1139
+ return;
1140
+ }
1121
1141
  try {
1122
1142
  const { routing, install, smartRouting, toolResultCompression, mcpRouter, nameSeparator, enableSessionRebuild, oauthServer, auth, activityLog, } = req.body;
1123
1143
  const hasRoutingUpdate = routing &&