arc-1 1.2.0 → 1.4.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 (366) hide show
  1. package/README.md +8 -6
  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/create-request.d.ts +4 -0
  30. package/dist/adt/create-request.d.ts.map +1 -0
  31. package/dist/adt/create-request.js +16 -0
  32. package/dist/adt/create-request.js.map +1 -0
  33. package/dist/adt/crud.d.ts.map +1 -1
  34. package/dist/adt/crud.js +7 -3
  35. package/dist/adt/crud.js.map +1 -1
  36. package/dist/adt/data-source-policy.d.ts +6 -15
  37. package/dist/adt/data-source-policy.d.ts.map +1 -1
  38. package/dist/adt/data-source-policy.js +18 -11
  39. package/dist/adt/data-source-policy.js.map +1 -1
  40. package/dist/adt/ddic-xml.d.ts +78 -4
  41. package/dist/adt/ddic-xml.d.ts.map +1 -1
  42. package/dist/adt/ddic-xml.js +647 -54
  43. package/dist/adt/ddic-xml.js.map +1 -1
  44. package/dist/adt/devtools.d.ts +1 -0
  45. package/dist/adt/devtools.d.ts.map +1 -1
  46. package/dist/adt/devtools.js +31 -8
  47. package/dist/adt/devtools.js.map +1 -1
  48. package/dist/adt/diagnostics.d.ts +11 -9
  49. package/dist/adt/diagnostics.d.ts.map +1 -1
  50. package/dist/adt/diagnostics.js +84 -10
  51. package/dist/adt/diagnostics.js.map +1 -1
  52. package/dist/adt/errors.d.ts +2 -0
  53. package/dist/adt/errors.d.ts.map +1 -1
  54. package/dist/adt/errors.js +3 -1
  55. package/dist/adt/errors.js.map +1 -1
  56. package/dist/adt/features.d.ts.map +1 -1
  57. package/dist/adt/features.js +2 -0
  58. package/dist/adt/features.js.map +1 -1
  59. package/dist/adt/flp.d.ts.map +1 -1
  60. package/dist/adt/flp.js +5 -4
  61. package/dist/adt/flp.js.map +1 -1
  62. package/dist/adt/http-deadline.d.ts +7 -0
  63. package/dist/adt/http-deadline.d.ts.map +1 -1
  64. package/dist/adt/http-deadline.js +2 -2
  65. package/dist/adt/http-deadline.js.map +1 -1
  66. package/dist/adt/http.d.ts +11 -5
  67. package/dist/adt/http.d.ts.map +1 -1
  68. package/dist/adt/http.js +136 -82
  69. package/dist/adt/http.js.map +1 -1
  70. package/dist/adt/internal-data-operations.d.ts +9 -4
  71. package/dist/adt/internal-data-operations.d.ts.map +1 -1
  72. package/dist/adt/internal-data-operations.js +11 -7
  73. package/dist/adt/internal-data-operations.js.map +1 -1
  74. package/dist/adt/package-contents.d.ts +12 -0
  75. package/dist/adt/package-contents.d.ts.map +1 -0
  76. package/dist/adt/package-contents.js +19 -0
  77. package/dist/adt/package-contents.js.map +1 -0
  78. package/dist/adt/publish-state.d.ts +4 -0
  79. package/dist/adt/publish-state.d.ts.map +1 -0
  80. package/dist/adt/publish-state.js +61 -0
  81. package/dist/adt/publish-state.js.map +1 -0
  82. package/dist/adt/relation-objects.d.ts +385 -0
  83. package/dist/adt/relation-objects.d.ts.map +1 -0
  84. package/dist/adt/relation-objects.js +262 -0
  85. package/dist/adt/relation-objects.js.map +1 -0
  86. package/dist/adt/repository-relations.d.ts +41 -0
  87. package/dist/adt/repository-relations.d.ts.map +1 -0
  88. package/dist/adt/repository-relations.js +246 -0
  89. package/dist/adt/repository-relations.js.map +1 -0
  90. package/dist/adt/request-attempt-budget.d.ts +26 -0
  91. package/dist/adt/request-attempt-budget.d.ts.map +1 -0
  92. package/dist/adt/request-attempt-budget.js +63 -0
  93. package/dist/adt/request-attempt-budget.js.map +1 -0
  94. package/dist/adt/result-limits.d.ts +3 -0
  95. package/dist/adt/result-limits.d.ts.map +1 -0
  96. package/dist/adt/result-limits.js +7 -0
  97. package/dist/adt/result-limits.js.map +1 -0
  98. package/dist/adt/server-driven.d.ts +21 -5
  99. package/dist/adt/server-driven.d.ts.map +1 -1
  100. package/dist/adt/server-driven.js +41 -26
  101. package/dist/adt/server-driven.js.map +1 -1
  102. package/dist/adt/table-query.d.ts +2 -0
  103. package/dist/adt/table-query.d.ts.map +1 -1
  104. package/dist/adt/table-query.js +61 -0
  105. package/dist/adt/table-query.js.map +1 -1
  106. package/dist/adt/text-elements.d.ts +48 -0
  107. package/dist/adt/text-elements.d.ts.map +1 -0
  108. package/dist/adt/text-elements.js +116 -0
  109. package/dist/adt/text-elements.js.map +1 -0
  110. package/dist/adt/transport.d.ts +1 -2
  111. package/dist/adt/transport.d.ts.map +1 -1
  112. package/dist/adt/transport.js +17 -12
  113. package/dist/adt/transport.js.map +1 -1
  114. package/dist/adt/types.d.ts +18 -0
  115. package/dist/adt/types.d.ts.map +1 -1
  116. package/dist/adt/uiad.d.ts +19 -0
  117. package/dist/adt/uiad.d.ts.map +1 -0
  118. package/dist/adt/uiad.js +173 -0
  119. package/dist/adt/uiad.js.map +1 -0
  120. package/dist/adt/xml-parser.d.ts +2 -0
  121. package/dist/adt/xml-parser.d.ts.map +1 -1
  122. package/dist/adt/xml-parser.js +20 -1
  123. package/dist/adt/xml-parser.js.map +1 -1
  124. package/dist/authz/policy.d.ts.map +1 -1
  125. package/dist/authz/policy.js +4 -1
  126. package/dist/authz/policy.js.map +1 -1
  127. package/dist/cache/cache.d.ts +3 -23
  128. package/dist/cache/cache.d.ts.map +1 -1
  129. package/dist/cache/cache.js +2 -3
  130. package/dist/cache/cache.js.map +1 -1
  131. package/dist/cache/caching-layer.d.ts +6 -25
  132. package/dist/cache/caching-layer.d.ts.map +1 -1
  133. package/dist/cache/caching-layer.js +3 -45
  134. package/dist/cache/caching-layer.js.map +1 -1
  135. package/dist/cache/memory.d.ts +1 -4
  136. package/dist/cache/memory.d.ts.map +1 -1
  137. package/dist/cache/memory.js +1 -10
  138. package/dist/cache/memory.js.map +1 -1
  139. package/dist/cache/sqlite.d.ts +1 -3
  140. package/dist/cache/sqlite.d.ts.map +1 -1
  141. package/dist/cache/sqlite.js +2 -17
  142. package/dist/cache/sqlite.js.map +1 -1
  143. package/dist/cli-checks.d.ts +3 -0
  144. package/dist/cli-checks.d.ts.map +1 -1
  145. package/dist/cli-checks.js +16 -0
  146. package/dist/cli-checks.js.map +1 -1
  147. package/dist/cli.d.ts.map +1 -1
  148. package/dist/cli.js +5 -2
  149. package/dist/cli.js.map +1 -1
  150. package/dist/context/compressor.d.ts +2 -3
  151. package/dist/context/compressor.d.ts.map +1 -1
  152. package/dist/context/compressor.js +30 -49
  153. package/dist/context/compressor.js.map +1 -1
  154. package/dist/context/contract.d.ts +5 -0
  155. package/dist/context/contract.d.ts.map +1 -1
  156. package/dist/context/contract.js +2 -2
  157. package/dist/context/contract.js.map +1 -1
  158. package/dist/context/deps.d.ts +11 -0
  159. package/dist/context/deps.d.ts.map +1 -1
  160. package/dist/context/deps.js +2 -2
  161. package/dist/context/deps.js.map +1 -1
  162. package/dist/context/parse-cache.d.ts +23 -0
  163. package/dist/context/parse-cache.d.ts.map +1 -0
  164. package/dist/context/parse-cache.js +71 -0
  165. package/dist/context/parse-cache.js.map +1 -0
  166. package/dist/context/relation-walk.d.ts +48 -0
  167. package/dist/context/relation-walk.d.ts.map +1 -0
  168. package/dist/context/relation-walk.js +137 -0
  169. package/dist/context/relation-walk.js.map +1 -0
  170. package/dist/context/types.d.ts +4 -4
  171. package/dist/context/types.d.ts.map +1 -1
  172. package/dist/context/unit-surgery.d.ts +1 -1
  173. package/dist/context/unit-surgery.d.ts.map +1 -1
  174. package/dist/context/unit-surgery.js +3 -2
  175. package/dist/context/unit-surgery.js.map +1 -1
  176. package/dist/handlers/activate.d.ts +1 -1
  177. package/dist/handlers/activate.d.ts.map +1 -1
  178. package/dist/handlers/activate.js +37 -56
  179. package/dist/handlers/activate.js.map +1 -1
  180. package/dist/handlers/activation-results.d.ts +3 -0
  181. package/dist/handlers/activation-results.d.ts.map +1 -0
  182. package/dist/handlers/activation-results.js +8 -0
  183. package/dist/handlers/activation-results.js.map +1 -0
  184. package/dist/handlers/context.d.ts.map +1 -1
  185. package/dist/handlers/context.js +8 -32
  186. package/dist/handlers/context.js.map +1 -1
  187. package/dist/handlers/data-element-fields.d.ts +26 -0
  188. package/dist/handlers/data-element-fields.d.ts.map +1 -0
  189. package/dist/handlers/data-element-fields.js +27 -0
  190. package/dist/handlers/data-element-fields.js.map +1 -0
  191. package/dist/handlers/diagnose-ci.d.ts +9 -0
  192. package/dist/handlers/diagnose-ci.d.ts.map +1 -0
  193. package/dist/handlers/diagnose-ci.js +120 -0
  194. package/dist/handlers/diagnose-ci.js.map +1 -0
  195. package/dist/handlers/diagnose-fields.d.ts +51 -0
  196. package/dist/handlers/diagnose-fields.d.ts.map +1 -0
  197. package/dist/handlers/diagnose-fields.js +48 -0
  198. package/dist/handlers/diagnose-fields.js.map +1 -0
  199. package/dist/handlers/diagnose.d.ts +4 -1
  200. package/dist/handlers/diagnose.d.ts.map +1 -1
  201. package/dist/handlers/diagnose.js +31 -7
  202. package/dist/handlers/diagnose.js.map +1 -1
  203. package/dist/handlers/dispatch.d.ts.map +1 -1
  204. package/dist/handlers/dispatch.js +65 -9
  205. package/dist/handlers/dispatch.js.map +1 -1
  206. package/dist/handlers/feature-cache.d.ts +4 -3
  207. package/dist/handlers/feature-cache.d.ts.map +1 -1
  208. package/dist/handlers/feature-cache.js +4 -3
  209. package/dist/handlers/feature-cache.js.map +1 -1
  210. package/dist/handlers/hyperfocused.js +1 -1
  211. package/dist/handlers/lint.d.ts.map +1 -1
  212. package/dist/handlers/lint.js +12 -3
  213. package/dist/handlers/lint.js.map +1 -1
  214. package/dist/handlers/live-relations.d.ts +5 -0
  215. package/dist/handlers/live-relations.d.ts.map +1 -0
  216. package/dist/handlers/live-relations.js +89 -0
  217. package/dist/handlers/live-relations.js.map +1 -0
  218. package/dist/handlers/manage.d.ts.map +1 -1
  219. package/dist/handlers/manage.js +7 -4
  220. package/dist/handlers/manage.js.map +1 -1
  221. package/dist/handlers/navigate.d.ts +1 -1
  222. package/dist/handlers/navigate.d.ts.map +1 -1
  223. package/dist/handlers/navigate.js +11 -5
  224. package/dist/handlers/navigate.js.map +1 -1
  225. package/dist/handlers/object-types.d.ts +2 -0
  226. package/dist/handlers/object-types.d.ts.map +1 -1
  227. package/dist/handlers/object-types.js +41 -6
  228. package/dist/handlers/object-types.js.map +1 -1
  229. package/dist/handlers/publish-failure.d.ts +7 -0
  230. package/dist/handlers/publish-failure.d.ts.map +1 -0
  231. package/dist/handlers/publish-failure.js +42 -0
  232. package/dist/handlers/publish-failure.js.map +1 -0
  233. package/dist/handlers/query-errors.d.ts +9 -1
  234. package/dist/handlers/query-errors.d.ts.map +1 -1
  235. package/dist/handlers/query-errors.js +40 -28
  236. package/dist/handlers/query-errors.js.map +1 -1
  237. package/dist/handlers/query.d.ts +1 -1
  238. package/dist/handlers/query.d.ts.map +1 -1
  239. package/dist/handlers/query.js +2 -2
  240. package/dist/handlers/query.js.map +1 -1
  241. package/dist/handlers/read.d.ts +1 -1
  242. package/dist/handlers/read.d.ts.map +1 -1
  243. package/dist/handlers/read.js +51 -19
  244. package/dist/handlers/read.js.map +1 -1
  245. package/dist/handlers/relation-input.d.ts +42 -0
  246. package/dist/handlers/relation-input.d.ts.map +1 -0
  247. package/dist/handlers/relation-input.js +22 -0
  248. package/dist/handlers/relation-input.js.map +1 -0
  249. package/dist/handlers/relation-tool.d.ts +5 -0
  250. package/dist/handlers/relation-tool.d.ts.map +1 -0
  251. package/dist/handlers/relation-tool.js +36 -0
  252. package/dist/handlers/relation-tool.js.map +1 -0
  253. package/dist/handlers/schemas.d.ts +125 -62
  254. package/dist/handlers/schemas.d.ts.map +1 -1
  255. package/dist/handlers/schemas.js +150 -13
  256. package/dist/handlers/schemas.js.map +1 -1
  257. package/dist/handlers/search.d.ts +1 -1
  258. package/dist/handlers/search.d.ts.map +1 -1
  259. package/dist/handlers/search.js +18 -5
  260. package/dist/handlers/search.js.map +1 -1
  261. package/dist/handlers/tool-descriptions.d.ts.map +1 -1
  262. package/dist/handlers/tool-descriptions.js +14 -15
  263. package/dist/handlers/tool-descriptions.js.map +1 -1
  264. package/dist/handlers/tool-registry.d.ts +5 -4
  265. package/dist/handlers/tool-registry.d.ts.map +1 -1
  266. package/dist/handlers/tool-registry.js +4 -0
  267. package/dist/handlers/tool-registry.js.map +1 -1
  268. package/dist/handlers/tools.d.ts +2 -3
  269. package/dist/handlers/tools.d.ts.map +1 -1
  270. package/dist/handlers/tools.js +130 -75
  271. package/dist/handlers/tools.js.map +1 -1
  272. package/dist/handlers/where-used.d.ts.map +1 -1
  273. package/dist/handlers/where-used.js +5 -0
  274. package/dist/handlers/where-used.js.map +1 -1
  275. package/dist/handlers/write/batch-results.d.ts +28 -0
  276. package/dist/handlers/write/batch-results.d.ts.map +1 -0
  277. package/dist/handlers/write/batch-results.js +106 -0
  278. package/dist/handlers/write/batch-results.js.map +1 -0
  279. package/dist/handlers/write/create-transport.d.ts +7 -0
  280. package/dist/handlers/write/create-transport.d.ts.map +1 -0
  281. package/dist/handlers/write/create-transport.js +38 -0
  282. package/dist/handlers/write/create-transport.js.map +1 -0
  283. package/dist/handlers/write/create.d.ts.map +1 -1
  284. package/dist/handlers/write/create.js +276 -413
  285. package/dist/handlers/write/create.js.map +1 -1
  286. package/dist/handlers/write/uiad.d.ts +8 -0
  287. package/dist/handlers/write/uiad.d.ts.map +1 -0
  288. package/dist/handlers/write/uiad.js +115 -0
  289. package/dist/handlers/write/uiad.js.map +1 -0
  290. package/dist/handlers/write/unit-surgery.d.ts.map +1 -1
  291. package/dist/handlers/write/unit-surgery.js +46 -28
  292. package/dist/handlers/write/unit-surgery.js.map +1 -1
  293. package/dist/handlers/write/update-delete.d.ts +6 -6
  294. package/dist/handlers/write/update-delete.d.ts.map +1 -1
  295. package/dist/handlers/write/update-delete.js +46 -15
  296. package/dist/handlers/write/update-delete.js.map +1 -1
  297. package/dist/handlers/write-helpers.d.ts +1 -7
  298. package/dist/handlers/write-helpers.d.ts.map +1 -1
  299. package/dist/handlers/write-helpers.js +105 -86
  300. package/dist/handlers/write-helpers.js.map +1 -1
  301. package/dist/handlers/write.d.ts.map +1 -1
  302. package/dist/handlers/write.js +7 -6
  303. package/dist/handlers/write.js.map +1 -1
  304. package/dist/lint/config-builder.d.ts +10 -1
  305. package/dist/lint/config-builder.d.ts.map +1 -1
  306. package/dist/lint/config-builder.js +4 -0
  307. package/dist/lint/config-builder.js.map +1 -1
  308. package/dist/lint/lint.d.ts +3 -1
  309. package/dist/lint/lint.d.ts.map +1 -1
  310. package/dist/lint/lint.js +2 -1
  311. package/dist/lint/lint.js.map +1 -1
  312. package/dist/public/testing.d.ts +4 -0
  313. package/dist/public/testing.d.ts.map +1 -1
  314. package/dist/public/testing.js +6 -0
  315. package/dist/public/testing.js.map +1 -1
  316. package/dist/public/types.d.ts +12 -2
  317. package/dist/public/types.d.ts.map +1 -1
  318. package/dist/public/ui/app.js +0 -2
  319. package/dist/server/audit.d.ts +1 -1
  320. package/dist/server/audit.d.ts.map +1 -1
  321. package/dist/server/config.d.ts.map +1 -1
  322. package/dist/server/config.js +6 -2
  323. package/dist/server/config.js.map +1 -1
  324. package/dist/server/http.d.ts +1 -1
  325. package/dist/server/http.d.ts.map +1 -1
  326. package/dist/server/http.js +8 -5
  327. package/dist/server/http.js.map +1 -1
  328. package/dist/server/logger.d.ts.map +1 -1
  329. package/dist/server/logger.js +4 -1
  330. package/dist/server/logger.js.map +1 -1
  331. package/dist/server/multi-target-tools.d.ts.map +1 -1
  332. package/dist/server/multi-target-tools.js +3 -1
  333. package/dist/server/multi-target-tools.js.map +1 -1
  334. package/dist/server/oauth-redirect-policy.d.ts +13 -0
  335. package/dist/server/oauth-redirect-policy.d.ts.map +1 -0
  336. package/dist/server/oauth-redirect-policy.js +21 -0
  337. package/dist/server/oauth-redirect-policy.js.map +1 -0
  338. package/dist/server/safe-http-client.d.ts +2 -2
  339. package/dist/server/safe-http-client.d.ts.map +1 -1
  340. package/dist/server/safe-http-client.js +24 -11
  341. package/dist/server/safe-http-client.js.map +1 -1
  342. package/dist/server/server-instructions.d.ts.map +1 -1
  343. package/dist/server/server-instructions.js +11 -5
  344. package/dist/server/server-instructions.js.map +1 -1
  345. package/dist/server/server.d.ts +1 -1
  346. package/dist/server/server.d.ts.map +1 -1
  347. package/dist/server/server.js +24 -48
  348. package/dist/server/server.js.map +1 -1
  349. package/dist/server/shutdown.d.ts +6 -0
  350. package/dist/server/shutdown.d.ts.map +1 -0
  351. package/dist/server/shutdown.js +52 -0
  352. package/dist/server/shutdown.js.map +1 -0
  353. package/dist/server/sinks/btp-auditlog.d.ts +10 -8
  354. package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
  355. package/dist/server/sinks/btp-auditlog.js +76 -68
  356. package/dist/server/sinks/btp-auditlog.js.map +1 -1
  357. package/dist/server/sinks/file.d.ts +1 -1
  358. package/dist/server/sinks/file.d.ts.map +1 -1
  359. package/dist/server/sinks/file.js +12 -21
  360. package/dist/server/sinks/file.js.map +1 -1
  361. package/dist/server/types.d.ts +5 -4
  362. package/dist/server/types.d.ts.map +1 -1
  363. package/dist/server/types.js.map +1 -1
  364. package/dist/server/ui.js +0 -2
  365. package/dist/server/ui.js.map +1 -1
  366. package/package.json +19 -17
