arc-1 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +1 -1
  2. package/dist/adt/abapgit.d.ts.map +1 -1
  3. package/dist/adt/abapgit.js +64 -7
  4. package/dist/adt/abapgit.js.map +1 -1
  5. package/dist/adt/aunit.js +4 -4
  6. package/dist/adt/aunit.js.map +1 -1
  7. package/dist/adt/class-structure.d.ts +4 -2
  8. package/dist/adt/class-structure.d.ts.map +1 -1
  9. package/dist/adt/class-structure.js +18 -9
  10. package/dist/adt/class-structure.js.map +1 -1
  11. package/dist/adt/client.d.ts +19 -53
  12. package/dist/adt/client.d.ts.map +1 -1
  13. package/dist/adt/client.js +72 -96
  14. package/dist/adt/client.js.map +1 -1
  15. package/dist/adt/codeintel.d.ts +1 -1
  16. package/dist/adt/codeintel.d.ts.map +1 -1
  17. package/dist/adt/codeintel.js +11 -4
  18. package/dist/adt/codeintel.js.map +1 -1
  19. package/dist/adt/config.d.ts +5 -0
  20. package/dist/adt/config.d.ts.map +1 -1
  21. package/dist/adt/config.js.map +1 -1
  22. package/dist/adt/crud.d.ts +3 -3
  23. package/dist/adt/crud.d.ts.map +1 -1
  24. package/dist/adt/crud.js +21 -6
  25. package/dist/adt/crud.js.map +1 -1
  26. package/dist/adt/data-source-policy.d.ts +21 -13
  27. package/dist/adt/data-source-policy.d.ts.map +1 -1
  28. package/dist/adt/data-source-policy.js +63 -114
  29. package/dist/adt/data-source-policy.js.map +1 -1
  30. package/dist/adt/ddic-xml.d.ts +9 -0
  31. package/dist/adt/ddic-xml.d.ts.map +1 -1
  32. package/dist/adt/ddic-xml.js +17 -3
  33. package/dist/adt/ddic-xml.js.map +1 -1
  34. package/dist/adt/devtools.js +3 -3
  35. package/dist/adt/devtools.js.map +1 -1
  36. package/dist/adt/diagnostics.js +4 -4
  37. package/dist/adt/diagnostics.js.map +1 -1
  38. package/dist/adt/enhancements.d.ts +7 -0
  39. package/dist/adt/enhancements.d.ts.map +1 -0
  40. package/dist/adt/enhancements.js +89 -0
  41. package/dist/adt/enhancements.js.map +1 -0
  42. package/dist/adt/errors.d.ts +19 -10
  43. package/dist/adt/errors.d.ts.map +1 -1
  44. package/dist/adt/errors.js +73 -53
  45. package/dist/adt/errors.js.map +1 -1
  46. package/dist/adt/fm-signature.d.ts +1 -1
  47. package/dist/adt/fm-signature.d.ts.map +1 -1
  48. package/dist/adt/fm-signature.js +9 -1
  49. package/dist/adt/fm-signature.js.map +1 -1
  50. package/dist/adt/http.d.ts +7 -27
  51. package/dist/adt/http.d.ts.map +1 -1
  52. package/dist/adt/http.js +34 -32
  53. package/dist/adt/http.js.map +1 -1
  54. package/dist/adt/internal-data-operations.d.ts +3 -2
  55. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  56. package/dist/adt/internal-data-operations.js +8 -1
  57. package/dist/adt/internal-data-operations.js.map +1 -1
  58. package/dist/adt/legacy-content-handler.d.ts +3 -0
  59. package/dist/adt/legacy-content-handler.d.ts.map +1 -0
  60. package/dist/adt/legacy-content-handler.js +21 -0
  61. package/dist/adt/legacy-content-handler.js.map +1 -0
  62. package/dist/adt/lock-object.d.ts +92 -0
  63. package/dist/adt/lock-object.d.ts.map +1 -0
  64. package/dist/adt/lock-object.js +195 -0
  65. package/dist/adt/lock-object.js.map +1 -0
  66. package/dist/adt/rap-generate.d.ts +5 -1
  67. package/dist/adt/rap-generate.d.ts.map +1 -1
  68. package/dist/adt/rap-generate.js +112 -100
  69. package/dist/adt/rap-generate.js.map +1 -1
  70. package/dist/adt/server-driven.d.ts +42 -10
  71. package/dist/adt/server-driven.d.ts.map +1 -1
  72. package/dist/adt/server-driven.js +98 -18
  73. package/dist/adt/server-driven.js.map +1 -1
  74. package/dist/adt/source-precondition.d.ts +3 -0
  75. package/dist/adt/source-precondition.d.ts.map +1 -0
  76. package/dist/adt/source-precondition.js +12 -0
  77. package/dist/adt/source-precondition.js.map +1 -0
  78. package/dist/adt/text-search.js +5 -5
  79. package/dist/adt/text-search.js.map +1 -1
  80. package/dist/adt/transport.js +3 -3
  81. package/dist/adt/transport.js.map +1 -1
  82. package/dist/adt/types.d.ts +19 -1
  83. package/dist/adt/types.d.ts.map +1 -1
  84. package/dist/adt/user-agent.d.ts +4 -0
  85. package/dist/adt/user-agent.d.ts.map +1 -0
  86. package/dist/adt/user-agent.js +11 -0
  87. package/dist/adt/user-agent.js.map +1 -0
  88. package/dist/adt/xml-entities.d.ts +3 -0
  89. package/dist/adt/xml-entities.d.ts.map +1 -0
  90. package/dist/adt/xml-entities.js +19 -0
  91. package/dist/adt/xml-entities.js.map +1 -0
  92. package/dist/adt/xml-parser.d.ts +7 -30
  93. package/dist/adt/xml-parser.d.ts.map +1 -1
  94. package/dist/adt/xml-parser.js +25 -54
  95. package/dist/adt/xml-parser.js.map +1 -1
  96. package/dist/authz/policy.d.ts.map +1 -1
  97. package/dist/authz/policy.js +2 -0
  98. package/dist/authz/policy.js.map +1 -1
  99. package/dist/cache/caching-layer.d.ts.map +1 -1
  100. package/dist/cache/caching-layer.js +7 -11
  101. package/dist/cache/caching-layer.js.map +1 -1
  102. package/dist/cli.js +1 -1
  103. package/dist/cli.js.map +1 -1
  104. package/dist/context/compressor.d.ts.map +1 -1
  105. package/dist/context/compressor.js +5 -25
  106. package/dist/context/compressor.js.map +1 -1
  107. package/dist/context/deps.d.ts.map +1 -1
  108. package/dist/context/deps.js +50 -4
  109. package/dist/context/deps.js.map +1 -1
  110. package/dist/context/grep.d.ts +14 -0
  111. package/dist/context/grep.d.ts.map +1 -1
  112. package/dist/context/grep.js +49 -0
  113. package/dist/context/grep.js.map +1 -1
  114. package/dist/context/unit-surgery.d.ts +3 -1
  115. package/dist/context/unit-surgery.d.ts.map +1 -1
  116. package/dist/context/unit-surgery.js +52 -5
  117. package/dist/context/unit-surgery.js.map +1 -1
  118. package/dist/handlers/activate.d.ts +1 -1
  119. package/dist/handlers/activate.d.ts.map +1 -1
  120. package/dist/handlers/activate.js +23 -35
  121. package/dist/handlers/activate.js.map +1 -1
  122. package/dist/handlers/diagnose.d.ts.map +1 -1
  123. package/dist/handlers/diagnose.js +8 -29
  124. package/dist/handlers/diagnose.js.map +1 -1
  125. package/dist/handlers/dispatch.d.ts.map +1 -1
  126. package/dist/handlers/dispatch.js +21 -5
  127. package/dist/handlers/dispatch.js.map +1 -1
  128. package/dist/handlers/editable-source.d.ts +6 -0
  129. package/dist/handlers/editable-source.d.ts.map +1 -0
  130. package/dist/handlers/editable-source.js +53 -0
  131. package/dist/handlers/editable-source.js.map +1 -0
  132. package/dist/handlers/feature-cache.d.ts +2 -0
  133. package/dist/handlers/feature-cache.d.ts.map +1 -1
  134. package/dist/handlers/feature-cache.js +8 -0
  135. package/dist/handlers/feature-cache.js.map +1 -1
  136. package/dist/handlers/hyperfocused.js +1 -1
  137. package/dist/handlers/hyperfocused.js.map +1 -1
  138. package/dist/handlers/lint.js +1 -1
  139. package/dist/handlers/lint.js.map +1 -1
  140. package/dist/handlers/navigate.d.ts.map +1 -1
  141. package/dist/handlers/navigate.js +12 -2
  142. package/dist/handlers/navigate.js.map +1 -1
  143. package/dist/handlers/object-types.d.ts +2 -3
  144. package/dist/handlers/object-types.d.ts.map +1 -1
  145. package/dist/handlers/object-types.js +13 -5
  146. package/dist/handlers/object-types.js.map +1 -1
  147. package/dist/handlers/read.d.ts.map +1 -1
  148. package/dist/handlers/read.js +38 -7
  149. package/dist/handlers/read.js.map +1 -1
  150. package/dist/handlers/schemas.d.ts +39 -0
  151. package/dist/handlers/schemas.d.ts.map +1 -1
  152. package/dist/handlers/schemas.js +50 -7
  153. package/dist/handlers/schemas.js.map +1 -1
  154. package/dist/handlers/syntax.d.ts +5 -0
  155. package/dist/handlers/syntax.d.ts.map +1 -0
  156. package/dist/handlers/syntax.js +35 -0
  157. package/dist/handlers/syntax.js.map +1 -0
  158. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  159. package/dist/handlers/tool-descriptions.js +8 -6
  160. package/dist/handlers/tool-descriptions.js.map +1 -1
  161. package/dist/handlers/tool-registry.d.ts +4 -4
  162. package/dist/handlers/tool-registry.d.ts.map +1 -1
  163. package/dist/handlers/tool-registry.js +4 -0
  164. package/dist/handlers/tool-registry.js.map +1 -1
  165. package/dist/handlers/tools.d.ts +1 -16
  166. package/dist/handlers/tools.d.ts.map +1 -1
  167. package/dist/handlers/tools.js +44 -55
  168. package/dist/handlers/tools.js.map +1 -1
  169. package/dist/handlers/transport.d.ts.map +1 -1
  170. package/dist/handlers/transport.js +17 -3
  171. package/dist/handlers/transport.js.map +1 -1
  172. package/dist/handlers/where-used.d.ts.map +1 -1
  173. package/dist/handlers/where-used.js +0 -5
  174. package/dist/handlers/where-used.js.map +1 -1
  175. package/dist/handlers/write/class-edit.d.ts +16 -0
  176. package/dist/handlers/write/class-edit.d.ts.map +1 -0
  177. package/dist/handlers/write/class-edit.js +55 -0
  178. package/dist/handlers/write/class-edit.js.map +1 -0
  179. package/dist/handlers/write/class-surgery.d.ts +2 -2
  180. package/dist/handlers/write/class-surgery.d.ts.map +1 -1
  181. package/dist/handlers/write/class-surgery.js +189 -220
  182. package/dist/handlers/write/class-surgery.js.map +1 -1
  183. package/dist/handlers/write/context.d.ts +1 -8
  184. package/dist/handlers/write/context.d.ts.map +1 -1
  185. package/dist/handlers/write/create.d.ts.map +1 -1
  186. package/dist/handlers/write/create.js +11 -4
  187. package/dist/handlers/write/create.js.map +1 -1
  188. package/dist/handlers/write/metadata-update.d.ts +4 -0
  189. package/dist/handlers/write/metadata-update.d.ts.map +1 -0
  190. package/dist/handlers/write/metadata-update.js +58 -0
  191. package/dist/handlers/write/metadata-update.js.map +1 -0
  192. package/dist/handlers/write/rap.d.ts.map +1 -1
  193. package/dist/handlers/write/rap.js +132 -155
  194. package/dist/handlers/write/rap.js.map +1 -1
  195. package/dist/handlers/write/unit-surgery.d.ts +2 -2
  196. package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
  197. package/dist/handlers/write/unit-surgery.js +14 -8
  198. package/dist/handlers/write/unit-surgery.js.map +1 -1
  199. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  200. package/dist/handlers/write/update-delete.js +34 -82
  201. package/dist/handlers/write/update-delete.js.map +1 -1
  202. package/dist/handlers/write-helpers.d.ts +3 -2
  203. package/dist/handlers/write-helpers.d.ts.map +1 -1
  204. package/dist/handlers/write-helpers.js +123 -18
  205. package/dist/handlers/write-helpers.js.map +1 -1
  206. package/dist/handlers/write.d.ts.map +1 -1
  207. package/dist/handlers/write.js +15 -29
  208. package/dist/handlers/write.js.map +1 -1
  209. package/dist/public/read-only-client.d.ts +6 -0
  210. package/dist/public/read-only-client.d.ts.map +1 -0
  211. package/dist/public/read-only-client.js +66 -0
  212. package/dist/public/read-only-client.js.map +1 -0
  213. package/dist/public/types.d.ts +2 -13
  214. package/dist/public/types.d.ts.map +1 -1
  215. package/dist/server/audit.d.ts +6 -1
  216. package/dist/server/audit.d.ts.map +1 -1
  217. package/dist/server/audit.js.map +1 -1
  218. package/dist/server/config.d.ts.map +1 -1
  219. package/dist/server/config.js +3 -0
  220. package/dist/server/config.js.map +1 -1
  221. package/dist/server/deny-actions.d.ts +2 -1
  222. package/dist/server/deny-actions.d.ts.map +1 -1
  223. package/dist/server/deny-actions.js +13 -2
  224. package/dist/server/deny-actions.js.map +1 -1
  225. package/dist/server/http.d.ts.map +1 -1
  226. package/dist/server/http.js +4 -0
  227. package/dist/server/http.js.map +1 -1
  228. package/dist/server/logger.d.ts +3 -3
  229. package/dist/server/logger.d.ts.map +1 -1
  230. package/dist/server/logger.js +7 -7
  231. package/dist/server/logger.js.map +1 -1
  232. package/dist/server/multi-target-basic-auth.d.ts.map +1 -1
  233. package/dist/server/multi-target-basic-auth.js +1 -0
  234. package/dist/server/multi-target-basic-auth.js.map +1 -1
  235. package/dist/server/multi-target-runtime.d.ts.map +1 -1
  236. package/dist/server/multi-target-runtime.js +1 -0
  237. package/dist/server/multi-target-runtime.js.map +1 -1
  238. package/dist/server/plugin-loader.d.ts.map +1 -1
  239. package/dist/server/plugin-loader.js +1 -3
  240. package/dist/server/plugin-loader.js.map +1 -1
  241. package/dist/server/safe-http-client.d.ts +6 -12
  242. package/dist/server/safe-http-client.d.ts.map +1 -1
  243. package/dist/server/safe-http-client.js +28 -63
  244. package/dist/server/safe-http-client.js.map +1 -1
  245. package/dist/server/server.d.ts +5 -4
  246. package/dist/server/server.d.ts.map +1 -1
  247. package/dist/server/server.js +58 -51
  248. package/dist/server/server.js.map +1 -1
  249. package/dist/server/types.d.ts +1 -0
  250. package/dist/server/types.d.ts.map +1 -1
  251. package/dist/server/types.js +2 -0
  252. package/dist/server/types.js.map +1 -1
  253. package/dist/version.d.ts +3 -0
  254. package/dist/version.d.ts.map +1 -0
  255. package/dist/version.js +3 -0
  256. package/dist/version.js.map +1 -0
  257. package/package.json +7 -7
