arc-1 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/README.md +7 -5
  2. package/dist/adt/atc-batch.d.ts +71 -0
  3. package/dist/adt/atc-batch.d.ts.map +1 -0
  4. package/dist/adt/atc-batch.js +182 -0
  5. package/dist/adt/atc-batch.js.map +1 -0
  6. package/dist/adt/atc.d.ts +34 -0
  7. package/dist/adt/atc.d.ts.map +1 -1
  8. package/dist/adt/atc.js +58 -12
  9. package/dist/adt/atc.js.map +1 -1
  10. package/dist/adt/aunit.d.ts.map +1 -1
  11. package/dist/adt/aunit.js +50 -7
  12. package/dist/adt/aunit.js.map +1 -1
  13. package/dist/adt/bounded-response.d.ts +4 -1
  14. package/dist/adt/bounded-response.d.ts.map +1 -1
  15. package/dist/adt/bounded-response.js +33 -7
  16. package/dist/adt/bounded-response.js.map +1 -1
  17. package/dist/adt/ci-quality-xml.d.ts +44 -0
  18. package/dist/adt/ci-quality-xml.d.ts.map +1 -0
  19. package/dist/adt/ci-quality-xml.js +98 -0
  20. package/dist/adt/ci-quality-xml.js.map +1 -0
  21. package/dist/adt/ci-quality.d.ts +64 -0
  22. package/dist/adt/ci-quality.d.ts.map +1 -0
  23. package/dist/adt/ci-quality.js +132 -0
  24. package/dist/adt/ci-quality.js.map +1 -0
  25. package/dist/adt/client.d.ts +20 -16
  26. package/dist/adt/client.d.ts.map +1 -1
  27. package/dist/adt/client.js +35 -70
  28. package/dist/adt/client.js.map +1 -1
  29. package/dist/adt/data-source-policy.d.ts +6 -15
  30. package/dist/adt/data-source-policy.d.ts.map +1 -1
  31. package/dist/adt/data-source-policy.js +18 -11
  32. package/dist/adt/data-source-policy.js.map +1 -1
  33. package/dist/adt/ddic-xml.d.ts +78 -4
  34. package/dist/adt/ddic-xml.d.ts.map +1 -1
  35. package/dist/adt/ddic-xml.js +647 -54
  36. package/dist/adt/ddic-xml.js.map +1 -1
  37. package/dist/adt/devtools.d.ts +1 -0
  38. package/dist/adt/devtools.d.ts.map +1 -1
  39. package/dist/adt/devtools.js +24 -4
  40. package/dist/adt/devtools.js.map +1 -1
  41. package/dist/adt/http-deadline.d.ts +5 -0
  42. package/dist/adt/http-deadline.d.ts.map +1 -1
  43. package/dist/adt/http-deadline.js +2 -2
  44. package/dist/adt/http-deadline.js.map +1 -1
  45. package/dist/adt/http.d.ts +6 -3
  46. package/dist/adt/http.d.ts.map +1 -1
  47. package/dist/adt/http.js +57 -15
  48. package/dist/adt/http.js.map +1 -1
  49. package/dist/adt/internal-data-operations.d.ts +9 -4
  50. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  51. package/dist/adt/internal-data-operations.js +11 -7
  52. package/dist/adt/internal-data-operations.js.map +1 -1
  53. package/dist/adt/package-contents.d.ts +12 -0
  54. package/dist/adt/package-contents.d.ts.map +1 -0
  55. package/dist/adt/package-contents.js +19 -0
  56. package/dist/adt/package-contents.js.map +1 -0
  57. package/dist/adt/relation-objects.d.ts +385 -0
  58. package/dist/adt/relation-objects.d.ts.map +1 -0
  59. package/dist/adt/relation-objects.js +262 -0
  60. package/dist/adt/relation-objects.js.map +1 -0
  61. package/dist/adt/repository-relations.d.ts +41 -0
  62. package/dist/adt/repository-relations.d.ts.map +1 -0
  63. package/dist/adt/repository-relations.js +246 -0
  64. package/dist/adt/repository-relations.js.map +1 -0
  65. package/dist/adt/request-attempt-budget.d.ts +26 -0
  66. package/dist/adt/request-attempt-budget.d.ts.map +1 -0
  67. package/dist/adt/request-attempt-budget.js +63 -0
  68. package/dist/adt/request-attempt-budget.js.map +1 -0
  69. package/dist/adt/result-limits.d.ts +3 -0
  70. package/dist/adt/result-limits.d.ts.map +1 -0
  71. package/dist/adt/result-limits.js +7 -0
  72. package/dist/adt/result-limits.js.map +1 -0
  73. package/dist/adt/server-driven.d.ts +6 -1
  74. package/dist/adt/server-driven.d.ts.map +1 -1
  75. package/dist/adt/server-driven.js +24 -20
  76. package/dist/adt/server-driven.js.map +1 -1
  77. package/dist/adt/table-query.d.ts +2 -0
  78. package/dist/adt/table-query.d.ts.map +1 -1
  79. package/dist/adt/table-query.js +61 -0
  80. package/dist/adt/table-query.js.map +1 -1
  81. package/dist/adt/text-elements.d.ts +48 -0
  82. package/dist/adt/text-elements.d.ts.map +1 -0
  83. package/dist/adt/text-elements.js +116 -0
  84. package/dist/adt/text-elements.js.map +1 -0
  85. package/dist/adt/types.d.ts +16 -0
  86. package/dist/adt/types.d.ts.map +1 -1
  87. package/dist/adt/uiad.d.ts +19 -0
  88. package/dist/adt/uiad.d.ts.map +1 -0
  89. package/dist/adt/uiad.js +173 -0
  90. package/dist/adt/uiad.js.map +1 -0
  91. package/dist/adt/xml-parser.d.ts +2 -0
  92. package/dist/adt/xml-parser.d.ts.map +1 -1
  93. package/dist/adt/xml-parser.js +20 -1
  94. package/dist/adt/xml-parser.js.map +1 -1
  95. package/dist/authz/policy.d.ts.map +1 -1
  96. package/dist/authz/policy.js +4 -1
  97. package/dist/authz/policy.js.map +1 -1
  98. package/dist/cache/cache.d.ts +3 -23
  99. package/dist/cache/cache.d.ts.map +1 -1
  100. package/dist/cache/cache.js +2 -3
  101. package/dist/cache/cache.js.map +1 -1
  102. package/dist/cache/caching-layer.d.ts +6 -25
  103. package/dist/cache/caching-layer.d.ts.map +1 -1
  104. package/dist/cache/caching-layer.js +3 -45
  105. package/dist/cache/caching-layer.js.map +1 -1
  106. package/dist/cache/memory.d.ts +1 -4
  107. package/dist/cache/memory.d.ts.map +1 -1
  108. package/dist/cache/memory.js +1 -10
  109. package/dist/cache/memory.js.map +1 -1
  110. package/dist/cache/sqlite.d.ts +1 -3
  111. package/dist/cache/sqlite.d.ts.map +1 -1
  112. package/dist/cache/sqlite.js +2 -17
  113. package/dist/cache/sqlite.js.map +1 -1
  114. package/dist/cli-checks.d.ts +3 -0
  115. package/dist/cli-checks.d.ts.map +1 -1
  116. package/dist/cli-checks.js +16 -0
  117. package/dist/cli-checks.js.map +1 -1
  118. package/dist/cli.d.ts.map +1 -1
  119. package/dist/cli.js +5 -2
  120. package/dist/cli.js.map +1 -1
  121. package/dist/context/compressor.d.ts +2 -3
  122. package/dist/context/compressor.d.ts.map +1 -1
  123. package/dist/context/compressor.js +30 -49
  124. package/dist/context/compressor.js.map +1 -1
  125. package/dist/context/contract.d.ts +5 -0
  126. package/dist/context/contract.d.ts.map +1 -1
  127. package/dist/context/contract.js +2 -2
  128. package/dist/context/contract.js.map +1 -1
  129. package/dist/context/deps.d.ts +11 -0
  130. package/dist/context/deps.d.ts.map +1 -1
  131. package/dist/context/deps.js +2 -2
  132. package/dist/context/deps.js.map +1 -1
  133. package/dist/context/parse-cache.d.ts +23 -0
  134. package/dist/context/parse-cache.d.ts.map +1 -0
  135. package/dist/context/parse-cache.js +71 -0
  136. package/dist/context/parse-cache.js.map +1 -0
  137. package/dist/context/relation-walk.d.ts +48 -0
  138. package/dist/context/relation-walk.d.ts.map +1 -0
  139. package/dist/context/relation-walk.js +137 -0
  140. package/dist/context/relation-walk.js.map +1 -0
  141. package/dist/context/types.d.ts +4 -4
  142. package/dist/context/types.d.ts.map +1 -1
  143. package/dist/handlers/activate.d.ts +1 -1
  144. package/dist/handlers/activate.d.ts.map +1 -1
  145. package/dist/handlers/activate.js +33 -56
  146. package/dist/handlers/activate.js.map +1 -1
  147. package/dist/handlers/activation-results.d.ts +3 -0
  148. package/dist/handlers/activation-results.d.ts.map +1 -0
  149. package/dist/handlers/activation-results.js +8 -0
  150. package/dist/handlers/activation-results.js.map +1 -0
  151. package/dist/handlers/context.d.ts.map +1 -1
  152. package/dist/handlers/context.js +8 -32
  153. package/dist/handlers/context.js.map +1 -1
  154. package/dist/handlers/data-element-fields.d.ts +26 -0
  155. package/dist/handlers/data-element-fields.d.ts.map +1 -0
  156. package/dist/handlers/data-element-fields.js +27 -0
  157. package/dist/handlers/data-element-fields.js.map +1 -0
  158. package/dist/handlers/diagnose-ci.d.ts +9 -0
  159. package/dist/handlers/diagnose-ci.d.ts.map +1 -0
  160. package/dist/handlers/diagnose-ci.js +120 -0
  161. package/dist/handlers/diagnose-ci.js.map +1 -0
  162. package/dist/handlers/diagnose-fields.d.ts +51 -0
  163. package/dist/handlers/diagnose-fields.d.ts.map +1 -0
  164. package/dist/handlers/diagnose-fields.js +48 -0
  165. package/dist/handlers/diagnose-fields.js.map +1 -0
  166. package/dist/handlers/diagnose.d.ts +4 -1
  167. package/dist/handlers/diagnose.d.ts.map +1 -1
  168. package/dist/handlers/diagnose.js +28 -6
  169. package/dist/handlers/diagnose.js.map +1 -1
  170. package/dist/handlers/dispatch.d.ts.map +1 -1
  171. package/dist/handlers/dispatch.js +22 -5
  172. package/dist/handlers/dispatch.js.map +1 -1
  173. package/dist/handlers/feature-cache.d.ts +4 -3
  174. package/dist/handlers/feature-cache.d.ts.map +1 -1
  175. package/dist/handlers/feature-cache.js +4 -3
  176. package/dist/handlers/feature-cache.js.map +1 -1
  177. package/dist/handlers/hyperfocused.js +1 -1
  178. package/dist/handlers/live-relations.d.ts +5 -0
  179. package/dist/handlers/live-relations.d.ts.map +1 -0
  180. package/dist/handlers/live-relations.js +89 -0
  181. package/dist/handlers/live-relations.js.map +1 -0
  182. package/dist/handlers/manage.d.ts.map +1 -1
  183. package/dist/handlers/manage.js +7 -4
  184. package/dist/handlers/manage.js.map +1 -1
  185. package/dist/handlers/navigate.d.ts +1 -1
  186. package/dist/handlers/navigate.d.ts.map +1 -1
  187. package/dist/handlers/navigate.js +11 -5
  188. package/dist/handlers/navigate.js.map +1 -1
  189. package/dist/handlers/object-types.d.ts +2 -0
  190. package/dist/handlers/object-types.d.ts.map +1 -1
  191. package/dist/handlers/object-types.js +41 -6
  192. package/dist/handlers/object-types.js.map +1 -1
  193. package/dist/handlers/query-errors.d.ts +9 -1
  194. package/dist/handlers/query-errors.d.ts.map +1 -1
  195. package/dist/handlers/query-errors.js +40 -28
  196. package/dist/handlers/query-errors.js.map +1 -1
  197. package/dist/handlers/query.d.ts +1 -1
  198. package/dist/handlers/query.d.ts.map +1 -1
  199. package/dist/handlers/query.js +2 -2
  200. package/dist/handlers/query.js.map +1 -1
  201. package/dist/handlers/read.d.ts +1 -1
  202. package/dist/handlers/read.d.ts.map +1 -1
  203. package/dist/handlers/read.js +48 -15
  204. package/dist/handlers/read.js.map +1 -1
  205. package/dist/handlers/relation-input.d.ts +42 -0
  206. package/dist/handlers/relation-input.d.ts.map +1 -0
  207. package/dist/handlers/relation-input.js +22 -0
  208. package/dist/handlers/relation-input.js.map +1 -0
  209. package/dist/handlers/relation-tool.d.ts +5 -0
  210. package/dist/handlers/relation-tool.d.ts.map +1 -0
  211. package/dist/handlers/relation-tool.js +36 -0
  212. package/dist/handlers/relation-tool.js.map +1 -0
  213. package/dist/handlers/schemas.d.ts +119 -62
  214. package/dist/handlers/schemas.d.ts.map +1 -1
  215. package/dist/handlers/schemas.js +150 -13
  216. package/dist/handlers/schemas.js.map +1 -1
  217. package/dist/handlers/search.d.ts +1 -1
  218. package/dist/handlers/search.d.ts.map +1 -1
  219. package/dist/handlers/search.js +18 -5
  220. package/dist/handlers/search.js.map +1 -1
  221. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  222. package/dist/handlers/tool-descriptions.js +12 -13
  223. package/dist/handlers/tool-descriptions.js.map +1 -1
  224. package/dist/handlers/tool-registry.d.ts +1 -0
  225. package/dist/handlers/tool-registry.d.ts.map +1 -1
  226. package/dist/handlers/tool-registry.js +4 -0
  227. package/dist/handlers/tool-registry.js.map +1 -1
  228. package/dist/handlers/tools.d.ts +2 -3
  229. package/dist/handlers/tools.d.ts.map +1 -1
  230. package/dist/handlers/tools.js +127 -72
  231. package/dist/handlers/tools.js.map +1 -1
  232. package/dist/handlers/write/batch-results.d.ts +28 -0
  233. package/dist/handlers/write/batch-results.d.ts.map +1 -0
  234. package/dist/handlers/write/batch-results.js +106 -0
  235. package/dist/handlers/write/batch-results.js.map +1 -0
  236. package/dist/handlers/write/create-transport.d.ts +7 -0
  237. package/dist/handlers/write/create-transport.d.ts.map +1 -0
  238. package/dist/handlers/write/create-transport.js +38 -0
  239. package/dist/handlers/write/create-transport.js.map +1 -0
  240. package/dist/handlers/write/create.d.ts.map +1 -1
  241. package/dist/handlers/write/create.js +276 -413
  242. package/dist/handlers/write/create.js.map +1 -1
  243. package/dist/handlers/write/uiad.d.ts +8 -0
  244. package/dist/handlers/write/uiad.d.ts.map +1 -0
  245. package/dist/handlers/write/uiad.js +115 -0
  246. package/dist/handlers/write/uiad.js.map +1 -0
  247. package/dist/handlers/write/update-delete.d.ts +6 -6
  248. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  249. package/dist/handlers/write/update-delete.js +46 -15
  250. package/dist/handlers/write/update-delete.js.map +1 -1
  251. package/dist/handlers/write-helpers.d.ts +0 -6
  252. package/dist/handlers/write-helpers.d.ts.map +1 -1
  253. package/dist/handlers/write-helpers.js +88 -80
  254. package/dist/handlers/write-helpers.js.map +1 -1
  255. package/dist/handlers/write.d.ts.map +1 -1
  256. package/dist/handlers/write.js +5 -1
  257. package/dist/handlers/write.js.map +1 -1
  258. package/dist/public/ui/app.js +0 -2
  259. package/dist/server/audit.d.ts +1 -1
  260. package/dist/server/audit.d.ts.map +1 -1
  261. package/dist/server/http.d.ts +1 -1
  262. package/dist/server/http.d.ts.map +1 -1
  263. package/dist/server/http.js +1 -0
  264. package/dist/server/http.js.map +1 -1
  265. package/dist/server/logger.d.ts.map +1 -1
  266. package/dist/server/logger.js +4 -1
  267. package/dist/server/logger.js.map +1 -1
  268. package/dist/server/multi-target-tools.d.ts.map +1 -1
  269. package/dist/server/multi-target-tools.js +3 -1
  270. package/dist/server/multi-target-tools.js.map +1 -1
  271. package/dist/server/server-instructions.d.ts.map +1 -1
  272. package/dist/server/server-instructions.js +11 -5
  273. package/dist/server/server-instructions.js.map +1 -1
  274. package/dist/server/server.d.ts +1 -1
  275. package/dist/server/server.d.ts.map +1 -1
  276. package/dist/server/server.js +18 -44
  277. package/dist/server/server.js.map +1 -1
  278. package/dist/server/shutdown.d.ts +6 -0
  279. package/dist/server/shutdown.d.ts.map +1 -0
  280. package/dist/server/shutdown.js +52 -0
  281. package/dist/server/shutdown.js.map +1 -0
  282. package/dist/server/sinks/btp-auditlog.d.ts +10 -8
  283. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  284. package/dist/server/sinks/btp-auditlog.js +76 -68
  285. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  286. package/dist/server/sinks/file.d.ts +1 -1
  287. package/dist/server/sinks/file.d.ts.map +1 -1
  288. package/dist/server/sinks/file.js +12 -21
  289. package/dist/server/sinks/file.js.map +1 -1
  290. package/dist/server/ui.js +0 -2
  291. package/dist/server/ui.js.map +1 -1
  292. package/package.json +15 -13