package/dist/adt/http.js CHANGED
@@ -18,7 +18,8 @@
18
18
  *
19
19
  * 3. Stateful sessions use "X-sap-adt-sessiontype: stateful" header.
20
20
  * Lock/modify/unlock must use the same session cookies.
21
- * withStatefulSession() ensures session isolation.
21
+ * withStatefulSession() ensures session isolation and closes the backend
22
+ * context when the operation finishes.
22
23
  *
23
24
  * 4. sap-client and sap-language are added to every request as query params.
24
25
  * This is an SAP convention, not ADT-specific.
@@ -26,16 +27,17 @@
26
27
  * 5. Uses native fetch() with undici dispatchers for proxy and TLS configuration.
27
28
  * No external HTTP dependencies — undici ships with Node.js 22+.
28
29
  */
29
- import { Agent, Client, fetch as undiciFetch } from 'undici';
30
+ import { Agent, Client } from 'undici';
30
31
  import { getCurrentContext } from '../server/context.js';
31
32
  import { logger } from '../server/logger.js';
32
33
  import { traceHeaders } from '../server/trace-context.js';
33
- import { capResponseBody, connectivityProxyResponse } from './bounded-response.js';
34
+ import { connectivityProxyResponse, prepareBoundedResponse } from './bounded-response.js';
34
35
  import { resolveCookies } from './cookies.js';