package/dist/adt/http.js CHANGED
@@ -1,31 +1,9 @@
1
1
  /**
2
- * ADT HTTP Transport for ARC-1.
3
- *
4
- * Handles all HTTP communication with SAP ADT REST API:
5
- * - CSRF token lifecycle (fetch, cache, refresh on 403)
6
- * - Cookie-based and Basic auth
7
- * - Stateful sessions (lock → modify → unlock must share session)
8
- * - Automatic retry on session expiry
9
- *
10
- * Design decisions:
11
- *
12
- * 1. CSRF token fetch uses HEAD /sap/bc/adt/core/discovery with "X-CSRF-Token: fetch".
13
- * HEAD is ~5s vs ~56s for GET on slow systems (learned from Go version benchmarks).
14
- *
15
- * 2. Modifying requests (POST/PUT/DELETE/PATCH) auto-include CSRF token.
16
- * On 403, token is refreshed and request is retried once.
17
- * (Pattern from both abap-adt-api and fr0ster implementations.)
18
- *
19
- * 3. Stateful sessions use "X-sap-adt-sessiontype: stateful" header.
20
- * Lock/modify/unlock must use the same session cookies.
21
- * withStatefulSession() ensures session isolation and closes the backend
22
- * context when the operation finishes.
23
- *
24
- * 4. sap-client and sap-language are added to every request as query params.
25
- * This is an SAP convention, not ADT-specific.
26
- *
27
- * 5. Uses native fetch() with undici dispatchers for proxy and TLS configuration.
28
- * No external HTTP dependencies — undici ships with Node.js 22+.
2
+ * SAP ADT HTTP transport: authentication, cookies, CSRF and bounded retries.
3
+ * Modifying requests fetch a token when needed and refresh it once on HTTP 403.
4
+ * Stateful writes share cookies and one proxy connection through lock/save/unlock,
5
+ * then close their SAP context. Requests carry the configured client and language.
6
+ * Uses undici dispatchers for direct, proxy and custom-TLS connections.
29
7
  */