@@ -18,18 +18,19 @@
18
18
  import { getCurrentContext } from '../server/context.js';
19
19
  import { BSP_OBJECTS_PATH, bspContentPath, resolveBspNameAndPath } from './bsp-path.js';
20
20
  import { defaultAdtClientConfig } from './config.js';
21
- import { lockObject, unlockObject } from './crud.js';
22
21
  import { DataResultScope } from './data-result-context.js';
23
22
  import { canonicalDataSourceName } from './data-source-name.js';
24
- import { CDS_DEPENDENCY_GRAPH_PATH, createDataSourceBlocklistGuard, } from './data-source-policy.js';
23
+ import { CDS_DEPENDENCY_GRAPH_PATH, DataSourceBlocklistGuard } from './data-source-policy.js';
25
24
  import { parseTableType } from './ddic-xml.js';
26
25
  import { AdtApiError, AdtSafetyError, isNotFoundError } from './errors.js';
27
26
  import { AdtHttpClient } from './http.js';
28
27
  import { AdtPackageHierarchyResolver } from './package-hierarchy.js';
29
28
  import { canonicalRevisionSourcePath } from './path-safety.js';
29
+ import { clampUrlLimit } from './result-limits.js';
30
30
  import { checkOperation, OperationType } from './safety.js';