35
36
  import { resolveAcceptType, resolveContentType } from './discovery.js';
36
37
  import { AdtApiError, AdtNetworkError, AdtResponseLimitError } from './errors.js';
37
38
  import { awaitWithinRequestBudget, requestBudgetSignal, requestSignal, sleepWithinRequestBudget, throwIfRequestCancelled, withoutResponseBudget, } from './http-deadline.js';
38
39
  import { prepareDataPreviewWireBody } from './http-wire-body.js';
40
+ import { fetchWithAttemptBudget } from './request-attempt-budget.js';
39
41
  /**
40
42
  * Opt-in wire-level debug logging.
41
43
  *
@@ -52,6 +54,7 @@ const HTTP_DEBUG_REDACT_HEADERS = new Set([
52
54
  'cookie',
53
55
  'set-cookie',
54
56
  'x-csrf-token',
57
+ 'sap-contextid',
55
58
  'sap-connectivity-authentication',
56
59
  'proxy-authorization',
57
60
  'password', // abapGit bridge credential header (base64 is not encryption)
@@ -99,6 +102,9 @@ export class AdtHttpClient {
99
102
  csrfToken = '';
100
103
  dispatcher;
101
104
  longOperationDispatcher;
105
+ statefulProxyClient;
106
+ // Owned only by a withStatefulSession clone, including its final stateless close request.
107
+ reuseStatefulProxyClient = false;
102
108
  config;
103
109
  /**
104
110
  * Cookie jar — stores Set-Cookie headers from responses and sends them back.
@@ -171,8 +177,8 @@ export class AdtHttpClient {
171
177
  * Execute a function within an isolated stateful session.
172
178
  * Ensures lock/modify/unlock share the same SAP session cookies.
173
179
  *
174
- * Creates a new client instance with stateful session header,
175
- * shares CSRF token with the main client.
180
+ * Creates a new client instance with the stateful session header,
181
+ * shares the main client's request state, and closes the backend context.
176
182
  */