30
8
  import { Agent, Client } from 'undici';
31
9
  import { getCurrentContext } from '../server/context.js';
@@ -37,7 +15,9 @@ import { resolveAcceptType, resolveContentType } from './discovery.js';
37
15
  import { AdtApiError, AdtNetworkError, AdtResponseLimitError } from './errors.js';
38
16
  import { awaitWithinRequestBudget, requestBudgetSignal, requestSignal, sleepWithinRequestBudget, throwIfRequestCancelled, withoutResponseBudget, } from './http-deadline.js';
39
17
  import { prepareDataPreviewWireBody } from './http-wire-body.js';
18
+ import { legacyContentHandlerFallback } from './legacy-content-handler.js';
40
19
  import { fetchWithAttemptBudget } from './request-attempt-budget.js';
20
+ import { resolveSapUserAgent } from './user-agent.js';
41
21
  /**
42
22
  * Opt-in wire-level debug logging.
43
23
  *
@@ -99,6 +79,7 @@ function buildHttpDebugFields(reqHeaders, reqBody, respHeaders, respBody) {
99
79
  export class AdtHttpClient {
100
80
  discoveryMap = new Map();
101
81
  negotiatedHeaders = new Map();
82
+ userAgent;
102
83
  csrfToken = '';
103
84
  dispatcher;
104
85
  longOperationDispatcher;
@@ -126,6 +107,7 @@ export class AdtHttpClient {
126
107
  authenticationAttemptState;
127
108
  constructor(config, authenticationAttemptState) {
128
109
  this.config = config;
110
+ this.userAgent = resolveSapUserAgent(config.userAgent);
129
111
  this.authenticationAttemptState = authenticationAttemptState ?? { rejected: false, tail: Promise.resolve() };
130
112
  // Set up undici dispatcher for TLS configuration (non-proxy mode only).
131
113
  // Proxy requests use a dedicated Client connected to the connectivity proxy
@@ -593,12 +575,17 @@ export class AdtHttpClient {
593
575
  });
594
576
  return result;
595
577
  }
596
- // Handle 406/415 content negotiation failure — retry once with fallback headers
597
- if ((response.status === 406 || response.status === 415) && !negotiationRetried) {
578
+ // Retry negotiation once, including the narrowly matched NW 7.40 handler error.
579
+ const legacyFallback = legacyContentHandlerFallback(response.status, responseBody, method, negotiationKey, headers);
580
+ if ((response.status === 406 || response.status === 415 || legacyFallback) && !negotiationRetried) {
598
581
  negotiationRetried = true;
599
582
  const fallbackHeaders = { ...headers };
600
583
  let headersChanged = false;
601
- if (response.status === 406) {
584
+ if (legacyFallback) {
585
+ Object.assign(fallbackHeaders, legacyFallback);
586
+ headersChanged = true;
587
+ }
588
+ else if (response.status === 406) {
602
589
  // Server rejected our Accept header — try fallback
603
590
  const inferred = inferAcceptFromError(responseBody);
604
591
  if (inferred && inferred !== fallbackHeaders.Accept) {
@@ -664,7 +651,8 @@ export class AdtHttpClient {
664
651
  if (retryContentType !== currentContentType) {
665
652
  negotiated.contentType = retryContentType;
666
653
  }
667
- if (negotiated.accept || negotiated.contentType) {
654
+ // Never cache into the source subtree; costs one extra round trip per matching legacy call.
655
+ if (!legacyFallback && (negotiated.accept || negotiated.contentType)) {
668
656
  this.negotiatedHeaders.set(negotiationKey, negotiated);
669
657
  }
670
658
  logger.emitAudit({
@@ -854,8 +842,21 @@ export class AdtHttpClient {
854
842
  headers.Cookie = cookieHeader;
855
843
  else
856
844
  delete headers.Cookie;
845
+ const started = Date.now();
857
846
  const response = await this.doFetch(this.buildUrl(path), method, headers, undefined, options);
858
847
  this.storeCookies(response);
848
+ logger.emitAudit({
849
+ timestamp: new Date().toISOString(),
850
+ level: 'debug',
851
+ event: 'http_csrf_fetch',
852
+ method,
853
+ path,
854
+ statusCode: response.status,
855
+ durationMs: Date.now() - started,
856
+ success: !!usableToken(response),
857
+ adtMode: this.config.sessionType ?? 'unspecified',
858
+ hasContext: /(?:^|;\s*)sap-contextid=/.test(cookieHeader ?? ''),
859
+ });
859
860
  if (method === 'GET' && response.status === 200 && !usableToken(response)) {
860
861
  // Preserve the login-page check even when an old handler reports HTTP 200.
861
862
  this.handleResponse(response.status, response.headers, await response.text(), path);
@@ -866,6 +867,7 @@ export class AdtHttpClient {
866
867
  return response;
867
868
  };
868
869
  try {
870
+ // HEAD avoids downloading discovery when supported; refused HEADs fall back to GET below.
869
871
  let response = await probe('HEAD');
870
872
  // Retry once on 503 — ICM may be temporarily overloaded (thread/MPI exhaustion).
871
873
  if (response.status === 503) {
@@ -1105,7 +1107,7 @@ export class AdtHttpClient {
1105
1107
  // Empty unless the MCP client sent a valid `traceparent`; ARC-1 never originates a trace.
1106
1108
  // Injected here because doFetch is the single outbound choke point (the proxy branch below
1107
1109
  // spreads these headers too).
1108
- const outbound = { ...headers, ...traceHeaders(getCurrentContext()) };
1110
+ const outbound = { ...headers, 'User-Agent': this.userAgent, ...traceHeaders(getCurrentContext()) };
1109
1111
  let response;
1110
1112
  if (this.config.btpProxy) {
1111
1113
  response = await this.doProxyRequest(url, method, outbound, body, options);
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAEL,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD;;;;;;;;;GASG;AACH,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,eAAe;IACf,iCAAiC;IACjC,qBAAqB;IACrB,UAAU,EAAE,8DAA8D;CAC3E,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,OAA+B;IACzD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAAC,CAAU;IACzC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,IAAwB;IAC5C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,IAAI,CAAC,MAAM,GAAG,qBAAqB,SAAS,CAAC;AAC9G,CAAC;AAED,kFAAkF;AAClF,SAAS,oBAAoB,CAC3B,UAAkC,EAClC,OAA2B,EAC3B,WAAoB,EACpB,QAAgB;IAOhB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC1D,OAAO;QACL,cAAc,EAAE,kBAAkB,CAAC,UAAU,CAAC;QAC9C,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC;QAClC,eAAe,EAAE,uBAAuB,CAAC,WAAW,CAAC;QACrD,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;KACrC,CAAC;AACJ,CAAC;AAqED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,YAAY,GAA0B,IAAI,GAAG,EAAE,CAAC;IAChD,iBAAiB,GAA2D,IAAI,GAAG,EAAE,CAAC;IAC7E,SAAS,CAAS;IAC3B,SAAS,GAAG,EAAE,CAAC;IACf,UAAU,CAAyB;IACnC,uBAAuB,CAAyB;IAChD,mBAAmB,CAAqB;IAChD,0FAA0F;IAClF,wBAAwB,GAAG,KAAK,CAAC;IACjC,MAAM,CAAgB;IAC9B;;;;;;;;;;OAUG;IACK,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IACnD,qEAAqE;IAC7D,iBAAiB,GAAG,KAAK,CAAC;IAClC,sFAAsF;IAC9E,cAAc,GAAG,KAAK,CAAC;IAC/B,4FAA4F;IAC3E,0BAA0B,CAA6B;IACxE,YAAY,MAAqB,EAAE,0BAAuD;QACxF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAE7G,wEAAwE;QACxE,4EAA4E;QAC5E,gFAAgF;QAChF,6DAA6D;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,eAAe,CAAC,GAA0B;QACxC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,6GAA6G;IAC7G,gBAAgB;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,sHAAsH;IACtH,kBAAkB,CAAC,IAAY;QAC7B,OAAO,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;mGAE+F;IAC/F,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAgC,EAAE,OAA2B;QACnF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAgC,EAAE,OAA2B;QACpF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,IAAI,CACR,IAAY,EACZ,IAAa,EACb,WAAoB,EACpB,OAAgC,EAChC,OAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,IAAY,EACZ,WAAoB,EACpB,OAAgC,EAChC,OAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAgC,EAAE,OAA2B;QACtF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CAAI,EAAyC;QACpE,MAAM,aAAa,GAAkB;YACnC,GAAG,IAAI,CAAC,MAAM;YACd,WAAW,EAAE,UAAU;SACxB,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxF,4DAA4D;QAC5D,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACzC,aAAa,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/C,aAAa,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAE9C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,aAAa,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,KAAK,CAAC,oBAAoB;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG;YAAE,OAAO;QAE5C,+FAA+F;QAC/F,+FAA+F;QAC/F,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CACZ,gCAAgC,EAChC,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,EACjF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CAAC;gBACF,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;oBAAE,MAAM,KAAK,CAAC;YAC/E,CAAC;YAED,8FAA8F;YAC9F,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0FAA0F;YAC1F,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG;gBAAE,OAAO;YACxD,sFAAsF;YACtF,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACnD,UAAU,EAAE,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,WAAoB,EACpB,YAAqC,EACrC,OAA2B;QAE3B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CACpC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,EAC/E,mBAAmB,CAAC,OAAO,CAAC,CAC7B,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IACE,KAAK,YAAY,WAAW;oBAC5B,KAAK,YAAY,eAAe;oBAChC,KAAK,YAAY,qBAAqB,EACtC,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAC;gBACrE,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxE,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,2FAA2F;QAC3F,0FAA0F;QAC1F,2FAA2F;QAC3F,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,kCAAkC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAC9C,IAAY,EACZ,OAAyB,EACzB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;QACtD,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC,0BAA0B,CAAC,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnE,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC;gBAC7C,MAAM,IAAI,WAAW,CAAC,oEAAoE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,MAAM,OAAO,EAAE,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW;gBAAE,OAAO,EAAE,CAAC;;gBACtB,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,gEAAgE;IACxD,KAAK,CAAC,YAAY,CACxB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,WAAoB,EACpB,YAAqC,EACrC,OAA2B;QAE3B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,+CAA+C;QAC/C,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACpE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBAC1E,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7D,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;QACxC,CAAC;QAED,wFAAwF;QACxF,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnH,2DAA2D;QAC3D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACpC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;YACzF,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,iEAAiE;QACjE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;QAED,yFAAyF;QACzF,uFAAuF;QACvF,qFAAqF;QACrF,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,CAAC;QAED,6EAA6E;QAC7E,8DAA8D;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QAChC,CAAC;QAED,8EAA8E;QAC9E,kFAAkF;QAElF,+EAA+E;QAC/E,4EAA4E;QAC5E,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,8HAA8H;QAC9H,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAChE,OAAO,CAAC,iCAAiC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,qDAAqD;QACrD,MAAM,oBAAoB,GAAG,OAAO,EAAE,oBAAoB,KAAK,KAAK,CAAC;QACrE,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3E,IAAI,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEzC,mDAAmD;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5B,4DAA4D;YAC5D,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,mDAAmD;YACnD,IACE,oBAAoB;gBACpB,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;gBACtC,CAAC,IAAI,CAAC,iBAAiB,EACvB,CAAC;gBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,cAAc;wBACrB,MAAM;wBACN,IAAI;wBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM;wBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,SAAS,EAAE,uDAAuD;qBACnE,CAAC,CAAC;oBAEH,gDAAgD;oBAChD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAEpB,0EAA0E;oBAC1E,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC1D,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC3C,CAAC;oBAED,uCAAuC;oBACvC,MAAM,gBAAgB,GAAa,EAAE,CAAC;oBACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACpC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;oBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACN,OAAO,OAAO,CAAC,MAAM,CAAC;oBACxB,CAAC;oBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC9E,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAE9F,MAAM,CAAC,SAAS,CAAC;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,cAAc;wBACrB,MAAM;wBACN,IAAI;wBACJ,UAAU,EAAE,SAAS,CAAC,MAAM;wBAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,SAAS,EAAE,+BAA+B;qBAC3C,CAAC,CAAC;oBAEH,OAAO,WAAW,CAAC;gBACrB,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,6EAA6E;YAC7E,uFAAuF;YACvF,4FAA4F;YAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBACpD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,CACnD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EACnC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAC5B,CAAC;gBACF,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,yCAAyC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,GAAG;iBACzF,CAAC,CAAC;gBAEH,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAElD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE7B,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACjD,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,SAAS,CAAC,MAAM;oBAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,wBAAwB,SAAS,CAAC,MAAM,GAAG;iBACvD,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnF,CAAC;YAED,wEAAwE;YACxE,sFAAsF;YACtF,wEAAwE;YACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;gBACnE,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,CACnD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EACnC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAC5B,CAAC;gBACF,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,uCAAuC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,GAAG;iBACvF,CAAC,CAAC;gBAEH,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAElD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE7B,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBACjD,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,SAAS,CAAC,MAAM;oBAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,wBAAwB,SAAS,CAAC,MAAM,GAAG;iBACvD,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnF,CAAC;YAED,6DAA6D;YAC7D,+FAA+F;YAC/F,uFAAuF;YACvF,sEAAsE;YACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;gBACvF,WAAW,GAAG,IAAI,CAAC;gBAEnB,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,sDAAsD;iBAClE,CAAC,CAAC;gBAEH,8CAA8C;gBAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,2EAA2E;gBAC3E,2EAA2E;gBAC3E,gFAAgF;gBAChF,+EAA+E;gBAC/E,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;oBAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE3D,4BAA4B;gBAC5B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBACpC,uBAAuB,CAAC,OAAO,CAAC,CAAC;oBACjC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;oBACzF,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;gBAC5C,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3C,CAAC;gBAED,oEAAoE;gBACpE,MAAM,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzD,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,MAAM,CAAC;gBACxB,CAAC;gBAED,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACvE,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAE5B,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,SAAS,EAAE,6BAA6B;iBACzC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CACT,mEAAmE;wBACjE,wGAAwG,CAC3G,CAAC;gBACJ,CAAC;gBACD,2DAA2D;YAC7D,CAAC;YAED,6DAA6D;YAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzC,0EAA0E;gBAC1E,oEAAoE;gBACpE,6EAA6E;gBAC7E,MAAM,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7D,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,OAAO,CAAC,MAAM,GAAG,yBAAyB,CAAC;gBAC7C,CAAC;gBACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAEjG,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,aAAa,CAAC,MAAM;oBAChC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,gFAAgF;YAChF,MAAM,cAAc,GAAG,4BAA4B,CACjD,QAAQ,CAAC,MAAM,EACf,YAAY,EACZ,MAAM,EACN,cAAc,EACd,OAAO,CACR,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClG,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAEvC,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;oBAC/C,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBACpD,IAAI,QAAQ,IAAI,QAAQ,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;wBACpD,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC;wBAClC,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;yBAAM,IACL,eAAe,CAAC,MAAM;wBACtB,eAAe,CAAC,MAAM,KAAK,KAAK;wBAChC,eAAe,CAAC,MAAM,KAAK,iBAAiB,EAC5C,CAAC;wBACD,iCAAiC;wBACjC,eAAe,CAAC,MAAM,GAAG,iBAAiB,CAAC;wBAC3C,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;yBAAM,IAAI,eAAe,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;wBACxD,+DAA+D;wBAC/D,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC;wBAC/B,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;oBACD,iFAAiF;gBACnF,CAAC;qBAAM,CAAC;oBACN,yDAAyD;oBACzD,yEAAyE;oBACzE,6EAA6E;oBAC7E,4EAA4E;oBAC5E,IAAI,WAAW,IAAI,WAAW,KAAK,iBAAiB,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;wBACxF,eAAe,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC;wBACpD,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;yBAAM,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;wBAC7C,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;wBAClD,cAAc,GAAG,IAAI,CAAC;oBACxB,CAAC;oBACD,sFAAsF;gBACxF,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;oBAC3C,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;oBAEzD,MAAM,CAAC,SAAS,CAAC;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,cAAc;wBACrB,MAAM;wBACN,IAAI;wBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM;wBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,SAAS,EAAE,uBAAuB,QAAQ,CAAC,MAAM,mCAAmC;qBACrF,CAAC,CAAC;oBAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACtF,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAE7B,uCAAuC;oBACvC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACzD,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;wBAC5C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;oBAC9B,CAAC;oBAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAE9F,MAAM,kBAAkB,GAAG,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;oBAClE,MAAM,UAAU,GAA8C,EAAE,CAAC;oBACjE,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;oBAClC,CAAC;oBACD,IAAI,gBAAgB,KAAK,kBAAkB,EAAE,CAAC;wBAC5C,UAAU,CAAC,WAAW,GAAG,gBAAgB,CAAC;oBAC5C,CAAC;oBACD,4FAA4F;oBAC5F,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBACrE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;oBACzD,CAAC;oBAED,MAAM,CAAC,SAAS,CAAC;wBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,KAAK,EAAE,MAAM;wBACb,KAAK,EAAE,cAAc;wBACrB,MAAM;wBACN,IAAI;wBACJ,UAAU,EAAE,SAAS,CAAC,MAAM;wBAC5B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,SAAS,EAAE,wCAAwC,QAAQ,CAAC,MAAM,MAAM,SAAS,CAAC,MAAM,GAAG;qBAC5F,CAAC,CAAC;oBAEH,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,sEAAsE;YACxE,CAAC;YAED,iCAAiC;YACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,aAAa,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;gBAClD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;YACjC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAE1F,MAAM,CAAC,SAAS,CAAC;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,cAAc;gBACrB,MAAM;gBACN,IAAI;gBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;aACvE,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC1C,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBAC/B,iFAAiF;gBACjF,2FAA2F;gBAC3F,iEAAiE;gBACjE,MAAM,WAAW,GAAG,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;gBAC5C,MAAM,oBAAoB,GAAG,OAAO,EAAE,mBAAmB,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;gBAC7F,2EAA2E;gBAC3E,2EAA2E;gBAC3E,8EAA8E;gBAC9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC;gBAC1E,MAAM,KAAK,GAAG,WAAW,IAAI,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrE,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK;oBACL,KAAK,EAAE,cAAc;oBACrB,MAAM;oBACN,IAAI;oBACJ,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,UAAU;oBACV,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACzE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM;wBAC5C,CAAC,CAAC;4BACE,cAAc,EAAE,kBAAkB,CAAC,OAAO,CAAC;4BAC3C,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC;4BAC/B,YAAY,EAAE,gBAAgB;gCAC5B,CAAC,CAAC,sCAAsC;gCACxC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;yBACnC;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,GAAG,YAAY,eAAe,IAAI,GAAG,YAAY,qBAAqB;gBAAE,MAAM,GAAG,CAAC;YAEtF,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC/C,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;QAC9D,IAAI,CAAC,YAAY;YAAE,OAAO,GAAG,CAAC;QAC9B,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1G,CAAC;IAEO,wBAAwB,CAAC,IAAY;QAC3C,IAAI,OAA8D,CAAC;QACnE,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAE3B,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBAAE,SAAS;YACnC,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACtC,OAAO,GAAG,OAAO,CAAC;gBAClB,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,0BAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClD,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,yEAAyE;IACjE,cAAc,CAAC,MAAc,EAAE,OAAgB,EAAE,IAAY,EAAE,IAAY;QACjF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7G,IACE,MAAM,KAAK,GAAG;YACd,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAC/B,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;YACrD,kBAAkB,CAAC,IAAI,CAAC,EACxB,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,WAAW,CACnB,qTAAqT,EACrT,GAAG,EACH,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,4CAA4C;QAC5C,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,WAAW;YACpB,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAA2B;QAC9C,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,4BAA4B,CAAC;QACxC,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,OAAO;YACvB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;QACtC,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACpC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;YACzF,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,+EAA+E;QAC/E,yEAAyE;QACzE,0EAA0E;QAC1E,kEAAkE;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAChE,OAAO,CAAC,iCAAiC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAC/E,CAAC;QAED,qEAAqE;QACrE,kEAAkE;QAClE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;QAED,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAsB,EAAE;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC;YAC3D,OAAO,QAAQ,CAAC,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,CAAC,CAAC;QACF,oFAAoF;QACpF,MAAM,KAAK,GAAG,KAAK,EAAE,MAAsB,EAAqB,EAAE;YAChE,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAChD,IAAI,YAAY;gBAAE,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;;gBAC3C,OAAO,OAAO,CAAC,MAAM,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9F,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,SAAS,CAAC;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,iBAAiB;gBACxB,MAAM;gBACN,IAAI;gBACJ,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa;gBACjD,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,2EAA2E;gBAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YACtF,CAAC;YACD,2EAA2E;YAC3E,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YACtD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,0FAA0F;YAC1F,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YAEnC,iFAAiF;YACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;gBAC7C,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,MAAM;oBACd,IAAI;oBACJ,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,CAAC;oBACb,SAAS,EAAE,oCAAoC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI;iBACxE,CAAC,CAAC;gBACH,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAED,sFAAsF;YACtF,uFAAuF;YACvF,2EAA2E;YAC3E,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACzF,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,iFAAiF;YACjF,4EAA4E;YAC5E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAClG,IAAI,GAAG,uBAAuB,CAAC;gBAC/B,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACxD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,IAAI,WAAW,CACnB,gDAAgD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,iDAAiD,EAC5H,GAAG,EACH,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,MAAM,IAAI,WAAW,CACnB,2CAA2C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,8BAA8B,EACpG,GAAG,EACH,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,WAAW,CAAC,mCAAmC,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtG,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,YAAY,eAAe;gBAAE,MAAM,GAAG,CAAC;YAC5E,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,eAAe,CAAC,4BAA4B,OAAO,EAAE,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;IACxE,CAAC;IAEO,gBAAgB;QACtB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,mBAAmB;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QACrC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;YAChH,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC/E,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,mBAAmB;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAEO,YAAY,CAAC,QAAkB;QACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/D,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,gDAAgD;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,KAAK,IAAI,CAAC;gBAAE,SAAS;YACzB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,mEAAmE;IAC3D,QAAQ,CAAC,IAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,2FAA2F;IACnF,eAAe,CAAC,OAA+B;QACrD,+FAA+F;QAC/F,0FAA0F;QAC1F,mGAAmG;QACnG,4FAA4F;QAC5F,wFAAwF;QACxF,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACtD,OAAO,CAAC,wBAAwB,CAAC,GAAG,QAAQ,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IACE,IAAI,CAAC,MAAM,CAAC,QAAQ;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ;YACpB,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAChC,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAChC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EACxB,CAAC;YACD,OAAO,CAAC,aAAa,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,OAAO,CACnB,GAAW,EACX,MAAc,EACd,OAA+B,EAC/B,IAAsB,EACtB,OAA2B;QAE3B,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,wFAAwF;QACxF,0FAA0F;QAC1F,2FAA2F;QAC3F,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAEpG,IAAI,QAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,iFAAiF;YACjF,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;gBACf,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS;oBACpC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,KAAK,IAAI,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3F,QAAQ,GAAG,CAAC,MAAM,sBAAsB,CACtC,GAAG,EACH;gBACE,MAAM;gBACN,OAAO,EAAE,QAAQ;gBACjB,IAAI;gBACJ,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;gBAC9B,mFAAmF;gBACnF,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,EACD,OAAO,EAAE,aAAa,CACvB,CAAa,CAAC;QACjB,CAAC;QACD,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,KAAK,CAAC,cAAc,CAC1B,GAAW,EACX,MAAc,EACd,OAA+B,EAC/B,IAAsB,EACtB,OAA2B;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC;QACpC,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAEtE,IAAI,SAAiB,CAAC;QACtB,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;YAClF,SAAS,GAAG,UAAU,UAAU,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEnG,2CAA2C;QAC3C,MAAM,YAAY,GAA2B;YAC3C,GAAG,OAAO;YACV,IAAI,EAAE,UAAU;YAChB,qBAAqB,EAAE,SAAS;SACjC,CAAC;QACF,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5C,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,iBAAiB;oBAAE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;YACxE,CAAC;YACD,YAAY,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAC;QAC/C,CAAC;QAED,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,YAAY,CAAC,kCAAkC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;QACtE,CAAC;QAED,2EAA2E;QAC3E,MAAM,gBAAgB,GACpB,IAAI,CAAC,wBAAwB,IAAI,OAAO,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;QAC1G,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,KAAK,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QACnH,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAChC,MAAM,EAAE,MAA+B;gBACvC,kDAAkD;gBAClD,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,IAAI,IAAI,SAAS;gBACvB,MAAM;gBACN,sFAAsF;gBACtF,sFAAsF;gBACtF,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;aACxF,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC;YACvG,kBAAkB;gBAChB,CAAC,CAAC,OAAO,EAAE,mBAAmB,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjG,OAAO,MAAM,yBAAyB,CACpC,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EAAE,cAAc,KAAK,SAAS,EACrC,OAAO,EAAE,mBAAmB,CAC7B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,IAAI,CAAC,kBAAkB;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAED,mEAAmE;AACnE,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,UAAkB;IAElB,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,mEAAmE;IACnE,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC5D,CAAC;IACD,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACjE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,6DAA6D;IAC7D,IAAI,uEAAuE,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvG,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,7 +8,8 @@
8
8
  *
9
9
  * This registry is NOT a bypass. Every entry still goes through the same
10
10
  * `checkOperation(Query|FreeSQL)` capability gate, the same caller scopes, and the same data-source
11
- * blocklist, in that order. There is deliberately no `internal=true` argument, no caller-settable
11
+ * blocklist, in that order. The replacement-lineage entry is the fixed catalog read
12
+ * that implements the policy itself: it checks direct catalog blocks without recursive lineage. There is deliberately no `internal=true` argument, no caller-settable
12
13
  * flag, and nothing here is reachable from an MCP tool schema — blocking a table listed below really
13
14
  * does disable the feature that reads it, which is the intended, documented behaviour.
14
15
  *
@@ -21,7 +22,7 @@
21
22
  * registry exists to prevent.
22
23
  */