31
31
  import { Semaphore } from './semaphore.js';
32
- import { buildTableQuerySql, clampPreviewRows, executeDataPreviewStatements } from './table-query.js';
32
+ import { buildTableQuerySql, clampPreviewRows, executeDataPreviewStatements, fitFreestyleSqlLines, } from './table-query.js';
33
+ import { readTextElementPart, readTextElements, writeTextElementPart, } from './text-elements.js';
33
34
  import { clampSearchResults, searchSource as executeSourceSearch, toTextSearchObjectType } from './text-search.js';
34
35
  import { assertApiReleaseStateConfirmed, buildApiReleasePutBody, parseApiReleaseState, parseAuthorizationField, parseBspAppList, parseBspFolderListing, parseClassMetadata, parseClassStructure, parseDataElementMetadata, parseDataPreviewResult, parseDomainMetadata, parseEnhancementImplementation, parseFeatureToggleStates, parseFunctionGroup, parseFunctionGroupNodes, parseFunctionModuleProperties, parseInactiveObjects, parseInstalledComponents, parseMessageClass, parseRevisionFeed, parseSearchResults, parseServiceBinding, parseSubpackageNodestructure, parseSystemInfo, parseTableContents, parseTransactionMetadata, } from './xml-parser.js';
35
36
  export { buildTableQuerySql, clampPreviewRows, clampSearchResults, toTextSearchObjectType };
@@ -106,23 +107,6 @@ function tadirObjectUrl(tadirType, name) {
106
107
  return '';
107
108
  }
108
109
  }
109
- /** Media type for a class's text symbols on the top-level ADT textelements service. Used as BOTH
110
- * Content-Type and Accept on the write PUT (SAP returns 400 "Accept header missing" otherwise).
111
- * Symbols only — a class has no selection screen, so its `source/selections` segment is always
112
- * empty and un-writable (SAP 406); selection texts are a program concept (future follow-up). */
113
- const TEXT_SYMBOLS_CT = 'application/vnd.sap.adt.textelements.symbols.v1';
114
- /** Floor + clamp a caller-supplied result limit to [1, 1000] before it is interpolated into an
115
- * ADT search/listing URL query param (`maxResults=`, `rowNumber=`). Non-finite input — NaN from a
116
- * coerced non-numeric, or undefined — falls back to the caller's default, so no float or
117
- * out-of-range value ever reaches a SAP URL regardless of which tool supplied it. Mirrors
118
- * `clampSearchResults` and diagnostics' `clampMaxResults`. The tool schemas advertise `maxResults`
119
- * as `type: number` and SAPRead promises "clamped to [1, 1000]"; this is where that promise is
120
- * kept (see docs/research/2026-06-12-maxresults-contract-asymmetry.md). */
121
- function clampUrlLimit(requested, fallback) {
122
- if (requested === undefined || !Number.isFinite(requested))
123
- return fallback;
124
- return Math.max(1, Math.min(1000, Math.floor(requested)));
125
- }
126
110
  /** The five source includes a class keeps its revisions under. */
127
111
  export const CLASS_REVISION_INCLUDES = ['main', 'definitions', 'implementations', 'macros', 'testclasses'];