177
183
  async withStatefulSession(fn) {
178
184
  const sessionConfig = {
@@ -185,7 +191,49 @@ export class AdtHttpClient {
185
191
  sessionClient.cookieJar = new Map(this.cookieJar);
186
192
  sessionClient.discoveryMap = this.discoveryMap;
187
193
  sessionClient.negotiatedHeaders = new Map(this.negotiatedHeaders);
188
- return fn(sessionClient);
194
+ sessionClient.reuseStatefulProxyClient = true;
195
+ try {
196
+ return await fn(sessionClient);
197
+ }
198
+ finally {
199
+ await sessionClient.closeStatefulSession();
200
+ try {
201
+ await sessionClient.statefulProxyClient?.close();
202
+ }
203
+ catch {
204
+ logger.warn('Failed to close stateful Connectivity proxy client.');
205
+ }
206
+ }
207
+ }
208
+ /** Close the SAP application context without changing the completed operation's result. */
209
+ async closeStatefulSession() {
210
+ const contextId = this.cookieJar.get('sap-contextid');
211
+ if (!contextId || contextId === '0')
212
+ return;
213
+ // Eclipse ADT changes the same context to stateless while sending its dedicated close request.
214
+ // This client belongs only to withStatefulSession(), so it is not reused after the transition.
215
+ this.config.sessionType = 'stateless';
216
+ try {
217
+ try {
218
+ await this.get('/sap/bc/adt/core/http/sessions', { Accept: '*/*', 'sap-adt-purpose': 'close-session', 'sap-contextid': contextId }, { probe: true });
219
+ return;
220
+ }
221
+ catch (error) {
222
+ if (!(error instanceof AdtApiError && error.statusCode === 404))
223
+ throw error;
224
+ }
225
+ // NW 7.50 lacks the close resource; its stateful-header backport closes on discovery instead.
226
+ await this.head('/sap/bc/adt/core/discovery', { Accept: '*/*' }, { probe: true });
227
+ }
228
+ catch (error) {
229
+ // NW 7.50 can return 400 after closing. The reset cookie confirms that cleanup succeeded.
230
+ if (this.cookieJar.get('sap-contextid') === '0')
231
+ return;
232
+ // Preserve the write result/error and keep SAP response text out of cleanup warnings.
233
+ logger.warn('Failed to close stateful ADT session.', {
234
+ statusCode: error instanceof AdtApiError ? error.statusCode : undefined,
235
+ });
236
+ }
189
237
  }
190
238
  /** Core request method — wraps requestInner with optional concurrency limiter */
191
239
  async request(method, path, body, contentType, extraHeaders, options) {
@@ -277,8 +325,8 @@ export class AdtHttpClient {
277
325
  if (this.config.disableSaml) {
278
326
  headers['X-SAP-SAML2'] = 'disabled';
279
327
  }
280
- if (this.config.sessionType === 'stateful') {
281
- headers['X-sap-adt-sessiontype'] = 'stateful';
328
+ if (this.config.sessionType) {
329
+ headers['X-sap-adt-sessiontype'] = this.config.sessionType;
282
330
  }
283
331
  if (contentType) {
284
332
  headers['Content-Type'] = contentType;
@@ -323,6 +371,7 @@ export class AdtHttpClient {
323
371
  const url = this.buildUrl(path);
324
372
  const httpStart = Date.now();
325
373
  // Per-request guards to prevent infinite retry loops
374
+ const retryTransientErrors = options?.retryTransientErrors !== false;
326
375
  let negotiationRetried = false;
327
376
  let authRetried = false;
328
377
  let retried429 = false;
@@ -336,7 +385,10 @@ export class AdtHttpClient {
336
385
  // work process. If that WP has a broken HANA connection, every request fails
337
386
  // with "database connection is not open". Fix: clear the session to force
338
387
  // ICM to assign a different work process on retry.
339
- if (response.status === 500 && this.isDbConnectionError(responseBody) && !this.dbRetryInProgress) {
388
+ if (retryTransientErrors &&
389
+ response.status === 500 &&
390
+ this.isDbConnectionError(responseBody) &&
391
+ !this.dbRetryInProgress) {
340
392
  this.dbRetryInProgress = true;
341
393
  try {
342
394
  logger.emitAudit({
@@ -388,11 +440,9 @@ export class AdtHttpClient {
388
440
  }
389
441
  }
390
442
  // Handle 503 Service Unavailable — ICM thread/MPI exhaustion or WP overload.
391
- // Retry ALL methods: a 503 means ICM rejected the request before it reached a work
392
- // process, so the operation never executed — retrying is safe even for POST/PUT/DELETE.
443
+ // Legacy retries remain the default; ambiguous mutations can disable transient replay.
393
444
  // Retry happens INSIDE the semaphore slot to avoid increasing load on an overloaded system.
394
- // Honors RFC 7231 Retry-After header when present; falls back to 1-2 s jitter otherwise.
395
- if (response.status === 503) {
445
+ if (response.status === 503 && retryTransientErrors) {
396
446
  const { delayMs: jitterMs, source } = parseRetryAfter(response.headers.get('retry-after'), 1000 + Math.random() * 1000);
397
447
  logger.emitAudit({
398
448
  timestamp: new Date().toISOString(),
@@ -421,13 +471,9 @@ export class AdtHttpClient {
421
471
  return this.handleResponse(retryResp.status, retryResp.headers, retryBody, path);
422
472
  }
423
473
  // Handle 429 Too Many Requests — emitted by SAP Web Dispatcher, BTP API
424
- // Management, or any upstream gateway throttling us. Like 503, the request did
425
- // not reach a SAP work process, so retrying ALL methods is safe (gateway-level
426
- // rejection, never partial execution). Honors RFC 7231 Retry-After when present;
427
- // falls back to 1-2 s jitter. Single retry only — per-request `retried429` guard
428
- // prevents loops. If the upstream is still throttling on the second attempt, we
429
- // surface the 429 to the caller for them to back off at the agent/LLM layer.
430
- if (response.status === 429 && !retried429) {
474
+ // Management, or any upstream gateway throttling us. Honors Retry-After when present;
475
+ // otherwise wait 1-2 s. Surface a repeated 429 without a third attempt.
476
+ if (response.status === 429 && !retried429 && retryTransientErrors) {
431
477
  retried429 = true;
432
478
  const { delayMs: jitterMs, source } = parseRetryAfter(response.headers.get('retry-after'), 1000 + Math.random() * 1000);
433
479
  logger.emitAudit({
@@ -730,10 +776,10 @@ export class AdtHttpClient {
730
776
  /** Handle response: throw on error status, return normalized response */
731
777
  handleResponse(status, headers, body, path) {
732
778
  const contentType = headers.get('content-type')?.toLowerCase();
733
- const isCoreDiscovery = path.split('?', 1)[0] === '/sap/bc/adt/core/discovery';
779
+ const isDiscovery = ['/sap/bc/adt/core/discovery', '/sap/bc/adt/discovery'].includes(path.split('?', 1)[0]);
734
780
  if (status === 200 &&
735
781
  path.startsWith('/sap/bc/adt/') &&
736
- (contentType?.startsWith('text/html') || isCoreDiscovery) &&
782
+ (contentType?.startsWith('text/html') || isDiscovery) &&
737
783
  looksLikeLoginPage(body)) {
738
784
  if (this.isCookieAuthMode()) {
739
785
  this.clearCookiesAndMark();
@@ -760,17 +806,18 @@ export class AdtHttpClient {
760
806
  }
761
807
  /**
762
808
  * Fetch CSRF token from SAP.
763
- * Uses HEAD /sap/bc/adt/core/discovery for speed.
809
+ * Uses core discovery first, then legacy discovery when the core resource is unavailable.
810
+ * Returns the endpoint that supplied the token for startup diagnostics.
764
811
  */
765
812
  async fetchCsrfToken(options) {
766
813
  throwIfRequestCancelled(options);
767
- const url = this.buildUrl('/sap/bc/adt/core/discovery');
814
+ let path = '/sap/bc/adt/core/discovery';
768
815
  const headers = {
769
816
  'X-CSRF-Token': 'fetch',
770
817
  Accept: '*/*',
771
818
  };
772
- if (this.config.sessionType === 'stateful') {
773
- headers['X-sap-adt-sessiontype'] = 'stateful';
819
+ if (this.config.sessionType) {
820
+ headers['X-sap-adt-sessiontype'] = this.config.sessionType;
774
821
  }
775
822
  if (this.config.disableSaml) {
776
823
  headers['X-SAP-SAML2'] = 'disabled';
@@ -794,14 +841,33 @@ export class AdtHttpClient {
794
841
  if (this.cookiesCleared && this.isCookieAuthMode()) {
795
842
  this.reloadCookiesFromSource();
796
843
  }
797
- // Include existing cookies (config + jar, jar wins) so the session is maintained.
798
- const cookieHeader = this.composeCookieHeader();
799
- if (cookieHeader) {
800
- headers.Cookie = cookieHeader;
801
- }
844
+ // A token only counts as proof when the response itself succeeded: SAP returns one on
845
+ // failures too, and the old code accepted a token from a 401 — masking the auth error.
846
+ const usableToken = (response) => {
847
+ const token = response.headers.get('x-csrf-token')?.trim();
848
+ return response.ok && token && token.toLowerCase() !== 'required' ? token : undefined;
849
+ };
850
+ // Every probe keeps the same identity, current cookies and caller's request budget.
851
+ const probe = async (method) => {
852
+ const cookieHeader = this.composeCookieHeader();
853
+ if (cookieHeader)
854
+ headers.Cookie = cookieHeader;
855
+ else
856
+ delete headers.Cookie;
857
+ const response = await this.doFetch(this.buildUrl(path), method, headers, undefined, options);
858
+ this.storeCookies(response);
859
+ if (method === 'GET' && response.status === 200 && !usableToken(response)) {
860
+ // Preserve the login-page check even when an old handler reports HTTP 200.
861
+ this.handleResponse(response.status, response.headers, await response.text(), path);
862
+ }
863
+ // Only headers are needed; release GET bodies before a fallback or return.
864
+ if (!response.bodyUsed)
865
+ await response.body?.cancel();
866
+ return response;
867
+ };
802
868
  try {
803
- let response = await this.doFetch(url, 'HEAD', headers, undefined, options);
804
- // Retry once on 503 — ICM may be temporarily overloaded (thread/MPI exhaustion)
869
+ let response = await probe('HEAD');
870
+ // Retry once on 503 — ICM may be temporarily overloaded (thread/MPI exhaustion).
805
871
  if (response.status === 503) {
806
872
  const jitterMs = 1000 + Math.random() * 1000;
807
873
  logger.emitAudit({
@@ -809,61 +875,41 @@ export class AdtHttpClient {
809
875
  level: 'warn',
810
876
  event: 'http_request',
811
877
  method: 'HEAD',
812
- path: '/sap/bc/adt/core/discovery',
878
+ path,
813
879
  statusCode: 503,
814
880
  durationMs: 0,
815
881
  errorBody: `CSRF fetch got 503 — retrying in ${Math.round(jitterMs)}ms`,
816
882
  });
817
883
  await sleepWithinRequestBudget(jitterMs, options);
818
- response = await this.doFetch(url, 'HEAD', headers, undefined, options);
884
+ response = await probe('HEAD');
819
885
  }
820
- // Preserve any session established by HEAD before deciding whether GET is needed.
821
- // The fallback request must use the same SAP session as the eventual write.
822
- this.storeCookies(response);
823
- const headToken = response.headers.get('x-csrf-token');
824
- const headSucceededWithoutToken = response.ok && (!headToken || headToken.toLowerCase() === 'required');
825
- // Some systems reject HEAD with 403; others accept it but omit the token. In both
826
- // cases retry with GET, which is the broadly supported CSRF bootstrap method and
827
- // also exposes a real authentication failure instead of a misleading HTTP 200 error.
828
- if (response.status === 403 || headSucceededWithoutToken) {
829
- const fallbackCookieHeader = this.composeCookieHeader();
830
- if (fallbackCookieHeader) {
831
- headers.Cookie = fallbackCookieHeader;
832
- }
833
- else {
834
- delete headers.Cookie;
835
- }
836
- logger.emitAudit({
837
- timestamp: new Date().toISOString(),
838
- level: response.status === 403 ? 'warn' : 'debug',
839
- event: 'http_request',
840
- method: 'HEAD',
841
- path: '/sap/bc/adt/core/discovery',
842
- statusCode: response.status,
843
- durationMs: 0,
844
- errorBody: response.status === 403
845
- ? 'CSRF HEAD returned 403 — retrying with GET (S/4HANA Public Cloud compat)'
846
- : 'CSRF HEAD returned no usable token — retrying with GET',
847
- });
848
- response = await this.doFetch(url, 'GET', headers, undefined, options);
886
+ // The tested 7.50/7.58/8.16 systems returned HEAD 400 with a token; GET returned 200.
887
+ // Retry these HEAD refusals or a successful response without a token on the same path.
888
+ // A successful HEAD with a usable token remains the one-request fast path.
889
+ if ([400, 403, 405].includes(response.status) || (response.ok && !usableToken(response))) {
890
+ response = await probe('GET');
849
891
  }
850
- // Store cookies from the final CSRF response — critical for session correlation.
851
- this.storeCookies(response);
852
- const token = response.headers.get('x-csrf-token');
853
- if (!token || token === 'Required') {
892
+ // Older ADT handlers may return an empty 200 for a missing core resource (#817).
893
+ // A real auth/server failure must not be hidden by trying another endpoint.
894
+ if (response.status === 404 || response.status === 405 || (response.ok && !usableToken(response))) {
895
+ path = '/sap/bc/adt/discovery';
896
+ response = await probe('GET');
897
+ }
898
+ const token = usableToken(response);
899
+ if (!token) {
854
900
  if (response.status === 401) {
855
- if (this.isCookieAuthMode()) {
901
+ if (this.isCookieAuthMode())
856
902
  this.clearCookiesAndMark();
857
- }
858
- this.notifyUnauthorized('/sap/bc/adt/core/discovery');
859
- throw new AdtApiError(`Authentication failed (401) using sap-client=${this.config.client ?? '100'}. Check SAP_CLIENT, SAP_USER, and SAP_PASSWORD.`, 401, '/sap/bc/adt/core/discovery');
903
+ this.notifyUnauthorized(path);
904
+ throw new AdtApiError(`Authentication failed (401) using sap-client=${this.config.client ?? '100'}. Check SAP_CLIENT, SAP_USER, and SAP_PASSWORD.`, 401, path);
860
905
  }
861
906
  if (response.status === 403) {
862
- throw new AdtApiError(`Access forbidden (403) using sap-client=${this.config.client ?? '100'}. Check user authorizations.`, 403, '/sap/bc/adt/core/discovery');
907
+ throw new AdtApiError(`Access forbidden (403) using sap-client=${this.config.client ?? '100'}. Check user authorizations.`, 403, path);
863
908
  }
864
- throw new AdtApiError(`No CSRF token in response (HTTP ${response.status})`, response.status, '/sap/bc/adt/core/discovery');
909
+ throw new AdtApiError(`No CSRF token in response (HTTP ${response.status})`, response.status, path);
865
910
  }
866
911
  this.csrfToken = token;
912
+ return path;
867
913
  }
868
914
  catch (err) {
869
915
  if (err instanceof AdtApiError || err instanceof AdtNetworkError)
@@ -1070,15 +1116,17 @@ export class AdtHttpClient {
1070
1116
  (options?.fetchTimeoutMs === undefined
1071
1117
  ? undefined
1072
1118
  : (this.longOperationDispatcher ??= new Agent({ headersTimeout: 0, bodyTimeout: 0 })));
1073
- response = (await undiciFetch(url, {
1119
+ response = (await fetchWithAttemptBudget(url, {
1074
1120
  method,
1075
1121
  headers: outbound,
1076
1122
  body,
1077
1123
  signal: requestSignal(options),
1124
+ // Automatic redirects would create uncounted sends outside the caller's allowance.
1125
+ ...(options?.attemptBudget ? { redirect: 'manual' } : {}),
1078
1126
  ...(dispatcher ? { dispatcher } : {}),
1079
- }));
1127
+ }, options?.attemptBudget));
1080
1128
  }
1081
- return options?.responseBudget ? await capResponseBody(response, options.responseBudget) : response;
1129
+ return prepareBoundedResponse(response, url, options);
1082
1130
  }
1083
1131
  /**
1084
1132
  * Execute an HTTP request through the BTP connectivity proxy using standard
@@ -1129,11 +1177,13 @@ export class AdtHttpClient {
1129
1177
  if (proxy.locationId) {
1130
1178
  proxyHeaders['SAP-Connectivity-SCC-Location_ID'] = proxy.locationId;
1131
1179
  }
1132
- const clientOptions = options?.fetchTimeoutMs === undefined ? undefined : { headersTimeout: 0, bodyTimeout: 0 };
1133
- const client = new Client(proxyOrigin, clientOptions);
1180
+ // Streaming/discard adapters own their client and may close or destroy it.
1181
+ const reuseProxyClient = this.reuseStatefulProxyClient && options?.responseBudget === undefined && !options?.discardResponseBody;
1182
+ const client = reuseProxyClient ? (this.statefulProxyClient ??= new Client(proxyOrigin)) : new Client(proxyOrigin);
1134
1183
  let responseOwnsClient = false;
1135
1184
  try {
1136
1185
  const signal = requestSignal(options);
1186
+ options?.attemptBudget?.consume();
1137
1187
  const resp = await client.request({
1138
1188
  method: method,
1139
1189
  // Full URL as path — standard HTTP proxy protocol
@@ -1141,13 +1191,17 @@ export class AdtHttpClient {
1141
1191
  headers: proxyHeaders,
1142
1192
  body: body ?? undefined,
1143
1193
  signal,
1194
+ // A reused client's first request must not determine later requests' parser timeouts.
1195
+ // The per-request abort signal still enforces fetchTimeoutMs and the caller deadline.
1196
+ ...(options?.fetchTimeoutMs === undefined ? {} : { headersTimeout: 0, bodyTimeout: 0 }),
1144
1197
  });
1145
1198
  const isNullBodyStatus = resp.statusCode === 204 || resp.statusCode === 205 || resp.statusCode === 304;
1146
- responseOwnsClient = options?.responseBudget !== undefined && !isNullBodyStatus;
1147
- return await connectivityProxyResponse(resp, client, signal, options?.responseBudget !== undefined);
1199
+ responseOwnsClient =
1200
+ !!options?.discardResponseBody || (options?.responseBudget !== undefined && !isNullBodyStatus);
1201
+ return await connectivityProxyResponse(resp, client, signal, options?.responseBudget !== undefined, options?.discardResponseBody);
1148
1202
  }
1149
1203
  finally {
1150
- if (!responseOwnsClient)
1204
+ if (!reuseProxyClient && !responseOwnsClient)
1151
1205
  await client.close();
1152
1206
  }
1153
1207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAmB,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9E,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,eAAe,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACnF,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;AAKjE;;;;;;;;;GASG;AACH,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,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;AAoED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,YAAY,GAA0B,IAAI,GAAG,EAAE,CAAC;IAChD,iBAAiB,GAA2D,IAAI,GAAG,EAAE,CAAC;IACtF,SAAS,GAAG,EAAE,CAAC;IACf,UAAU,CAAyB;IACnC,uBAAuB,CAAyB;IAChD,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,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,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3B,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,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;QAChD,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,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,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACjG,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,mFAAmF;YACnF,wFAAwF;YACxF,4FAA4F;YAC5F,yFAAyF;YACzF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,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,+EAA+E;YAC/E,+EAA+E;YAC/E,iFAAiF;YACjF,iFAAiF;YACjF,gFAAgF;YAChF,6EAA6E;YAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3C,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,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChF,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAEvC,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,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,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAChD,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,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,4BAA4B,CAAC;QAC/E,IACE,MAAM,KAAK,GAAG;YACd,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAC/B,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC;YACzD,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;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAA2B;QAC9C,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACxD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,OAAO;YACvB,MAAM,EAAE,KAAK;SACd,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;QAChD,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,kFAAkF;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAE5E,gFAAgF;YAChF,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,EAAE,4BAA4B;oBAClC,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,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1E,CAAC;YAED,kFAAkF;YAClF,4EAA4E;YAC5E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,yBAAyB,GAAG,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;YAExG,kFAAkF;YAClF,iFAAiF;YACjF,qFAAqF;YACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,yBAAyB,EAAE,CAAC;gBACzD,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACxD,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,GAAG,oBAAoB,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,MAAM,CAAC;gBACxB,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACjD,KAAK,EAAE,cAAc;oBACrB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,4BAA4B;oBAClC,UAAU,EAAE,QAAQ,CAAC,MAAM;oBAC3B,UAAU,EAAE,CAAC;oBACb,SAAS,EACP,QAAQ,CAAC,MAAM,KAAK,GAAG;wBACrB,CAAC,CAAC,0EAA0E;wBAC5E,CAAC,CAAC,wDAAwD;iBAC/D,CAAC,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzE,CAAC;YAED,iFAAiF;YACjF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;gBACnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC7B,CAAC;oBACD,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC;oBACtD,MAAM,IAAI,WAAW,CACnB,gDAAgD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,iDAAiD,EAC5H,GAAG,EACH,4BAA4B,CAC7B,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,4BAA4B,CAC7B,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,WAAW,CACnB,mCAAmC,QAAQ,CAAC,MAAM,GAAG,EACrD,QAAQ,CAAC,MAAM,EACf,4BAA4B,CAC7B,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,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,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAEtE,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,WAAW,CAAC,GAAG,EAAE;gBACjC,MAAM;gBACN,OAAO,EAAE,QAAQ;gBACjB,IAAI;gBACJ,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;gBAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtC,CAAC,CAAa,CAAC;QAClB,CAAC;QACD,OAAO,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtG,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,MAAM,aAAa,GAAG,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAChH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACtD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,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;aACP,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,GAAG,OAAO,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC;YAChF,OAAO,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC;QACtG,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,kBAAkB;gBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAChD,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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/adt/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAKrE;;;;;;;;;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;AAoED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAChB,YAAY,GAA0B,IAAI,GAAG,EAAE,CAAC;IAChD,iBAAiB,GAA2D,IAAI,GAAG,EAAE,CAAC;IACtF,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,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,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChF,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAEvC,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,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,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAChD,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,MAAc,EAAqB,EAAE;YACxD,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,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,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,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,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAEtE,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"}
@@ -20,6 +20,7 @@
20
20
  * model infer success from an incomplete result, which is the failure mode this
21
21
  * registry exists to prevent.
22
22
  */
23
+ import type { DataSourcePolicyError } from './data-source-policy.js';
23
24
  export type InternalDataOperationId = 'tadir_lookup_db' | 'tran_program_enrichment' | 'class_hierarchy' | 'interface_implementers' | 'bor_method_lookup' | 'authorization_trace';
24
25
  export interface InternalDataOperation {
25
26
  /** Exact canonical sources this server-owned operation reads. */
@@ -42,10 +43,14 @@ export declare function internalOperationsBlockedBy(blockedDataSources: readonly
42
43
  /**
43
44
  * Model-facing explanation for a denied internal read.
44
45
  *
45
- * `reason` carries the already-redacted policy text, so this adds the affected feature and the
46
- * alternative without re-deriving anything policy-sensitive.
46
+ * Takes the error, not its text, so the policy part always honours `ARC1_MINIMAL_ERRORS`. The added
47
+ * guidance names only the operation's documented sources, never a configured rule or variable.
48
+ */
49
+ export declare function internalOperationDenial(id: InternalDataOperationId, error: DataSourcePolicyError, minimalErrors: boolean): string;
50
+ /**
51
+ * Warning appended to a degraded-but-correct result when an optional internal read is denied.
52
+ * `reason` must be stable caller-authored text (normally an error code), never caught policy or
53
+ * backend text: warnings bypass `ARC1_MINIMAL_ERRORS`.
47
54
  */
48
- export declare function internalOperationDenial(id: InternalDataOperationId, reason: string): string;
49
- /** Warning appended to a degraded-but-correct result when an optional internal read is denied. */
50
55
  export declare function internalOperationWarning(id: InternalDataOperationId, reason: string): string;
51
56
  //# sourceMappingURL=internal-data-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-data-operations.d.ts","sourceRoot":"","sources":["../../src/adt/internal-data-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,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,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,kGAAkG;AAClG,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;;;;;;;;;;;;;;;;;;;;;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"}