23
24
  import type { DataSourcePolicyError } from './data-source-policy.js';
24
- export type InternalDataOperationId = 'tadir_lookup_db' | 'tran_program_enrichment' | 'class_hierarchy' | 'interface_implementers' | 'bor_method_lookup' | 'authorization_trace';
25
+ export type InternalDataOperationId = 'replacement_lineage' | 'tadir_lookup_db' | 'tran_program_enrichment' | 'class_hierarchy' | 'interface_implementers' | 'bor_method_lookup' | 'authorization_trace';
25
26
  export interface InternalDataOperation {
26
27
  /** Exact canonical sources this server-owned operation reads. */
27
28
  readonly sources: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"internal-data-operations.d.ts","sourceRoot":"","sources":["../../src/adt/internal-data-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAC/B,iBAAiB,GACjB,yBAAyB,GACzB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CA8C3F,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,uEAAuE;AACvE,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,KAAK,CAAC;IAAE,EAAE,EAAE,uBAAuB,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAU7F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,uBAAuB,EAC3B,KAAK,EAAE,qBAAqB,EAC5B,aAAa,EAAE,OAAO,GACrB,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5F"}
1
+ {"version":3,"file":"internal-data-operations.d.ts","sourceRoot":"","sources":["../../src/adt/internal-data-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,uBAAuB,GAC/B,qBAAqB,GACrB,iBAAiB,GACjB,yBAAyB,GACzB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAqD3F,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,uEAAuE;AACvE,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,KAAK,CAAC;IAAE,EAAE,EAAE,uBAAuB,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAU7F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,uBAAuB,EAC3B,KAAK,EAAE,qBAAqB,EAC5B,aAAa,EAAE,OAAO,GACrB,MAAM,CAGR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5F"}
@@ -8,7 +8,8 @@
8
8
  *
9
9
  * This registry is NOT a bypass. Every entry still goes through the same
10
10
  * `checkOperation(Query|FreeSQL)` capability gate, the same caller scopes, and the same data-source
11
- * blocklist, in that order. There is deliberately no `internal=true` argument, no caller-settable
11
+ * blocklist, in that order. The replacement-lineage entry is the fixed catalog read
12
+ * that implements the policy itself: it checks direct catalog blocks without recursive lineage. There is deliberately no `internal=true` argument, no caller-settable
12
13
  * flag, and nothing here is reachable from an MCP tool schema — blocking a table listed below really
13
14
  * does disable the feature that reads it, which is the intended, documented behaviour.
14
15
  *
@@ -21,6 +22,12 @@
21
22
  * registry exists to prevent.
22
23
  */
23
24
  export const INTERNAL_DATA_OPERATIONS = {
25
+ replacement_lineage: {
26
+ sources: ['DD02L', 'DDLDEPENDENCY'],
27
+ consumer: 'Data-source policy replacement lineage',
28
+ criticality: 'core',
29
+ guidance: 'The policy needs both catalog tables to prove replacement lineage. Keep data access disabled if these metadata reads are not permitted.',
30
+ },
24
31
  tadir_lookup_db: {
25
32
  sources: ['TADIR'],
26
33
  consumer: 'SAPSearch(searchType="tadir_lookup", source="db"|"both")',
@@ -1 +1 @@
1
- {"version":3,"file":"internal-data-operations.js","sourceRoot":"","sources":["../../src/adt/internal-data-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-data-operations.js","sourceRoot":"","sources":["../../src/adt/internal-data-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuBH,MAAM,CAAC,MAAM,wBAAwB,GAA2D;IAC9F,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;QACnC,QAAQ,EAAE,wCAAwC;QAClD,WAAW,EAAE,MAAM;QACnB,QAAQ,EACN,yIAAyI;KAC5I;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,QAAQ,EAAE,0DAA0D;QACpE,WAAW,EAAE,MAAM;QACnB,QAAQ,EACN,mFAAmF;YACnF,kIAAkI;KACrI;IACD,uBAAuB,EAAE;QACvB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,8CAA8C;QACxD,WAAW,EAAE,UAAU;QACvB,QAAQ,EACN,2GAA2G;KAC9G;IACD,eAAe,EAAE;QACf,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,QAAQ,EAAE,iCAAiC;QAC3C,WAAW,EAAE,MAAM;QACnB,QAAQ,EACN,qFAAqF;YACrF,iIAAiI;KACpI;IACD,sBAAsB,EAAE;QACtB,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,QAAQ,EAAE,+EAA+E;QACzF,WAAW,EAAE,UAAU;QACvB,QAAQ,EACN,sHAAsH;KACzH;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,QAAQ,EAAE,qEAAqE;QAC/E,WAAW,EAAE,MAAM;QACnB,QAAQ,EACN,kIAAkI;KACrI;IACD,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,2CAA2C;QACrD,WAAW,EAAE,MAAM;QACnB,QAAQ,EACN,gGAAgG;YAChG,qKAAqK;KACxK;CACF,CAAC;AAEF,6FAA6F;AAC7F,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACvG,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,2BAA2B,CACzC,kBAAqC;IAErC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAgG,EAAE,CAAC;IAC7G,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAA6B,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAA2B,EAC3B,KAA4B,EAC5B,aAAsB;IAEtB,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC3G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAA2B,EAAE,MAAc;IAClF,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,sBAAsB,SAAS,CAAC,QAAQ,mBAAmB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,QAAQ,KAAK,MAAM,GAAG,CAAC;AACvI,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** NW 7.40 reports missing wildcard handlers as a structured 400, not 406/415 (#907). */
2
+ export declare function legacyContentHandlerFallback(status: number, body: string, method: string, negotiationKey: string, headers: Record<string, string>): Record<string, string> | undefined;
3
+ //# sourceMappingURL=legacy-content-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-content-handler.d.ts","sourceRoot":"","sources":["../../src/adt/legacy-content-handler.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAkBpC"}
@@ -0,0 +1,21 @@
1
+ import { extractExceptionType } from './errors.js';
2
+ /** NW 7.40 reports missing wildcard handlers as a structured 400, not 406/415 (#907). */
3
+ export function legacyContentHandlerFallback(status, body, method, negotiationKey, headers) {
4
+ if (status !== 400 || extractExceptionType(body) !== 'ExceptionContentHandlerNotFound')
5
+ return undefined;
6
+ // Object metadata only; /source and /includes keep their own types.
7
+ if (method === 'GET' && headers.Accept === '*/*' && /^\/sap\/bc\/adt\/oo\/classes\/[^/]+$/.test(negotiationKey)) {
8
+ return { Accept: 'application/vnd.sap.adt.oo.classes+xml' };
9
+ }
10
+ // The handler lookup rejected the body before creation. Preserve explicit vendor types.
11
+ if (method === 'POST' && headers['Content-Type'] === 'application/*') {
12
+ if (negotiationKey === '/sap/bc/adt/oo/classes') {
13
+ return { 'Content-Type': 'application/vnd.sap.adt.oo.classes+xml' };
14
+ }
15
+ if (negotiationKey === '/sap/bc/adt/programs/programs') {
16
+ return { 'Content-Type': 'application/vnd.sap.adt.programs.programs+xml' };
17
+ }
18
+ }
19
+ return undefined;
20
+ }
21
+ //# sourceMappingURL=legacy-content-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-content-handler.js","sourceRoot":"","sources":["../../src/adt/legacy-content-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,yFAAyF;AACzF,MAAM,UAAU,4BAA4B,CAC1C,MAAc,EACd,IAAY,EACZ,MAAc,EACd,cAAsB,EACtB,OAA+B;IAE/B,IAAI,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,iCAAiC;QAAE,OAAO,SAAS,CAAC;IAEzG,oEAAoE;IACpE,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,sCAAsC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAChH,OAAO,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IAC9D,CAAC;IAED,wFAAwF;IACxF,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,eAAe,EAAE,CAAC;QACrE,IAAI,cAAc,KAAK,wBAAwB,EAAE,CAAC;YAChD,OAAO,EAAE,cAAc,EAAE,wCAAwC,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,cAAc,KAAK,+BAA+B,EAAE,CAAC;YACvD,OAAO,EAAE,cAAc,EAAE,+CAA+C,EAAE,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * DDIC lock objects (ENQU) — read, create/update XML, and the JSON definition SAPWrite accepts.
3
+ *
4
+ * ADT models a lock object as ONE metadata document (no /source/main):
5
+ * GET/PUT /sap/bc/adt/ddic/lockobjects/sources/{name} application/vnd.sap.adt.lockobjects.v1+xml
6
+ * <enqu:lockobject …><adtcore:packageRef/><enqu:content>
7
+ * allowRFC, primaryTable{tableName,lockMode}, secondaryTables[], lockParameters[], lockModules[]
8
+ * </enqu:content></enqu:lockobject>
9
+ *
10
+ * Live-verified on S/4HANA (SAP_BASIS 8.16), see docs/research/2026-09-28-enqu-lock-object-adt-contract.md:
11
+ * - create POST needs <enqu:content> with a primary table ("Primary table name must not be empty"
12
+ * otherwise) and stores the object inactive;
13
+ * - activation derives the lock parameters from the primary/secondary tables' key fields when the
14
+ * list is empty, and generates ENQUEUE_/DEQUEUE_ function modules (read-only <enqu:lockModules>);
15
+ * - update is lock → full-document PUT → unlock; description, allowRFC, lock modes and the
16
+ * per-parameter parameterWanted flag all round-trip.
17
+ *
18
+ * SAPRead returns the definition as JSON and SAPWrite takes the same JSON in "source", so a read →
19
+ * edit → write cycle needs no reshaping. Read-only keys (name, package, lockModules, …) are ignored.
20
+ */
21
+ import type { AdtHttpClient } from './http.js';
22
+ import { type SafetyConfig } from './safety.js';
23
+ export declare const LOCKOBJECT_CONTENT_TYPE = "application/vnd.sap.adt.lockobjects.v1+xml";
24
+ export declare const LOCKOBJECT_COLLECTION = "/sap/bc/adt/ddic/lockobjects/sources";
25
+ /** Definition defaults: E/S/X, or no lock for a table used only as a foreign-key link. O is runtime-only. */
26
+ export declare const LOCK_MODES: readonly ['E', 'S', 'X', ''];
27
+ export interface LockTable {
28
+ tableName: string;
29
+ lockMode: string;
30
+ }
31
+ export interface LockParameter {
32
+ parameterName: string;
33
+ tableName: string;
34
+ fieldName: string;
35
+ /** false = the parameter exists but is not passed to ENQUEUE_ (SE11 "Weight" column unchecked). */
36
+ parameterWanted: boolean;
37
+ }
38
+ export interface LockObjectInfo {
39
+ name: string;
40
+ description: string;
41
+ package: string;
42
+ version: string;
43
+ allowRFC: boolean;
44
+ primaryTable: LockTable;
45
+ secondaryTables: LockTable[];
46
+ lockParameters: LockParameter[];
47
+ /** Generated ENQUEUE_/DEQUEUE_ function modules (read-only; empty until activation). */
48
+ lockModules: string[];
49
+ }
50
+ /** The writable part of a lock object — what SAPWrite accepts as JSON in "source". */
51
+ export interface LockObjectDefinition {
52
+ allowRFC?: boolean;
53
+ primaryTable?: LockTable;
54
+ secondaryTables?: LockTable[];
55
+ lockParameters?: LockParameter[];
56
+ }
57
+ /** Parse the `<enqu:lockobject>` metadata document. */
58
+ export declare function parseLockObject(xml: string): LockObjectInfo;
59
+ /** Read a lock object. Omitting `version` returns SAP's developer view (a pending inactive edit). */
60
+ export declare function getLockObject(http: AdtHttpClient, safety: SafetyConfig, name: string, version?: 'active' | 'inactive'): Promise<LockObjectInfo>;
61
+ /**
62
+ * Parse and validate the JSON definition from SAPWrite "source". Unknown keys are rejected (a typo
63
+ * such as "primarytable" would otherwise silently keep the stored value); SAPRead's read-only keys
64
+ * are ignored so its output can be edited and written back unchanged.
65
+ */
66
+ export declare function parseLockObjectDefinition(source: string): LockObjectDefinition;
67
+ /**
68
+ * Overlay a (partial) definition on the stored lock object for a full-document PUT. Omitted keys
69
+ * keep their stored value.
70
+ *
71
+ * Changing the table set requires explicit lockParameters: the stored ones name the old tables, and
72
+ * when an UPDATE sends an empty list SAP re-derives them from the key fields with
73
+ * parameterWanted=false (live 8.16; a create derives them with true). That would silently produce
74
+ * ENQUEUE_/DEQUEUE_ modules without key parameters, so we refuse instead of guessing.
75
+ */
76
+ export declare function mergeLockObjectDefinition(existing: LockObjectInfo, def: LockObjectDefinition): LockObjectDefinition;
77
+ export interface LockObjectXmlParams {
78
+ name: string;
79
+ description: string;
80
+ package: string;
81
+ definition: LockObjectDefinition;
82
+ /** Master language, e.g. "EN" (normalized by the caller). */
83
+ masterLanguage: string;
84
+ /** Pre-built ` adtcore:responsible="…"` attribute, or ''. */
85
+ responsibleAttr: string;
86
+ }
87
+ /**
88
+ * Build the create/update body. Element order matches SAP's own GET serialization; the read-only
89
+ * <enqu:lockModules> is omitted (a PUT without it is accepted, live-verified on 8.16).
90
+ */
91
+ export declare function buildLockObjectXml(params: LockObjectXmlParams): string;
92
+ //# sourceMappingURL=lock-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-object.d.ts","sourceRoot":"","sources":["../../src/adt/lock-object.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAG/E,eAAO,MAAM,uBAAuB,+CAA+C,CAAC;AACpF,eAAO,MAAM,qBAAqB,yCAAyC,CAAC;AAE5E,6GAA6G;AAC7G,eAAO,MAAM,UAAU,YAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAU,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,EAAE,CAAC;IAC7B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,wFAAwF;IACxF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAiBD,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA6B3D;AAED,qGAAqG;AACrG,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAC9B,OAAO,CAAC,cAAc,CAAC,CAOzB;AA2CD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAiC9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAyBnH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,oBAAoB,CAAC;IACjC,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAmBtE"}