128
112
  /**
@@ -160,6 +144,7 @@ const REVISION_URL_BUILDERS = {
160
144
  };
161
145
  /** Types with an addressable revisions feed — derived, never hand-maintained. */
162
146
  export const REVISION_TYPES = new Set(Object.keys(REVISION_URL_BUILDERS));
147
+ export { isTextElementObjectType, TEXT_ELEMENT_OBJECT_TYPES, TEXT_ELEMENT_PARTS, } from './text-elements.js';
163
148
  export class AdtClient {
164
149
  http;
165
150
  safety;
@@ -763,10 +748,11 @@ export class AdtClient {
763
748
  });
764
749
  return parseTableType(resp.body);
765
750
  }
766
- /** Get data element metadata (domain, labels, search help) */
767
- async getDataElement(name) {
751
+ /** Get data element metadata (domain, labels/reserved lengths, search help, input-history flag) */
752
+ async getDataElement(name, version) {
768
753
  checkOperation(this.safety, OperationType.Read, 'GetDataElement');
769
- const resp = await this.http.get(`/sap/bc/adt/ddic/dataelements/${encodeURIComponent(name)}`);
754
+ const versionQuery = version ? `?version=${version}` : '';
755
+ const resp = await this.http.get(`/sap/bc/adt/ddic/dataelements/${encodeURIComponent(name)}${versionQuery}`);
770
756
  return parseDataElementMetadata(resp.body);
771
757
  }
772
758
  // ─── Authorization & Switch Framework ───────────────────────────
@@ -891,10 +877,11 @@ export class AdtClient {
891
877
  }
892
878
  // ─── Search Operations ─────────────────────────────────────────────
893
879
  /** Search for ABAP objects by name pattern */
894
- async searchObject(query, maxResults = 100) {
880
+ async searchObject(query, maxResults = 100, objectType) {
895
881
  checkOperation(this.safety, OperationType.Search, 'SearchObject');
896
882
  const limit = clampSearchResults(maxResults, 100);
897
- const resp = await this.http.get(`/sap/bc/adt/repository/informationsystem/search?operation=quickSearch&query=${encodeURIComponent(query)}&maxResults=${limit}`);
883
+ const typeFilter = objectType ? `&objectType=${encodeURIComponent(objectType)}` : '';
884
+ const resp = await this.http.get(`/sap/bc/adt/repository/informationsystem/search?operation=quickSearch&query=${encodeURIComponent(query)}&maxResults=${limit}${typeFilter}`);
898
885
  return parseSearchResults(resp.body);
899
886
  }
900
887
  /**
@@ -1049,8 +1036,8 @@ export class AdtClient {
1049
1036
  *
1050
1037
  * @param packageName — DEVC name to inspect
1051
1038
  * @param maxResults — soft cap on number of returned entries (default 200,
1052
- * clamped to [1, 1000]). Larger packages may be silently
1053
- * truncated by SAP at this limit; raise it if needed.
1039
+ * clamped to [1, 1000]). This array API has no completeness
1040
+ * metadata; SAPRead supplies it alongside these entries.
1054
1041
  * @returns array of `{ type, name, description, uri }` (URIs may be empty
1055
1042
  * for objects that the workbench does not expose via ADT, e.g.
1056
1043
  * some `IWMO`/`IWPR`/`SICF/TYP` entries).
@@ -1130,9 +1117,11 @@ export class AdtClient {
1130
1117
  // ─── Table Data Operations ─────────────────────────────────────────
1131
1118
  /** A fresh guard per logical request; instrumentation never leaks between decisions. */
1132
1119
  dataSourceBlocklistGuard() {
1133
- return createDataSourceBlocklistGuard({
1134
- blockedDataSources: this.safety.blockedDataSources,
1120
+ return new DataSourceBlocklistGuard(this.safety.blockedDataSources, {
1135
1121
  searchObject: (name, maxResults) => this.searchObject(name, maxResults),
1122
+ canonicalTableSourceAvailable: this.http.hasDiscoveryData()
1123
+ ? this.http.discoveryAcceptFor('/sap/bc/adt/ddic/tables') !== undefined
1124
+ : undefined,
1136
1125
  // Canonical /tables source only: the NW 7.50 /structures fallback omits
1137
1126
  // replacementObject metadata and therefore cannot prove authorization.
1138
1127
  readTableSource: async (name) => (await this.getTable(name)).source,
@@ -1226,7 +1215,7 @@ export class AdtClient {
1226
1215
  }
1227
1216
  async postFreestyleQuery(sql, maxRows, budget, signal) {
1228
1217
  const rowLimit = clampPreviewRows(maxRows);
1229
- return this.postDataPreview(`/sap/bc/adt/datapreview/freestyle?rowNumber=${rowLimit}`, sql, budget, signal);
1218
+ return this.postDataPreview(`/sap/bc/adt/datapreview/freestyle?rowNumber=${rowLimit}`, fitFreestyleSqlLines(sql), budget, signal);
1230
1219
  }
1231
1220
  /**
1232
1221
  * Query a table or CDS view with structured parameters.
@@ -1313,51 +1302,27 @@ export class AdtClient {
1313
1302
  const resp = await this.http.get(`/sap/bc/adt/messageclass/${encodeURIComponent(name)}`);
1314
1303
  return parseMessageClass(resp.body);
1315
1304
  }
1316
- /** Get program text elements */
1317
- async getTextElements(program) {
1318
- checkOperation(this.safety, OperationType.Read, 'GetTextElements');
1319
- const resp = await this.http.get(`/sap/bc/adt/programs/programs/${encodeURIComponent(program)}/textelements`);
1320
- return resp.body;
1305
+ /** Read an object's text elements (CLAS/PROG/FUGR). Without `part`, every subobject that carries
1306
+ * text is returned under a `=== part ===` marker. See adt/text-elements.ts. */
1307
+ async getTextElements(name, options) {
1308
+ return readTextElements(this.http, this.safety, name, options);
1321
1309
  }
1322
- /** Fail clean when the ADT textelements service is absent (SAP_BASIS < 7.51, e.g. NW 7.50 — the
1323
- * whole collection is missing from discovery). Only blocks when discovery is loaded, so a
1324
- * not-yet-populated map does not false-block 758/816; otherwise a real 404 surfaces. */
1325
- assertClassTextElementsService() {
1326
- if (this.http.hasDiscoveryData() &&
1327
- this.http.discoveryAcceptFor('/sap/bc/adt/textelements/classes') === undefined) {
1328
- throw new AdtApiError('Class text elements require the ADT textelements service (SAP_BASIS ≥ 7.51; not available on this system).', 404, '/sap/bc/adt/textelements/classes');
1329
- }
1310
+ /** Read one subobject of a textpool (symbols | selections | headings). */
1311
+ async getTextElementPart(objectType, name, part) {
1312
+ return readTextElementPart(this.http, this.safety, objectType, name, part);
1330
1313
  }
1331
- /** Read a global class's text symbols. Returns the raw properties-style body
1332
- * (`@MaxLength:NN` then `NNN=text`, blank-line separated). */
1314
+ /** Read a global class's text symbols. */
1333
1315
  async getClassTextSymbols(name) {
1334
- checkOperation(this.safety, OperationType.Read, 'GetClassTextSymbols');
1335
- this.assertClassTextElementsService();
1336
- const resp = await this.http.get(`/sap/bc/adt/textelements/classes/${encodeURIComponent(name)}/source/symbols`, {
1337
- Accept: TEXT_SYMBOLS_CT,
1338
- });
1339
- return resp.body;
1316
+ return readTextElementPart(this.http, this.safety, 'CLAS', name, 'symbols');
1340
1317
  }
1341
- /** Write a global class's text symbols. Locks the textelements object (not the class), PUTs the
1342
- * body with the symbols media type as BOTH Content-Type and Accept (SAP returns 400 "Accept header
1343
- * missing" otherwise), then unlocks. Immediately active — no SAPActivate needed. */
1318
+ /** Write one subobject of a textpool. Locks the textelements object, PUTs, unlocks. Immediately
1319
+ * active no SAPActivate needed. */
1320
+ async writeTextElementPart(objectType, name, part, source, transport) {
1321
+ return writeTextElementPart(this.http, this.safety, objectType, name, part, source, transport);
1322
+ }
1323
+ /** Write a global class's text symbols. */
1344
1324
  async writeClassTextSymbols(name, source, transport) {
1345
- checkOperation(this.safety, OperationType.Update, 'WriteClassTextSymbols');
1346
- this.assertClassTextElementsService();
1347
- const obj = `/sap/bc/adt/textelements/classes/${encodeURIComponent(name)}`;
1348
- await this.http.withStatefulSession(async (session) => {
1349
- const lock = await lockObject(session, this.safety, obj, 'MODIFY');
1350
- const corr = transport ?? (lock.corrNr || undefined);
1351
- try {
1352
- let url = `${obj}/source/symbols?lockHandle=${encodeURIComponent(lock.lockHandle)}`;
1353
- if (corr)
1354
- url += `&corrNr=${encodeURIComponent(corr)}`;
1355
- await session.put(url, source, TEXT_SYMBOLS_CT, { Accept: TEXT_SYMBOLS_CT });
1356
- }
1357
- finally {
1358
- await unlockObject(session, obj, lock.lockHandle);
1359
- }
1360
- });
1325
+ return writeTextElementPart(this.http, this.safety, 'CLAS', name, 'symbols', source, transport);
1361
1326
  }
1362
1327
  /** Get program variants */
1363
1328
  async getVariants(program) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/adt/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/adt/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAA2B,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAwC,MAAM,WAAW,CAAC;AAEhF,OAAO,EAAE,2BAA2B,EAAiC,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAGhB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,YAAY,IAAI,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAuBnH,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EAEtB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAC;AAiB5F,SAAS,gBAAgB,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;IAChE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,cAAc,CAAC,SAAiB,EAAE,IAAY;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,MAAM;YACT,OAAO,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjE,KAAK,MAAM;YACT,OAAO,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,KAAK,MAAM;YACT,OAAO,sCAAsC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,KAAK,MAAM;YACT,OAAO,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,yCAAyC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,KAAK,MAAM;YACT,oEAAoE;YACpE,oEAAoE;YACpE,OAAO,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM;YACT,OAAO,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM;YACT,OAAO,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM;YACT,OAAO,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM;YACT,OAAO,oDAAoD,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxF,KAAK,MAAM;YACT,OAAO,qDAAqD,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,KAAK,MAAM;YACT,OAAO,2CAA2C,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC7F;YACE,2EAA2E;YAC3E,sEAAsE;YACtE,qEAAqE;YACrE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC;AAEpH;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAGvB;IACF,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,uBAAuB;IACtE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAChB,MAAM,OAAO,GACX,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC;aAC3B,IAAI,EAAE;aACN,WAAW,EAAE,IAAI,MAAM,CAAC;QAC7B,IAAI,CAAE,uBAA6C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,CAAC,OAAO,IAAI,EAAE,uCAAuC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnH,CAAC;QACJ,CAAC;QACD,OAAO,0BAA0B,CAAC,aAAa,OAAO,WAAW,CAAC;IACpE,CAAC;IACD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,uBAAuB;IAClE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,OAAO,IAAI,CAAC,CAAC;QAC9F,OAAO,gCAAgC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC;IACxG,CAAC;IACD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,uBAAuB;IACtE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gCAAgC,CAAC,WAAW;IACzD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B,CAAC,WAAW;IACxD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sCAAsC,CAAC,uBAAuB;IAC3E,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,CAAC,uBAAuB;CACvE,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAE/F,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,SAAS;IACX,IAAI,CAAgB;IACpB,MAAM,CAAe;IAC9B,2DAA2D;IAClD,QAAQ,CAAS;IAC1B,mGAAmG;IAClF,mBAAmB,CAAyB;IAC7D,uFAAuF;IAC9E,cAAc,CAAU;IACjC,uEAAuE;IAC/D,aAAa,CAAU;IAC/B;mHAC+G;IACvG,YAAY,CAAU;IAC9B,oEAAoE;IAC3D,SAAS,CAAS;IAC3B,wFAAwF;IACvE,2BAA2B,CAAS;IACrD,kGAAkG;IACjF,mBAAmB,CAAY;IAChD;;8CAE0C;IACzB,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1D;;;6EAGyE;IACxD,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/D;;sFAEkF;IAC1E,8BAA8B,GAAkD,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE3G,YAAY,OAAO,GAA6B,EAAE;QAChD,MAAM,MAAM,GAAG,EAAE,GAAG,sBAAsB,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC;QACtE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAExG,MAAM,UAAU,GAAkB;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,mFAAmF;YACnF,0FAA0F;YAC1F,2DAA2D;YAC3D,SAAS,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3G,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,MAAoB;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAc,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;OAOG;IACH,2BAA2B;QACzB,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,8BAA8B,CAAC,QAAQ,GAAG,IAAI,2BAA2B,CAAC,CAAC,IAAI,EAAE,EAAE,CACtF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAC1B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC;IACtD,CAAC;IAED;wEACoE;IACpE,0BAA0B,CAAC,IAAa;QACtC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,qEAAqE;IAE7D,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAI,GAAsB,EAAE;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnG,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS;YACpC,WAAW,EAAE,IAAI,CAAC,UAAU,KAAK,GAAG;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAwB;QACrD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED;;;;oFAIgF;IAChF,KAAK,CAAC,oBAAoB,CAAC,aAAqB,EAAE,IAAwB;QACxE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,aAAa,cAAc,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAgB,EAAE,IAAwB;QACrE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,6CAA6C;YAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,0BAA0B,WAAW,cAAc,EAAE,IAAI,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS,uBAAuB,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAClC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,2BAA2B,GAAG,aAAa,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvG,SAAS;YACX,CAAC;YAED,wDAAwD;YACxD,MAAM,IAAI,GACR,GAAG,KAAK,MAAM;gBACZ,CAAC,CAAC,0BAA0B,WAAW,cAAc;gBACrD,CAAC,CAAC,0BAA0B,WAAW,aAAa,GAAG,EAAE,CAAC;YAE9D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CACR,OAAO,GAAG,mBAAmB,GAAG,uGAAuG,CACxI,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,CAAC,0BAA0B;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAAe,EAAE,IAAwB;QAC3E,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,WAAW,CACrB,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAC5F,IAAI,CACL,CAAC;IACJ,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAA0B,EAAE;YACrE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,WAAW,aAAa,OAAO,EAAE,EAAE,SAAS,EAAE;oBACvG,mBAAmB,EAAE,IAAI;iBAC1B,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,eAAe,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACtC,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,WAAW,cAAc,CAAC;YAClE,YAAY,CAAC,aAAa,CAAC;YAC3B,YAAY,CAAC,aAAa,CAAC;YAC3B,YAAY,CAAC,iBAAiB,CAAC;YAC/B,YAAY,CAAC,QAAQ,CAAC;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW;YACX,WAAW;YACX,eAAe;YACf,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,OAAO,GAA0B,QAAQ;QAC7E,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrE,gFAAgF;QAChF,+EAA+E;QAC/E,+EAA+E;QAC/E,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAChH,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAwB;QACvD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,IAAwB;QACrE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,WAAW,CACrB,gCAAgC,kBAAkB,CAAC,KAAK,CAAC,aAAa,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAC5G,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,2BAA2B,CAAC,KAAa,EAAE,IAAY;QAC3D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,gCAAgC,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,aAAa,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACzI,OAAO,6BAA6B,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,oBAAoB,CAAC,MAAc;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtF,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACjD,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACpE,gFAAgF;QAChF,gFAAgF;QAChF,MAAM,MAAM,GAAG,gDAAgD,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC3G,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sFAAsF;YACtF,qFAAqF;YACrF,uFAAuF;YACvF,qFAAqF;YACrF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,qDAAqD,kBAAkB,CAAC,IAAI,CAAC,eAAe,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC1H,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,wEAAwE;YACxE,OAAO,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,sBAAsB,CAAC,IAAY,EAAE,IAAwB;QACjE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,IAAwB;QACrD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,wBAAwB,CAC5B,IAAY,EACZ,IAAwB;QAExB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAA4C,EAAE,CAAC;QAC3D,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEjE,mFAAmF;QACnF,kEAAkE;QAClE,MAAM,YAAY,GAAG,CAAC,GAAW,EAAY,EAAE;YAC7C,MAAM,EAAE,GAAG,oCAAoC,CAAC;YAChD,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,IAAI,CAAyB,CAAC;YAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,IAAI,QAAQ,GAA0C,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,GAA0C,EAAE,CAAC;YACvD,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACtC,IAAI,KAAK,IAAI,SAAS;oBAAE,SAAS;gBACjC,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAC5B,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;wBAChC,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,IAAI,CAAC;wBACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAClE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;wBACjD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClD,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,MAAM,IAAI,EAAE,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM;YACvB,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAwB;QACjD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,sCAAsC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9G,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED,kGAAkG;IAClG,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAwB;QACjD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,gGAAgG;QAChG,OAAO,IAAI,CAAC,WAAW,CAAC,2CAA2C,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YAC3G,GAAG,IAAI;YACP,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,oCAAoC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yCAAyC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACzG,GAAG,IAAI;YACP,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,gEAAgE;SACzF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACjG,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAwB;QACnD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,WAAW,CAAC,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,qDAAqD,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACjH,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAwB;QACvD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAED;;;;sEAIkE;IAClE,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAwB;QAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxF,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;oEAQgE;IAChE,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;kCAiB8B;IAC9B,KAAK,CAAC,4BAA4B,CAChC,IAAY,EACZ,OAAO,GAA0C,EAAE;QAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,yEAAyE;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,qEAAqE;YACrE,IAAI,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;gBAC/F,MAAM,IAAI,cAAc,CACtB,yEAAyE;oBACvE,wEAAwE;oBACxE,oEAAoE;oBACpE,mDAAmD,IAAI,gBAAgB;oBACvE,+EAA+E;oBAC/E,qEAAqE,CACxE,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,gFAAgF;YAChF,4EAA4E;YAC5E,uEAAuE;YACvE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;qBACpC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;qBACvB,WAAW,EAAE,CAAC;gBACjB,OAAO,IAAI,KAAK,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,wEAAwE;YACxE,oCAAoC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAE5E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;gBAC9C,MAAM,IAAI,cAAc,CACtB,yEAAyE;oBACvE,wEAAwE;oBACxE,oEAAoE;oBACpE,mDAAmD,IAAI,gBAAgB;oBACvE,+EAA+E;oBAC/E,qEAAqE,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,iDAAiD;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC1F,MAAM,EAAE,0CAA0C;SACnD,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,mGAAmG;IACnG,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,OAA+B;QAChE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;QAC7G,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,mEAAmE;IAEnE,oFAAoF;IACpF,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACvF,MAAM,EAAE,sCAAsC;SAC/C,CAAC,CAAC;QACH,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,mEAAmE;IAE3D,eAAe,CAAC,IAAY,EAAE,IAAY,EAAE,IAA0C;QAC5F,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,kBAAkB,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,IAAY,EACZ,IAAI,GAAyC,EAAE;QAE/C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;QACpF,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;YACpG,MAAM,EAAE,0CAA0C;SACnD,CAAC,CAAC;QACH,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,4BAA4B,CAAC,IAAY;QAC7C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YAC/F,MAAM,EAAE,4CAA4C;SACrD,CAAC,CAAC;QACH,OAAO,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oDAAoD,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;YAC3F,MAAM,EAAE,4CAA4C;SACrD,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,IAAI,GAA8D,EAAE;QAEpE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,MAAM,GAAG,4CAA4C,CAAC;QAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,2BAA2B,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5E,MAAM,kBAAkB,GAAG;YACzB,qBAAqB,EAAE,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YACpE,gBAAgB,EAAE,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3D,CAAC;QACF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAC/E,IAAI,EACJ,MAAM,EACN,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,8FAA8F;YAC9F,+FAA+F;YAC/F,2FAA2F;YAC3F,IACE,GAAG,YAAY,WAAW;gBAC1B,GAAG,CAAC,UAAU,KAAK,GAAG;gBACtB,uBAAuB,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,EACxE,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpG,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3D,kGAAkG;QAClG,mGAAmG;QACnG,8BAA8B,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrG,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED;;;;;4FAKwF;IACxF,KAAK,CAAC,kBAAkB;QACtB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wCAAwC,EAAE;YACzE,MAAM,EAAE,0EAA0E;SACnF,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,sEAAsE;IAEtE,8CAA8C;IAC9C,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,UAAU,GAAG,GAAG,EAAE,UAAmB;QACrE,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,+EAA+E,kBAAkB,CAAC,KAAK,CAAC,eAAe,KAAK,GAAG,UAAU,EAAE,CAC5I,CAAC;QACF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,KAAe,EACf,OAAO,GAAoD,EAAE;QAE7D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAEnE,MAAM,YAAY,GAAG;YACnB,GAAG,IAAI,GAAG,CACR,KAAK;iBACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/B;SACF,CAAC;QACF,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,GAAG,CACR,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/B;SACF,CAAC;QACF,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAErD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,UAAmB,EAA8B,EAAE;YACzF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;aAC1B,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzG,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,UAAU,GACd,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3F,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YAE7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,OAAO,GAAG,UAAU;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;iBAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,WAAW,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEL,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAe,EACf,OAAO,GAAoD,EAAE;QAE7D,MAAM,YAAY,GAAG;YACnB,GAAG,IAAI,GAAG,CACR,KAAK;iBACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/B;SACF,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,GAAG,CACR,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/B;SACF,CAAC;QACF,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEtD,MAAM,eAAe,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAC5E,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,GAAG,GAAG,0EAA0E,WAAW,GAAG,CAAC;QACnG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,GAAG,IAAI,mBAAmB,WAAW,GAAG,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEpD,wEAAwE;QACxE,yEAAyE;QACzE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAoB;gBAC7B,UAAU;gBACV,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,EAAE;gBACf,WAAW;gBACX,GAAG,EAAE,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC;gBACxC,OAAO,EAAE,IAAI;aACd,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gBAC9B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,6EAA6E;QAC7E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,UAAU,GAAG,EAAE,EACf,UAAmB,EACnB,WAAoB;QAEpB,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;IAED,sEAAsE;IAEtE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,UAAU,GAAG,GAAG;QAEhB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,6FAA6F,kBAAkB,CAAC,WAAW,CAAC,eAAe,KAAK,EAAE,CACnJ,CAAC;QACF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,GAAG,EAAE,GAAG,CAAC,GAAG;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,UAAU,GAAG,IAAI;QACzD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,GAAG,GACP,sCAAsC;YACtC,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,GAAG,qBAAqB,GAAG,EAAE;YACzF,6BAA6B,CAAC;QAChC,mEAAmE;QACnE,gFAAgF;QAChF,MAAM,IAAI,GACR,wCAAwC;YACxC,iEAAiE;YACjE,uEAAuE;YACvE,aAAa,CAAC;QAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,0DAA0D,EAAE;YACvG,MAAM,EAAE,4BAA4B;SACrC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5C,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,iDAAiD;QACjD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;gBAAE,MAAM;QACjC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,sEAAsE;IAEtE,wFAAwF;IAChF,wBAAwB;QAC9B,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAClE,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC;YACvE,6BAA6B,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,SAAS;gBACvE,CAAC,CAAC,SAAS;YACb,wEAAwE;YACxE,uEAAuE;YACvE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACnE,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC;YACpF,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAC1C,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBACzE,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uFAAuF;IACvF,qBAAqB;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,SAA2E;QAE3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,OAAO,EAAE,eAAe,CAAC;QAChD,MAAM,KAAK,GAAG,cAAc,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc;gBAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAY,EACZ,IAAwB,EACxB,MAA0B,EAC1B,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,OAAO,GAAG,GAAG,EACb,SAAkB;QAElB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACrE,+FAA+F;QAC/F,iGAAiG;QACjG,mCAAmC;QACnC,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;QAC/E,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,6FAA6F;QAC7F,4EAA4E;QAC5E,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACvD,kBAAkB,CAChB,MAAM,IAAI,CAAC,eAAe,CACxB,0CAA0C,QAAQ,mBAAmB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACjG,SAAS,EACT,MAAM,EACN,MAAM,CACP,CACF,CACF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,OAAO,GAAG,GAAG;QACvC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,GAAW,EACX,OAAO,GAAG,GAAG;QAEb,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa,CACjB,UAAoB,EACpB,OAAO,GAAG,GAAG;QAEb,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAE9F,wEAAwE;QACxE,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAmB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAElH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,sBAAsB,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,4BAA4B,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,GAAW,EACX,OAAe,EACf,MAA0B,EAC1B,MAAoB;QAEpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,eAAe,CACzB,+CAA+C,QAAQ,EAAE,EACzD,oBAAoB,CAAC,GAAG,CAAC,EACzB,MAAM,EACN,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CACjB,SAAiB,EACjB,IAAI,GAIA,EAAE;QAEN,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAClE,uFAAuF;QACvF,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CACvD,kBAAkB,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,sEAAsE;IAEtE;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,+FAA+F;YAC/F,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;kFAC8E;IAC9E,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,sGAAsG;IACtG,gBAAgB,CAAC,IAAwB;QACvC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;yEAEqE;IACrE,KAAK,CAAC,aAAa;QACjB,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,sBAAsB;QAC1B,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAChH,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpE,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;oFACgF;IAChF,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,OAAyD;QAC3F,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,kBAAkB,CAAC,UAAiC,EAAE,IAAY,EAAE,IAAqB;QAC7F,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED;0CACsC;IACtC,KAAK,CAAC,oBAAoB,CACxB,UAAiC,EACjC,IAAY,EACZ,IAAqB,EACrB,MAAc,EACd,SAAkB;QAElB,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjG,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,MAAc,EAAE,SAAkB;QAC1E,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAClG,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iCAAiC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1G,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,uEAAuE;IAEvE,yCAAyC;IACzC,KAAK,CAAC,WAAW,CAAC,KAAc,EAAE,UAAmB;QACnD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC3E,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,OAAgB;QACxD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CACnB,iDAAiD,EACjD,GAAG,EACH,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAChD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,QAAgB;QACvD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CACnB,iDAAiD,EACjD,GAAG,EACH,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAChD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,IAAa;QACpD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrE,uGAAuG;QACvG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACnF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,MAAe;QAC3D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACxE,uFAAuF;QACvF,6FAA6F;QAC7F,4FAA4F;QAC5F,uFAAuF;QACvF,4FAA4F;QAC5F,2FAA2F;QAC3F,2EAA2E;QAC3E,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7F,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACzF,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACpG,OAAO,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
@@ -4,6 +4,7 @@ import { AdtSafetyError } from './errors.js';
4
4
  * Stable, distinct client-facing outcomes.
5
5
  *
6
6
  * - `DATA_SOURCE_BLOCKED` an exact configured rule matched.
7
+ * - `DATA_POLICY_UNAVAILABLE` SAP cannot expose metadata required to enforce the policy safely.
7
8
  * - `DATA_LINEAGE_UNRESOLVED` SAP metadata/identity/graph/replacement lineage could not be proven.
8
9
  * - `DATA_SQL_UNSUPPORTED` the caller's SQL is outside the strict accepted grammar.
9
10
  *
@@ -11,7 +12,7 @@ import { AdtSafetyError } from './errors.js';
11
12
  * supported" cannot self-correct. That does permit coarse membership probing, which is a documented,
12
13
  * deliberate trade rather than an oversight.
13
14
  */
14
- export type DataSourcePolicyErrorCode = 'DATA_SOURCE_BLOCKED' | 'DATA_LINEAGE_UNRESOLVED' | 'DATA_SQL_UNSUPPORTED';
15
+ export type DataSourcePolicyErrorCode = 'DATA_SOURCE_BLOCKED' | 'DATA_POLICY_UNAVAILABLE' | 'DATA_LINEAGE_UNRESOLVED' | 'DATA_SQL_UNSUPPORTED';
15
16
  /** Opaque, bounded, non-secret correlation id shared by the client error and the audit record. */
16
17
  export declare function newDecisionId(): string;
17
18
  export declare class DataSourcePolicyError extends AdtSafetyError {
@@ -35,7 +36,7 @@ export declare class DataSourcePolicyError extends AdtSafetyError {
35
36
  * the model to act (stable code, executed=false, decision id, and a safe alternative). It does not
36
37
  * change the decision and does not reduce what the audit event records.
37
38
  *
38
- * The three codes stay distinguishable even in minimal mode, which does permit coarse membership
39
+ * The four codes stay distinguishable even in minimal mode, which does permit coarse membership
39
40
  * probing. That is a deliberate, documented trade: a model that cannot tell "blocked by policy"
40
41
  * from "SQL not supported" cannot correct itself.
41
42
  */
@@ -72,6 +73,8 @@ export type ResolvedDirectDataSource = {
72
73
  };
73
74
  export interface DataSourcePolicyResolver {
74
75
  resolveDirectSource(name: string): Promise<ResolvedDirectDataSource>;
76
+ /** True = advertised, false = absent from loaded discovery, undefined = discovery unknown. */
77
+ canonicalTableSourceAvailable?: boolean;
75
78
  readTableSource(name: string): Promise<string>;
76
79
  readCdsDependencyGraph(ddlSource: string): Promise<CdsDependencyNode>;
77
80
  }
@@ -81,6 +84,7 @@ export interface DataSourcePolicyBackend {
81
84
  objectType: string;
82
85
  uri: string;
83
86
  }>>;
87
+ canonicalTableSourceAvailable: boolean | undefined;
84
88
  readTableSource(name: string): Promise<string>;
85
89
  dependencyGraphAccept(): string | undefined;
86
90
  readDependencyGraph(path: string, accept: string): Promise<string>;
@@ -118,19 +122,6 @@ export declare class DataSourceBlocklistGuard {
118
122
  }
119
123
  /** Endpoint the SQL dependency graph is served from. */
120
124
  export declare const CDS_DEPENDENCY_GRAPH_PATH = "/sap/bc/adt/ddic/ddl/dependencies/graphdata";
121
- /**
122
- * Wire a request-scoped guard from the ADT primitives it needs.
123
- *
124
- * Lives here rather than on the client so the ADT facade stays a facade: this is policy wiring, and
125
- * a new guard is built per logical request so its instrumentation can never leak between decisions.
126
- */
127
- export declare function createDataSourceBlocklistGuard(deps: {
128
- blockedDataSources: string[];
129
- searchObject: DataSourcePolicyBackend['searchObject'];
130
- readTableSource: DataSourcePolicyBackend['readTableSource'];
131
- dependencyGraphAccept: DataSourcePolicyBackend['dependencyGraphAccept'];
132
- readDependencyGraph: DataSourcePolicyBackend['readDependencyGraph'];
133
- }): DataSourceBlocklistGuard;
134
125
  /**
135
126
  * Parse SAP dependency-analyzer XML (750 element-info and 758/816 SQLDependencyModel v3) into one
136
127
  * bounded, explicitly classified tree.
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-policy.d.ts","sourceRoot":"","sources":["../../src/adt/data-source-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-source-policy.d.ts","sourceRoot":"","sources":["../../src/adt/data-source-policy.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ const MAX_GRAPH_NODES = 1_000;
11
11
  const MAX_DIRECT_SOURCES = 64;
12
12
  const MAX_REPLACEMENT_SOURCES = 256;
13
13
  const MAX_RESOLUTION_ROOTS = 64;
14
+ const TABLE_SOURCE_UNAVAILABLE_REASON = 'the connected SAP system does not advertise the transparent-table source metadata required to prove replacement-object lineage; the standard ADT resource is available from SAP_BASIS 7.52 onward';
15
+ const TABLE_SOURCE_UNKNOWN_404_REASON = 'ADT discovery was unavailable and the canonical transparent-table source request returned HTTP 404, so replacement-object lineage support could not be established; the standard ADT resource is available from SAP_BASIS 7.52 onward';
14
16
  const graphParser = new XMLParser({
15
17
  ignoreAttributes: false,
16
18
  attributeNamePrefix: '@_',
@@ -42,9 +44,12 @@ export class DataSourcePolicyError extends AdtSafetyError {
42
44
  constructor(code, directSource, sourcePath, reason, options = {}) {
43
45
  const path = sourcePath.length > 0 ? sourcePath.join(' -> ') : directSource;
44
46
  const decisionId = options.decisionId ?? newDecisionId();
47
+ const operatorAction = code === 'DATA_POLICY_UNAVAILABLE'
48
+ ? 'Keep data access disabled until this target can supply the canonical table-source metadata (normally SAP_BASIS 7.52 or newer). Clearing SAP_BLOCKED_DATA_SOURCES leaves every otherwise authorized source eligible and requires security approval.'
49
+ : 'Use a permitted static source, or change SAP_BLOCKED_DATA_SOURCES only after security review.';
45
50
  super(`${code}: request denied before data execution (executed=false, decisionId=${decisionId}). ` +
46
51
  `Source path: ${path}. Reason: ${reason}. ` +
47
- 'Operator action: use a permitted static source, or change SAP_BLOCKED_DATA_SOURCES only after security review.');
52
+ `Operator action: ${operatorAction}`);
48
53
  this.code = code;
49
54
  this.directSource = directSource;
50
55
  this.sourcePath = sourcePath;
@@ -62,7 +67,7 @@ export class DataSourcePolicyError extends AdtSafetyError {
62
67
  * the model to act (stable code, executed=false, decision id, and a safe alternative). It does not
63
68
  * change the decision and does not reduce what the audit event records.
64
69
  *
65
- * The three codes stay distinguishable even in minimal mode, which does permit coarse membership
70
+ * The four codes stay distinguishable even in minimal mode, which does permit coarse membership
66
71
  * probing. That is a deliberate, documented trade: a model that cannot tell "blocked by policy"
67
72
  * from "SQL not supported" cannot correct itself.
68
73
  */
@@ -79,6 +84,8 @@ export class DataSourcePolicyError extends AdtSafetyError {
79
84
  switch (this.code) {
80
85
  case 'DATA_SQL_UNSUPPORTED':
81
86
  return 'Rewrite the request as one complete static SELECT/WITH without comments, host expressions or dynamic sources, or use the structured SAPRead(type="TABLE_QUERY") parameters.';
87
+ case 'DATA_POLICY_UNAVAILABLE':
88
+ return 'This SAP target did not supply the metadata the policy needs (normally SAP_BASIS 7.52 or newer). Retrying unchanged will be denied; ask an operator.';
82
89
  case 'DATA_LINEAGE_UNRESOLVED':
83
90
  return 'Query a source whose lineage ARC-1 can resolve, or use the structured SAPRead(type="TABLE_QUERY") parameters.';
84
91
  default:
@@ -242,6 +249,7 @@ export class DataSourceBlocklistGuard {
242
249
  async evaluate(directSources) {
243
250
  await enforceBlockedDataSources(directSources, this.blockedSources, {
244
251
  resolveDirectSource: (name) => this.resolveDirectSource(name),
252
+ canonicalTableSourceAvailable: this.backend.canonicalTableSourceAvailable,
245
253
  readTableSource: (name) => {
246
254
  this.metadataRequests += 1;
247
255
  return this.backend.readTableSource(name);
@@ -327,15 +335,6 @@ export class DataSourceBlocklistGuard {
327
335
  }
328
336
  /** Endpoint the SQL dependency graph is served from. */
329
337
  export const CDS_DEPENDENCY_GRAPH_PATH = '/sap/bc/adt/ddic/ddl/dependencies/graphdata';
330
- /**
331
- * Wire a request-scoped guard from the ADT primitives it needs.
332
- *
333
- * Lives here rather than on the client so the ADT facade stays a facade: this is policy wiring, and
334
- * a new guard is built per logical request so its instrumentation can never leak between decisions.
335
- */
336
- export function createDataSourceBlocklistGuard(deps) {
337
- return new DataSourceBlocklistGuard(deps.blockedDataSources, deps);
338
- }
339
338
  function asRecord(value) {
340
339
  return value && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
341
340
  }
@@ -653,12 +652,20 @@ export async function enforceBlockedDataSources(directSources, configuredBlocked
653
652
  return replacement;
654
653
  };
655
654
  const replacementAt = async (directSource, table, path) => {
655
+ if (resolver.canonicalTableSourceAvailable === false) {
656
+ throw new DataSourcePolicyError('DATA_POLICY_UNAVAILABLE', directSource, path, TABLE_SOURCE_UNAVAILABLE_REASON);
657
+ }
656
658
  try {
657
659
  return await replacementFor(table);
658
660
  }
659
661
  catch (error) {
660
662
  if (error instanceof DataSourcePolicyError)
661
663
  throw error;
664
+ if (resolver.canonicalTableSourceAvailable === undefined &&
665
+ error instanceof AdtApiError &&
666
+ error.statusCode === 404) {
667
+ throw new DataSourcePolicyError('DATA_POLICY_UNAVAILABLE', directSource, path, TABLE_SOURCE_UNKNOWN_404_REASON);
668
+ }
662
669
  throw unresolved(directSource, path, safeLineageFailureReason(error));
663
670
  }
664
671
  };