gate-evm-tools 1.0.28 → 1.0.31

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 (618) hide show
  1. package/README.md +16 -1
  2. package/bin/cli.js +3 -0
  3. package/bin/delivery.cjs +51 -0
  4. package/bin/manifest-bootstrap.js +4 -15
  5. package/bin/workflow.cjs +1 -1
  6. package/dist/commands/plan/file-store.d.ts.map +1 -0
  7. package/dist/commands/plan/generate-deployment.d.ts +48 -0
  8. package/dist/commands/plan/generate-deployment.d.ts.map +1 -0
  9. package/dist/commands/plan/generate-deployment.js +211 -0
  10. package/dist/commands/plan/generate-deployment.js.map +1 -0
  11. package/dist/commands/plan/helpers.d.ts.map +1 -0
  12. package/dist/commands/plan/index.d.ts +3 -0
  13. package/dist/commands/plan/index.d.ts.map +1 -0
  14. package/dist/commands/plan/index.js +88 -0
  15. package/dist/commands/plan/index.js.map +1 -0
  16. package/dist/commands/sync.js +1 -1
  17. package/dist/commands/sync.js.map +1 -1
  18. package/dist/core/BytecodeChecker.d.ts.map +1 -1
  19. package/dist/core/BytecodeChecker.js +27 -8
  20. package/dist/core/BytecodeChecker.js.map +1 -1
  21. package/dist/core/preparation/artifacts.d.ts +2 -0
  22. package/dist/core/preparation/artifacts.d.ts.map +1 -1
  23. package/dist/core/preparation/artifacts.js +9 -3
  24. package/dist/core/preparation/artifacts.js.map +1 -1
  25. package/dist/core/preparation/evm.d.ts +38 -2
  26. package/dist/core/preparation/evm.d.ts.map +1 -1
  27. package/dist/core/preparation/evm.js +104 -32
  28. package/dist/core/preparation/evm.js.map +1 -1
  29. package/dist/core/preparation/evmManifestSync.d.ts +63 -0
  30. package/dist/core/preparation/evmManifestSync.d.ts.map +1 -0
  31. package/dist/core/preparation/evmManifestSync.js +146 -0
  32. package/dist/core/preparation/evmManifestSync.js.map +1 -0
  33. package/dist/core/preparation/index.d.ts +40 -2
  34. package/dist/core/preparation/index.d.ts.map +1 -1
  35. package/dist/core/preparation/index.js +3 -3
  36. package/dist/core/preparation/index.js.map +1 -1
  37. package/dist/core/preparation/manifest.d.ts +15 -3
  38. package/dist/core/preparation/manifest.d.ts.map +1 -1
  39. package/dist/core/preparation/manifest.js +21 -26
  40. package/dist/core/preparation/manifest.js.map +1 -1
  41. package/dist/core/preparation/normalize.d.ts.map +1 -1
  42. package/dist/core/preparation/normalize.js +14 -9
  43. package/dist/core/preparation/normalize.js.map +1 -1
  44. package/dist/core/preparation/types.d.ts +7 -2
  45. package/dist/core/preparation/types.d.ts.map +1 -1
  46. package/dist/custody/hardhat-runtime.d.ts.map +1 -1
  47. package/dist/custody/hardhat-runtime.js +2 -0
  48. package/dist/custody/hardhat-runtime.js.map +1 -1
  49. package/dist/custody/hardhat.d.ts +1 -0
  50. package/dist/custody/hardhat.d.ts.map +1 -1
  51. package/dist/custody/hardhat.js +1 -0
  52. package/dist/custody/hardhat.js.map +1 -1
  53. package/dist/custody/index.d.ts +1 -0
  54. package/dist/custody/index.d.ts.map +1 -1
  55. package/dist/custody/index.js +1 -0
  56. package/dist/custody/index.js.map +1 -1
  57. package/dist/custody/provider-wait.d.ts +13 -0
  58. package/dist/custody/provider-wait.d.ts.map +1 -0
  59. package/dist/custody/provider-wait.js +78 -0
  60. package/dist/custody/provider-wait.js.map +1 -0
  61. package/dist/delivery/policy.d.ts +6 -0
  62. package/dist/delivery/policy.d.ts.map +1 -0
  63. package/dist/delivery/policy.js +24 -0
  64. package/dist/delivery/policy.js.map +1 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +5 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/sync/index.d.ts +15 -0
  69. package/dist/sync/index.d.ts.map +1 -1
  70. package/dist/sync/index.js +8 -0
  71. package/dist/sync/index.js.map +1 -1
  72. package/dist/workflow/index.d.ts +6 -1
  73. package/dist/workflow/index.d.ts.map +1 -1
  74. package/dist/workflow/index.js +4 -0
  75. package/dist/workflow/index.js.map +1 -1
  76. package/dist-cjs/core/BytecodeChecker.js +526 -0
  77. package/dist-cjs/core/BytecodeChecker.js.map +1 -0
  78. package/dist-cjs/core/legacyProxyArtifact.js +42 -0
  79. package/dist-cjs/core/legacyProxyArtifact.js.map +1 -0
  80. package/dist-cjs/core/preparation/artifacts.js +11 -4
  81. package/dist-cjs/core/preparation/artifacts.js.map +1 -1
  82. package/dist-cjs/core/preparation/evm.js +105 -32
  83. package/dist-cjs/core/preparation/evm.js.map +1 -1
  84. package/dist-cjs/core/preparation/evmManifestSync.js +155 -0
  85. package/dist-cjs/core/preparation/evmManifestSync.js.map +1 -0
  86. package/dist-cjs/core/preparation/index.js +3 -3
  87. package/dist-cjs/core/preparation/index.js.map +1 -1
  88. package/dist-cjs/core/preparation/manifest.js +23 -28
  89. package/dist-cjs/core/preparation/manifest.js.map +1 -1
  90. package/dist-cjs/core/preparation/normalize.js +14 -9
  91. package/dist-cjs/core/preparation/normalize.js.map +1 -1
  92. package/dist-cjs/custody/hardhat-runtime.js +2 -0
  93. package/dist-cjs/custody/hardhat-runtime.js.map +1 -1
  94. package/dist-cjs/custody/hardhat.js +3 -1
  95. package/dist-cjs/custody/hardhat.js.map +1 -1
  96. package/dist-cjs/custody/index.js +3 -1
  97. package/dist-cjs/custody/index.js.map +1 -1
  98. package/dist-cjs/custody/provider-wait.js +81 -0
  99. package/dist-cjs/custody/provider-wait.js.map +1 -0
  100. package/dist-cjs/delivery/policy.js +29 -0
  101. package/dist-cjs/delivery/policy.js.map +1 -0
  102. package/dist-cjs/sync/index.js +8 -0
  103. package/dist-cjs/sync/index.js.map +1 -1
  104. package/dist-cjs/workflow/index.js +12 -1
  105. package/dist-cjs/workflow/index.js.map +1 -1
  106. package/dist-runtime/config/openzeppelin.d.ts +2 -1
  107. package/dist-runtime/config/openzeppelin.js +2 -19
  108. package/dist-runtime/config/openzeppelin.js.map +1 -1
  109. package/dist-runtime/delivery/abi.d.ts +14 -0
  110. package/dist-runtime/delivery/abi.js +161 -0
  111. package/dist-runtime/delivery/abi.js.map +1 -0
  112. package/dist-runtime/delivery/aggregate-bootstrap.d.ts +12 -0
  113. package/dist-runtime/delivery/aggregate-bootstrap.js +40 -0
  114. package/dist-runtime/delivery/aggregate-bootstrap.js.map +1 -0
  115. package/dist-runtime/delivery/aggregate-channel.d.ts +28 -0
  116. package/dist-runtime/delivery/aggregate-channel.js +155 -0
  117. package/dist-runtime/delivery/aggregate-channel.js.map +1 -0
  118. package/dist-runtime/delivery/aggregate-inputs.d.ts +168 -0
  119. package/dist-runtime/delivery/aggregate-inputs.js +57 -0
  120. package/dist-runtime/delivery/aggregate-inputs.js.map +1 -0
  121. package/dist-runtime/delivery/aggregate-source.d.ts +25 -0
  122. package/dist-runtime/delivery/aggregate-source.js +79 -0
  123. package/dist-runtime/delivery/aggregate-source.js.map +1 -0
  124. package/dist-runtime/delivery/aggregate-worker.d.ts +1 -0
  125. package/dist-runtime/delivery/aggregate-worker.js +191 -0
  126. package/dist-runtime/delivery/aggregate-worker.js.map +1 -0
  127. package/dist-runtime/delivery/aggregate.d.ts +51 -0
  128. package/dist-runtime/delivery/aggregate.js +190 -0
  129. package/dist-runtime/delivery/aggregate.js.map +1 -0
  130. package/dist-runtime/delivery/bindings.d.ts +21 -0
  131. package/dist-runtime/delivery/bindings.js +53 -0
  132. package/dist-runtime/delivery/bindings.js.map +1 -0
  133. package/dist-runtime/delivery/check-code.d.ts +19 -0
  134. package/dist-runtime/delivery/check-code.js +63 -0
  135. package/dist-runtime/delivery/check-code.js.map +1 -0
  136. package/dist-runtime/delivery/closure-format.d.ts +77 -0
  137. package/dist-runtime/delivery/closure-format.js +225 -0
  138. package/dist-runtime/delivery/closure-format.js.map +1 -0
  139. package/dist-runtime/delivery/codec-pin.d.ts +2 -0
  140. package/dist-runtime/delivery/codec-pin.js +7 -0
  141. package/dist-runtime/delivery/codec-pin.js.map +1 -0
  142. package/dist-runtime/delivery/codec.d.ts +19 -0
  143. package/dist-runtime/delivery/codec.js +73 -0
  144. package/dist-runtime/delivery/codec.js.map +1 -0
  145. package/dist-runtime/delivery/compiler-dependency-pins.d.ts +7 -0
  146. package/dist-runtime/delivery/compiler-dependency-pins.js +1689 -0
  147. package/dist-runtime/delivery/compiler-dependency-pins.js.map +1 -0
  148. package/dist-runtime/delivery/compiler-files.d.ts +40 -0
  149. package/dist-runtime/delivery/compiler-files.js +220 -0
  150. package/dist-runtime/delivery/compiler-files.js.map +1 -0
  151. package/dist-runtime/delivery/compiler-io.d.ts +2 -0
  152. package/dist-runtime/delivery/compiler-io.js +13 -0
  153. package/dist-runtime/delivery/compiler-io.js.map +1 -0
  154. package/dist-runtime/delivery/compiler-pins.d.ts +10 -0
  155. package/dist-runtime/delivery/compiler-pins.js +147 -0
  156. package/dist-runtime/delivery/compiler-pins.js.map +1 -0
  157. package/dist-runtime/delivery/compiler.d.ts +188 -0
  158. package/dist-runtime/delivery/compiler.js +850 -0
  159. package/dist-runtime/delivery/compiler.js.map +1 -0
  160. package/dist-runtime/delivery/config.d.ts +48 -0
  161. package/dist-runtime/delivery/config.js +99 -0
  162. package/dist-runtime/delivery/config.js.map +1 -0
  163. package/dist-runtime/delivery/configuration-definition.d.ts +22 -0
  164. package/dist-runtime/delivery/configuration-definition.js +316 -0
  165. package/dist-runtime/delivery/configuration-definition.js.map +1 -0
  166. package/dist-runtime/delivery/configuration-hre.d.ts +17 -0
  167. package/dist-runtime/delivery/configuration-hre.js +198 -0
  168. package/dist-runtime/delivery/configuration-hre.js.map +1 -0
  169. package/dist-runtime/delivery/configuration-runtime.d.ts +36 -0
  170. package/dist-runtime/delivery/configuration-runtime.js +248 -0
  171. package/dist-runtime/delivery/configuration-runtime.js.map +1 -0
  172. package/dist-runtime/delivery/configuration.d.ts +35 -0
  173. package/dist-runtime/delivery/configuration.js +83 -0
  174. package/dist-runtime/delivery/configuration.js.map +1 -0
  175. package/dist-runtime/delivery/create2.d.ts +3 -0
  176. package/dist-runtime/delivery/create2.js +48 -0
  177. package/dist-runtime/delivery/create2.js.map +1 -0
  178. package/dist-runtime/delivery/custom-closure.d.ts +27 -0
  179. package/dist-runtime/delivery/custom-closure.js +818 -0
  180. package/dist-runtime/delivery/custom-closure.js.map +1 -0
  181. package/dist-runtime/delivery/custom-format.d.ts +35 -0
  182. package/dist-runtime/delivery/custom-format.js +383 -0
  183. package/dist-runtime/delivery/custom-format.js.map +1 -0
  184. package/dist-runtime/delivery/custom.d.ts +32 -0
  185. package/dist-runtime/delivery/custom.js +158 -0
  186. package/dist-runtime/delivery/custom.js.map +1 -0
  187. package/dist-runtime/delivery/data.d.ts +7 -0
  188. package/dist-runtime/delivery/data.js +86 -0
  189. package/dist-runtime/delivery/data.js.map +1 -0
  190. package/dist-runtime/delivery/development.d.ts +91 -0
  191. package/dist-runtime/delivery/development.js +395 -0
  192. package/dist-runtime/delivery/development.js.map +1 -0
  193. package/dist-runtime/delivery/engine.d.ts +9 -0
  194. package/dist-runtime/delivery/engine.js +23 -0
  195. package/dist-runtime/delivery/engine.js.map +1 -0
  196. package/dist-runtime/delivery/eoa-observation.d.ts +43 -0
  197. package/dist-runtime/delivery/eoa-observation.js +145 -0
  198. package/dist-runtime/delivery/eoa-observation.js.map +1 -0
  199. package/dist-runtime/delivery/eoa-signed.d.ts +2 -0
  200. package/dist-runtime/delivery/eoa-signed.js +74 -0
  201. package/dist-runtime/delivery/eoa-signed.js.map +1 -0
  202. package/dist-runtime/delivery/eoa.d.ts +81 -0
  203. package/dist-runtime/delivery/eoa.js +274 -0
  204. package/dist-runtime/delivery/eoa.js.map +1 -0
  205. package/dist-runtime/delivery/execution-db.d.ts +20 -0
  206. package/dist-runtime/delivery/execution-db.js +153 -0
  207. package/dist-runtime/delivery/execution-db.js.map +1 -0
  208. package/dist-runtime/delivery/execution-files.d.ts +9 -0
  209. package/dist-runtime/delivery/execution-files.js +138 -0
  210. package/dist-runtime/delivery/execution-files.js.map +1 -0
  211. package/dist-runtime/delivery/execution-model.d.ts +56 -0
  212. package/dist-runtime/delivery/execution-model.js +66 -0
  213. package/dist-runtime/delivery/execution-model.js.map +1 -0
  214. package/dist-runtime/delivery/execution-store.d.ts +48 -0
  215. package/dist-runtime/delivery/execution-store.js +361 -0
  216. package/dist-runtime/delivery/execution-store.js.map +1 -0
  217. package/dist-runtime/delivery/existing-code.d.ts +37 -0
  218. package/dist-runtime/delivery/existing-code.js +75 -0
  219. package/dist-runtime/delivery/existing-code.js.map +1 -0
  220. package/dist-runtime/delivery/export.d.ts +51 -0
  221. package/dist-runtime/delivery/export.js +69 -0
  222. package/dist-runtime/delivery/export.js.map +1 -0
  223. package/dist-runtime/delivery/forkAudit.d.ts +119 -0
  224. package/dist-runtime/delivery/forkAudit.js +473 -0
  225. package/dist-runtime/delivery/forkAudit.js.map +1 -0
  226. package/dist-runtime/delivery/hardhat.d.ts +3 -0
  227. package/dist-runtime/delivery/hardhat.js +45 -0
  228. package/dist-runtime/delivery/hardhat.js.map +1 -0
  229. package/dist-runtime/delivery/history-registration.d.ts +2 -0
  230. package/dist-runtime/delivery/history-registration.js +17 -0
  231. package/dist-runtime/delivery/history-registration.js.map +1 -0
  232. package/dist-runtime/delivery/identities.d.ts +22 -0
  233. package/dist-runtime/delivery/identities.js +97 -0
  234. package/dist-runtime/delivery/identities.js.map +1 -0
  235. package/dist-runtime/delivery/input-files.d.ts +5 -0
  236. package/dist-runtime/delivery/input-files.js +70 -0
  237. package/dist-runtime/delivery/input-files.js.map +1 -0
  238. package/dist-runtime/delivery/inputs.d.ts +62 -0
  239. package/dist-runtime/delivery/inputs.js +187 -0
  240. package/dist-runtime/delivery/inputs.js.map +1 -0
  241. package/dist-runtime/delivery/journal.d.ts +35 -0
  242. package/dist-runtime/delivery/journal.js +270 -0
  243. package/dist-runtime/delivery/journal.js.map +1 -0
  244. package/dist-runtime/delivery/manifest.d.ts +14 -0
  245. package/dist-runtime/delivery/manifest.js +68 -0
  246. package/dist-runtime/delivery/manifest.js.map +1 -0
  247. package/dist-runtime/delivery/materialization.d.ts +20 -0
  248. package/dist-runtime/delivery/materialization.js +138 -0
  249. package/dist-runtime/delivery/materialization.js.map +1 -0
  250. package/dist-runtime/delivery/observations.d.ts +31 -0
  251. package/dist-runtime/delivery/observations.js +38 -0
  252. package/dist-runtime/delivery/observations.js.map +1 -0
  253. package/dist-runtime/delivery/parameters.d.ts +53 -0
  254. package/dist-runtime/delivery/parameters.js +257 -0
  255. package/dist-runtime/delivery/parameters.js.map +1 -0
  256. package/dist-runtime/delivery/pending.d.ts +70 -0
  257. package/dist-runtime/delivery/pending.js +99 -0
  258. package/dist-runtime/delivery/pending.js.map +1 -0
  259. package/dist-runtime/delivery/plan.d.ts +50 -0
  260. package/dist-runtime/delivery/plan.js +209 -0
  261. package/dist-runtime/delivery/plan.js.map +1 -0
  262. package/dist-runtime/delivery/planning.d.ts +81 -0
  263. package/dist-runtime/delivery/planning.js +302 -0
  264. package/dist-runtime/delivery/planning.js.map +1 -0
  265. package/dist-runtime/delivery/policy.d.ts +4 -0
  266. package/dist-runtime/delivery/policy.js +9 -0
  267. package/dist-runtime/delivery/policy.js.map +1 -0
  268. package/dist-runtime/delivery/preparation.d.ts +6 -0
  269. package/dist-runtime/delivery/preparation.js +158 -0
  270. package/dist-runtime/delivery/preparation.js.map +1 -0
  271. package/dist-runtime/delivery/production-environment.d.ts +2 -0
  272. package/dist-runtime/delivery/production-environment.js +12 -0
  273. package/dist-runtime/delivery/production-environment.js.map +1 -0
  274. package/dist-runtime/delivery/production-finalization.d.ts +86 -0
  275. package/dist-runtime/delivery/production-finalization.js +278 -0
  276. package/dist-runtime/delivery/production-finalization.js.map +1 -0
  277. package/dist-runtime/delivery/production.d.ts +461 -0
  278. package/dist-runtime/delivery/production.js +396 -0
  279. package/dist-runtime/delivery/production.js.map +1 -0
  280. package/dist-runtime/delivery/project-files.d.ts +8 -0
  281. package/dist-runtime/delivery/project-files.js +82 -0
  282. package/dist-runtime/delivery/project-files.js.map +1 -0
  283. package/dist-runtime/delivery/project.d.ts +15 -0
  284. package/dist-runtime/delivery/project.js +157 -0
  285. package/dist-runtime/delivery/project.js.map +1 -0
  286. package/dist-runtime/delivery/protocol.d.ts +49 -0
  287. package/dist-runtime/delivery/protocol.js +112 -0
  288. package/dist-runtime/delivery/protocol.js.map +1 -0
  289. package/dist-runtime/delivery/references.d.ts +19 -0
  290. package/dist-runtime/delivery/references.js +84 -0
  291. package/dist-runtime/delivery/references.js.map +1 -0
  292. package/dist-runtime/delivery/release-graph.d.ts +93 -0
  293. package/dist-runtime/delivery/release-graph.js +106 -0
  294. package/dist-runtime/delivery/release-graph.js.map +1 -0
  295. package/dist-runtime/delivery/release-history-capture.d.ts +7 -0
  296. package/dist-runtime/delivery/release-history-capture.js +76 -0
  297. package/dist-runtime/delivery/release-history-capture.js.map +1 -0
  298. package/dist-runtime/delivery/release-history.d.ts +43 -0
  299. package/dist-runtime/delivery/release-history.js +246 -0
  300. package/dist-runtime/delivery/release-history.js.map +1 -0
  301. package/dist-runtime/delivery/release.d.ts +172 -0
  302. package/dist-runtime/delivery/release.js +209 -0
  303. package/dist-runtime/delivery/release.js.map +1 -0
  304. package/dist-runtime/delivery/safe-manifest.d.ts +9 -0
  305. package/dist-runtime/delivery/safe-manifest.js +13 -0
  306. package/dist-runtime/delivery/safe-manifest.js.map +1 -0
  307. package/dist-runtime/delivery/safe-observation.d.ts +30 -0
  308. package/dist-runtime/delivery/safe-observation.js +487 -0
  309. package/dist-runtime/delivery/safe-observation.js.map +1 -0
  310. package/dist-runtime/delivery/safe-prepare.d.ts +13 -0
  311. package/dist-runtime/delivery/safe-prepare.js +81 -0
  312. package/dist-runtime/delivery/safe-prepare.js.map +1 -0
  313. package/dist-runtime/delivery/safe.d.ts +91 -0
  314. package/dist-runtime/delivery/safe.js +243 -0
  315. package/dist-runtime/delivery/safe.js.map +1 -0
  316. package/dist-runtime/delivery/same-fork-baseline.d.ts +8 -0
  317. package/dist-runtime/delivery/same-fork-baseline.js +20 -0
  318. package/dist-runtime/delivery/same-fork-baseline.js.map +1 -0
  319. package/dist-runtime/delivery/setup.d.ts +31 -0
  320. package/dist-runtime/delivery/setup.js +215 -0
  321. package/dist-runtime/delivery/setup.js.map +1 -0
  322. package/dist-runtime/delivery/source.d.ts +41 -0
  323. package/dist-runtime/delivery/source.js +137 -0
  324. package/dist-runtime/delivery/source.js.map +1 -0
  325. package/dist-runtime/delivery/target-fields.d.ts +2 -0
  326. package/dist-runtime/delivery/target-fields.js +11 -0
  327. package/dist-runtime/delivery/target-fields.js.map +1 -0
  328. package/dist-runtime/delivery/validation.d.ts +9 -0
  329. package/dist-runtime/delivery/validation.js +150 -0
  330. package/dist-runtime/delivery/validation.js.map +1 -0
  331. package/dist-runtime/delivery/verification.d.ts +16 -0
  332. package/dist-runtime/delivery/verification.js +65 -0
  333. package/dist-runtime/delivery/verification.js.map +1 -0
  334. package/dist-runtime/migrate.js +1 -0
  335. package/dist-runtime/migrate.js.map +1 -1
  336. package/dist-runtime/miner/binary.d.ts +2 -0
  337. package/dist-runtime/miner/binary.js +54 -0
  338. package/dist-runtime/miner/binary.js.map +1 -0
  339. package/dist-runtime/miner/cli.d.ts +1 -0
  340. package/dist-runtime/miner/cli.js +131 -0
  341. package/dist-runtime/miner/cli.js.map +1 -0
  342. package/dist-runtime/miner/index.d.ts +5 -0
  343. package/dist-runtime/miner/index.js +13 -0
  344. package/dist-runtime/miner/index.js.map +1 -0
  345. package/dist-runtime/miner/request.d.ts +7 -0
  346. package/dist-runtime/miner/request.js +73 -0
  347. package/dist-runtime/miner/request.js.map +1 -0
  348. package/dist-runtime/miner/runner.d.ts +2 -0
  349. package/dist-runtime/miner/runner.js +131 -0
  350. package/dist-runtime/miner/runner.js.map +1 -0
  351. package/dist-runtime/miner/types.d.ts +89 -0
  352. package/dist-runtime/miner/types.js +3 -0
  353. package/dist-runtime/miner/types.js.map +1 -0
  354. package/dist-runtime/miner/verify.d.ts +2 -0
  355. package/dist-runtime/miner/verify.js +75 -0
  356. package/dist-runtime/miner/verify.js.map +1 -0
  357. package/dist-runtime/runtime-identity.json +2 -2
  358. package/dist-runtime/vendor/plan-codec/index.cjs +820 -0
  359. package/dist-runtime/vendor/plan-codec/index.d.cts +32 -0
  360. package/dist-runtime/vendor/plan-codec/provenance.json +24 -0
  361. package/dist-runtime/workflow/engine.d.ts +14 -0
  362. package/dist-runtime/workflow/engine.js +160 -0
  363. package/dist-runtime/workflow/engine.js.map +1 -0
  364. package/dist-runtime/workflow/lib/authority.d.ts +6 -3
  365. package/dist-runtime/workflow/lib/authority.js.map +1 -1
  366. package/dist-runtime/workflow/lib/calls.d.ts +1 -1
  367. package/dist-runtime/workflow/lib/calls.js +43 -34
  368. package/dist-runtime/workflow/lib/calls.js.map +1 -1
  369. package/dist-runtime/workflow/lib/canonicalData.d.ts +8 -0
  370. package/dist-runtime/workflow/lib/canonicalData.js +68 -0
  371. package/dist-runtime/workflow/lib/canonicalData.js.map +1 -0
  372. package/dist-runtime/workflow/lib/config.d.ts +3 -1
  373. package/dist-runtime/workflow/lib/config.js.map +1 -1
  374. package/dist-runtime/workflow/lib/context.d.ts +76 -0
  375. package/dist-runtime/workflow/lib/context.js +3 -0
  376. package/dist-runtime/workflow/lib/context.js.map +1 -0
  377. package/dist-runtime/workflow/lib/create2.d.ts +1 -1
  378. package/dist-runtime/workflow/lib/create2.js +9 -12
  379. package/dist-runtime/workflow/lib/create2.js.map +1 -1
  380. package/dist-runtime/workflow/lib/deployments.d.ts +5 -5
  381. package/dist-runtime/workflow/lib/deployments.js +5 -13
  382. package/dist-runtime/workflow/lib/deployments.js.map +1 -1
  383. package/dist-runtime/workflow/lib/evidencePorts.d.ts +55 -0
  384. package/dist-runtime/workflow/lib/evidencePorts.js +3 -0
  385. package/dist-runtime/workflow/lib/evidencePorts.js.map +1 -0
  386. package/dist-runtime/workflow/lib/executionPlan.d.ts +4 -42
  387. package/dist-runtime/workflow/lib/executionPlan.js +15 -210
  388. package/dist-runtime/workflow/lib/executionPlan.js.map +1 -1
  389. package/dist-runtime/workflow/lib/gateTool.d.ts +6 -2
  390. package/dist-runtime/workflow/lib/gateTool.js +20 -10
  391. package/dist-runtime/workflow/lib/gateTool.js.map +1 -1
  392. package/dist-runtime/workflow/lib/gateToolSync.d.ts +1 -1
  393. package/dist-runtime/workflow/lib/gateToolSync.js +3 -2
  394. package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -1
  395. package/dist-runtime/workflow/lib/operationNames.d.ts +3 -0
  396. package/dist-runtime/workflow/lib/operationNames.js +34 -0
  397. package/dist-runtime/workflow/lib/operationNames.js.map +1 -0
  398. package/dist-runtime/workflow/lib/parameters.d.ts +1 -1
  399. package/dist-runtime/workflow/lib/parameters.js +6 -22
  400. package/dist-runtime/workflow/lib/parameters.js.map +1 -1
  401. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +18 -52
  402. package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -1
  403. package/dist-runtime/workflow/lib/pendingUupsBinding.d.ts +42 -0
  404. package/dist-runtime/workflow/lib/pendingUupsBinding.js +39 -0
  405. package/dist-runtime/workflow/lib/pendingUupsBinding.js.map +1 -0
  406. package/dist-runtime/workflow/lib/plan.d.ts +55 -0
  407. package/dist-runtime/workflow/lib/plan.js +324 -0
  408. package/dist-runtime/workflow/lib/plan.js.map +1 -0
  409. package/dist-runtime/workflow/lib/planCli.d.ts +14 -0
  410. package/dist-runtime/workflow/lib/planCli.js +279 -0
  411. package/dist-runtime/workflow/lib/planCli.js.map +1 -0
  412. package/dist-runtime/workflow/lib/preparationEvidence.d.ts +4 -0
  413. package/dist-runtime/workflow/lib/preparationEvidence.js +19 -0
  414. package/dist-runtime/workflow/lib/preparationEvidence.js.map +1 -0
  415. package/dist-runtime/workflow/lib/proxy.d.ts +3 -2
  416. package/dist-runtime/workflow/lib/proxy.js +3 -4
  417. package/dist-runtime/workflow/lib/proxy.js.map +1 -1
  418. package/dist-runtime/workflow/lib/runtime.d.ts +6 -0
  419. package/dist-runtime/workflow/lib/runtime.js +48 -0
  420. package/dist-runtime/workflow/lib/runtime.js.map +1 -0
  421. package/dist-runtime/workflow/lib/signer.d.ts +3 -2
  422. package/dist-runtime/workflow/lib/signer.js +18 -18
  423. package/dist-runtime/workflow/lib/signer.js.map +1 -1
  424. package/dist-runtime/workflow/lib/simulation.d.ts +13 -6
  425. package/dist-runtime/workflow/lib/simulation.js +39 -31
  426. package/dist-runtime/workflow/lib/simulation.js.map +1 -1
  427. package/dist-runtime/workflow/lib/state.js +3 -3
  428. package/dist-runtime/workflow/lib/state.js.map +1 -1
  429. package/dist-runtime/workflow/lib/staticValidation.d.ts +28 -0
  430. package/dist-runtime/workflow/lib/staticValidation.js +54 -10
  431. package/dist-runtime/workflow/lib/staticValidation.js.map +1 -1
  432. package/dist-runtime/workflow/lib/transactionPlanner.d.ts +62 -0
  433. package/dist-runtime/workflow/lib/transactionPlanner.js +258 -0
  434. package/dist-runtime/workflow/lib/transactionPlanner.js.map +1 -0
  435. package/dist-runtime/workflow/lib/typedValue.d.ts +3 -0
  436. package/dist-runtime/workflow/lib/typedValue.js +76 -0
  437. package/dist-runtime/workflow/lib/typedValue.js.map +1 -0
  438. package/dist-runtime/workflow/lib/validation.d.ts +23 -0
  439. package/dist-runtime/workflow/lib/validation.js +15 -0
  440. package/dist-runtime/workflow/lib/validation.js.map +1 -0
  441. package/dist-runtime/workflow/planAdd.d.ts +1 -0
  442. package/dist-runtime/workflow/planAdd.js +11 -0
  443. package/dist-runtime/workflow/planAdd.js.map +1 -0
  444. package/dist-runtime/workflow/planRead.d.ts +1 -0
  445. package/dist-runtime/workflow/planRead.js +11 -0
  446. package/dist-runtime/workflow/planRead.js.map +1 -0
  447. package/dist-runtime/workflow/planStatus.d.ts +1 -0
  448. package/dist-runtime/workflow/planStatus.js +11 -0
  449. package/dist-runtime/workflow/planStatus.js.map +1 -0
  450. package/dist-runtime/workflow/planWrite.d.ts +1 -0
  451. package/dist-runtime/workflow/planWrite.js +11 -0
  452. package/dist-runtime/workflow/planWrite.js.map +1 -0
  453. package/dist-runtime/workflow/run.d.ts +1 -40
  454. package/dist-runtime/workflow/run.js +68 -136
  455. package/dist-runtime/workflow/run.js.map +1 -1
  456. package/dist-runtime/workflow/staticValidate.js +8 -3
  457. package/dist-runtime/workflow/staticValidate.js.map +1 -1
  458. package/dist-runtime/workflow/steps/call.d.ts +1 -1
  459. package/dist-runtime/workflow/steps/check.d.ts +1 -1
  460. package/dist-runtime/workflow/steps/custom.d.ts +1 -1
  461. package/dist-runtime/workflow/steps/deploy.d.ts +1 -1
  462. package/dist-runtime/workflow/steps/deploy.js +57 -55
  463. package/dist-runtime/workflow/steps/deploy.js.map +1 -1
  464. package/dist-runtime/workflow/steps/upgrade.d.ts +1 -1
  465. package/dist-runtime/workflow/steps/upgrade.js +62 -41
  466. package/dist-runtime/workflow/steps/upgrade.js.map +1 -1
  467. package/dist-runtime/workflow/steps/view.d.ts +1 -1
  468. package/docs/compiler-qualification.md +32 -0
  469. package/docs/configuration-runtime-observation.md +29 -0
  470. package/docs/create2-miner.md +100 -0
  471. package/docs/delivery-aggregate.md +27 -0
  472. package/docs/delivery-custom-input-closure.md +51 -0
  473. package/docs/delivery-development.md +32 -0
  474. package/docs/delivery-eoa.md +46 -0
  475. package/docs/delivery-evm-manifest.md +20 -0
  476. package/docs/delivery-execution-store.md +33 -0
  477. package/docs/delivery-inputs.md +46 -0
  478. package/docs/delivery-parameters.md +65 -0
  479. package/docs/delivery-planning.md +140 -0
  480. package/docs/delivery-release.md +65 -0
  481. package/docs/delivery-safe.md +72 -0
  482. package/docs/delivery-setup.md +146 -0
  483. package/docs/delivery-source.md +67 -0
  484. package/docs/superpowers/plans/2026-09-24-scheme-aware-static-validation.md +193 -0
  485. package/docs/superpowers/plans/2026-10-28-create2-miner.md +82 -0
  486. package/package.json +133 -9
  487. package/resources/create2/LICENSE +21 -0
  488. package/resources/create2/README.md +9 -0
  489. package/resources/create2/darwin-arm64/smartflow_miner +0 -0
  490. package/resources/create2/darwin-x64/smartflow_miner +0 -0
  491. package/resources/create2/manifest.json +27 -0
  492. package/runtime/config/openzeppelin.ts +3 -21
  493. package/runtime/delivery/abi.ts +225 -0
  494. package/runtime/delivery/aggregate-bootstrap.ts +29 -0
  495. package/runtime/delivery/aggregate-channel.ts +85 -0
  496. package/runtime/delivery/aggregate-inputs.ts +39 -0
  497. package/runtime/delivery/aggregate-source.ts +53 -0
  498. package/runtime/delivery/aggregate-worker.ts +133 -0
  499. package/runtime/delivery/aggregate.ts +139 -0
  500. package/runtime/delivery/bindings.ts +37 -0
  501. package/runtime/delivery/check-code.ts +38 -0
  502. package/runtime/delivery/closure-format.ts +350 -0
  503. package/runtime/delivery/codec-pin.ts +3 -0
  504. package/runtime/delivery/codec.ts +50 -0
  505. package/runtime/delivery/compiler-dependency-pins.ts +1685 -0
  506. package/runtime/delivery/compiler-files.ts +179 -0
  507. package/runtime/delivery/compiler-io.ts +10 -0
  508. package/runtime/delivery/compiler-pins.ts +143 -0
  509. package/runtime/delivery/compiler.ts +700 -0
  510. package/runtime/delivery/config.ts +93 -0
  511. package/runtime/delivery/configuration-definition.ts +133 -0
  512. package/runtime/delivery/configuration-hre.ts +130 -0
  513. package/runtime/delivery/configuration-runtime.ts +163 -0
  514. package/runtime/delivery/configuration.ts +64 -0
  515. package/runtime/delivery/create2.ts +57 -0
  516. package/runtime/delivery/custom-closure.ts +993 -0
  517. package/runtime/delivery/custom-format.ts +464 -0
  518. package/runtime/delivery/custom.ts +219 -0
  519. package/runtime/delivery/data.ts +94 -0
  520. package/runtime/delivery/development.ts +262 -0
  521. package/runtime/delivery/engine.ts +29 -0
  522. package/runtime/delivery/eoa-observation.ts +106 -0
  523. package/runtime/delivery/eoa-signed.ts +55 -0
  524. package/runtime/delivery/eoa.ts +288 -0
  525. package/runtime/delivery/execution-db.ts +131 -0
  526. package/runtime/delivery/execution-files.ts +135 -0
  527. package/runtime/delivery/execution-model.ts +102 -0
  528. package/runtime/delivery/execution-store.ts +411 -0
  529. package/runtime/delivery/existing-code.ts +44 -0
  530. package/runtime/delivery/export.ts +99 -0
  531. package/runtime/delivery/forkAudit.ts +620 -0
  532. package/runtime/delivery/hardhat.ts +38 -0
  533. package/runtime/delivery/history-registration.ts +10 -0
  534. package/runtime/delivery/identities.ts +132 -0
  535. package/runtime/delivery/input-files.ts +46 -0
  536. package/runtime/delivery/inputs.ts +197 -0
  537. package/runtime/delivery/journal.ts +201 -0
  538. package/runtime/delivery/manifest.ts +54 -0
  539. package/runtime/delivery/materialization.ts +53 -0
  540. package/runtime/delivery/observations.ts +60 -0
  541. package/runtime/delivery/parameters.ts +349 -0
  542. package/runtime/delivery/pending.ts +98 -0
  543. package/runtime/delivery/plan.ts +337 -0
  544. package/runtime/delivery/planning.ts +397 -0
  545. package/runtime/delivery/policy.ts +9 -0
  546. package/runtime/delivery/preparation.ts +224 -0
  547. package/runtime/delivery/production-environment.ts +6 -0
  548. package/runtime/delivery/production-finalization.ts +172 -0
  549. package/runtime/delivery/production.ts +375 -0
  550. package/runtime/delivery/project-files.ts +58 -0
  551. package/runtime/delivery/project.ts +117 -0
  552. package/runtime/delivery/protocol.ts +94 -0
  553. package/runtime/delivery/references.ts +106 -0
  554. package/runtime/delivery/release-graph.ts +49 -0
  555. package/runtime/delivery/release-history-capture.ts +32 -0
  556. package/runtime/delivery/release-history.ts +120 -0
  557. package/runtime/delivery/release.ts +128 -0
  558. package/runtime/delivery/safe-manifest.ts +11 -0
  559. package/runtime/delivery/safe-observation.ts +626 -0
  560. package/runtime/delivery/safe-prepare.ts +101 -0
  561. package/runtime/delivery/safe.ts +344 -0
  562. package/runtime/delivery/same-fork-baseline.ts +16 -0
  563. package/runtime/delivery/setup.ts +172 -0
  564. package/runtime/delivery/source.ts +130 -0
  565. package/runtime/delivery/target-fields.ts +7 -0
  566. package/runtime/delivery/validation.ts +247 -0
  567. package/runtime/delivery/verification.ts +47 -0
  568. package/runtime/migrate.ts +1 -0
  569. package/runtime/miner/binary.ts +41 -0
  570. package/runtime/miner/cli.ts +87 -0
  571. package/runtime/miner/index.ts +5 -0
  572. package/runtime/miner/request.ts +54 -0
  573. package/runtime/miner/runner.ts +90 -0
  574. package/runtime/miner/types.ts +71 -0
  575. package/runtime/miner/verify.ts +61 -0
  576. package/runtime/vendor/plan-codec/index.cjs +820 -0
  577. package/runtime/vendor/plan-codec/index.d.cts +32 -0
  578. package/runtime/vendor/plan-codec/provenance.json +24 -0
  579. package/runtime/workflow/engine.ts +174 -0
  580. package/runtime/workflow/lib/authority.ts +3 -3
  581. package/runtime/workflow/lib/calls.ts +46 -37
  582. package/runtime/workflow/lib/canonicalData.ts +45 -0
  583. package/runtime/workflow/lib/config.ts +1 -1
  584. package/runtime/workflow/lib/context.ts +76 -0
  585. package/runtime/workflow/lib/create2.ts +10 -12
  586. package/runtime/workflow/lib/deployments.ts +6 -14
  587. package/runtime/workflow/lib/evidencePorts.ts +20 -0
  588. package/runtime/workflow/lib/executionPlan.ts +17 -268
  589. package/runtime/workflow/lib/gateTool.ts +20 -8
  590. package/runtime/workflow/lib/gateToolSync.ts +3 -3
  591. package/runtime/workflow/lib/operationNames.ts +32 -0
  592. package/runtime/workflow/lib/parameters.ts +4 -21
  593. package/runtime/workflow/lib/pendingDeploymentReuse.ts +4 -56
  594. package/runtime/workflow/lib/pendingUupsBinding.ts +43 -0
  595. package/runtime/workflow/lib/plan.ts +334 -0
  596. package/runtime/workflow/lib/planCli.ts +279 -0
  597. package/runtime/workflow/lib/preparationEvidence.ts +14 -0
  598. package/runtime/workflow/lib/proxy.ts +5 -3
  599. package/runtime/workflow/lib/runtime.ts +46 -0
  600. package/runtime/workflow/lib/signer.ts +8 -5
  601. package/runtime/workflow/lib/simulation.ts +41 -17
  602. package/runtime/workflow/lib/state.ts +3 -3
  603. package/runtime/workflow/lib/staticValidation.ts +92 -11
  604. package/runtime/workflow/lib/transactionPlanner.ts +314 -0
  605. package/runtime/workflow/lib/typedValue.ts +46 -0
  606. package/runtime/workflow/lib/validation.ts +50 -0
  607. package/runtime/workflow/planAdd.ts +8 -0
  608. package/runtime/workflow/planRead.ts +8 -0
  609. package/runtime/workflow/planStatus.ts +8 -0
  610. package/runtime/workflow/planWrite.ts +8 -0
  611. package/runtime/workflow/run.ts +41 -174
  612. package/runtime/workflow/staticValidate.ts +8 -3
  613. package/runtime/workflow/steps/call.ts +1 -1
  614. package/runtime/workflow/steps/check.ts +1 -1
  615. package/runtime/workflow/steps/custom.ts +1 -1
  616. package/runtime/workflow/steps/deploy.ts +57 -58
  617. package/runtime/workflow/steps/upgrade.ts +69 -46
  618. package/runtime/workflow/steps/view.ts +1 -1
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.productionChildEnvironment = void 0;
7
+ exports.inspectDeliveryProduction = inspectDeliveryProduction;
8
+ exports.prepareDeliveryProduction = prepareDeliveryProduction;
9
+ exports.runDeliveryProduction = runDeliveryProduction;
10
+ exports.renderProductionExport = renderProductionExport;
11
+ exports.productionRpc = productionRpc;
12
+ exports.prepareDeliveryProductionSafe = prepareDeliveryProductionSafe;
13
+ exports.freezeDeliveryProduction = freezeDeliveryProduction;
14
+ /** Public release-only production boundary. Host capabilities never enter JSON options. */
15
+ const node_fs_1 = __importDefault(require("node:fs"));
16
+ const node_os_1 = __importDefault(require("node:os"));
17
+ const node_path_1 = __importDefault(require("node:path"));
18
+ const node_crypto_1 = require("node:crypto");
19
+ const workflow_1 = require("gate-evm-tools/workflow");
20
+ const release_1 = require("./release");
21
+ const source_1 = require("./source");
22
+ const project_files_1 = require("./project-files");
23
+ const protocol_1 = require("./protocol");
24
+ const data_1 = require("./data");
25
+ const plan_1 = require("./plan");
26
+ const aggregate_channel_1 = require("./aggregate-channel");
27
+ const materialization_1 = require("./materialization");
28
+ const canonicalData_1 = require("../workflow/lib/canonicalData");
29
+ const eoa_1 = require("./eoa");
30
+ const production_finalization_1 = require("./production-finalization");
31
+ var production_environment_1 = require("./production-environment");
32
+ Object.defineProperty(exports, "productionChildEnvironment", { enumerable: true, get: function () { return production_environment_1.productionChildEnvironment; } });
33
+ const keys = ['workspaceRoot', 'projectRoot', 'handoff', 'taskId', 'deploymentId', 'releaseRef', 'planKey', 'rev', 'target', 'operator', 'executionId'];
34
+ const encode = (v) => (0, canonicalData_1.canonicalJson)(v) + '\n';
35
+ const artifactPath = (id) => `.gate-delivery/production/${(0, protocol_1.safeId)(id, 'executionId')}.json`;
36
+ function inspect(raw, command) {
37
+ const input = (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(raw));
38
+ (0, canonicalData_1.exactObject)(input, keys, 'production options');
39
+ (0, protocol_1.safeId)(input.executionId, 'executionId');
40
+ const mode = command === 'prepare' ? 'simulate' : command;
41
+ const request = (0, protocol_1.parseDeliveryRequest)({ version: 1, environment: 'prod', purpose: 'prod-execution', mode, network: input.target, operator: input.operator, releaseRef: input.releaseRef, sourceRef: { path: input.handoff, taskId: input.taskId, planKey: input.planKey, rev: input.rev } });
42
+ const release = (0, release_1.inspectDeliveryRelease)(input);
43
+ if (release.status === 'pending')
44
+ return { status: 'pending', input };
45
+ const source = (0, source_1.readOwnedDeliverySource)({ workspaceRoot: input.workspaceRoot, projectRoot: input.projectRoot, request });
46
+ if (source.invocation.task.scope.deployment.deploymentId !== input.deploymentId)
47
+ throw Error('Production deployment mismatch');
48
+ const target = release.release.targets.find((t) => t.id === input.target);
49
+ if (!target)
50
+ throw Error('Unknown production target');
51
+ return { status: 'ready', input, request, source, release: release.release, releaseHash: release.bundleHash, target, root: (0, project_files_1.projectRoot)(input.workspaceRoot, input.projectRoot) };
52
+ }
53
+ /** Read the marker before consuming generated output; no missing-file error while pending. */
54
+ function inspectDeliveryProduction(raw, command = 'prepare') {
55
+ const current = inspect(raw, command);
56
+ if (current.status === 'pending')
57
+ return current;
58
+ const bytes = (0, materialization_1.fileBytes)(current.root, artifactPath(current.input.executionId));
59
+ if (bytes === null)
60
+ return { status: 'pending' };
61
+ const record = JSON.parse(bytes), { artifactHash, ...body } = record;
62
+ if (record.schema !== 'gate-delivery-production' || record.version !== 1 || record.status !== 'READY' || record.generation !== 'complete' || (0, canonicalData_1.semanticHash)(body) !== artifactHash)
63
+ throw Error('Invalid production READY artifact');
64
+ const plan = (0, plan_1.parseDeliveryPlan)(record.collection.plan);
65
+ if (record.releaseHash !== current.releaseHash || plan.inputsHash !== current.release.inputsHash || plan.sourceDefinitionHash !== current.release.sourceDefinitionHash || plan.executionId !== current.input.executionId || plan.target !== current.input.target || plan.operator !== current.input.operator.toLowerCase() || plan.environment !== 'prod' || plan.chainId !== String(current.target.chainId))
66
+ throw Error('Production artifact context mismatch');
67
+ return (0, canonicalData_1.deepFreeze)({ status: 'ready', plan, collection: record.collection, finalization: record.finalization, releaseHash: current.releaseHash, artifactHash, sha256: (0, materialization_1.byteHash)(bytes), path: artifactPath(current.input.executionId), ...(current.target.safe ? { safeTarget: current.target.safe } : {}) });
68
+ }
69
+ /** Instantiate the delivered business operations, never accept replacement operations or parameters. */
70
+ async function prepareDeliveryProduction(raw) {
71
+ const current = inspect(raw, 'prepare');
72
+ if (current.status === 'pending')
73
+ return { status: 'pending' };
74
+ const existing = inspectDeliveryProduction(current.input);
75
+ if (existing.status === 'ready')
76
+ return existing;
77
+ if (node_path_1.default.resolve(process.cwd()) !== current.root)
78
+ throw Error('Production prepare must run from actual project root');
79
+ const { input, request, release, root } = current, session = (0, node_crypto_1.randomUUID)(), dir = node_fs_1.default.mkdtempSync(node_path_1.default.join(node_os_1.default.tmpdir(), 'gate-production-'));
80
+ const workers = [];
81
+ let failure;
82
+ const check = () => {
83
+ if (failure)
84
+ throw failure;
85
+ const now = inspect(input, 'prepare');
86
+ if (now.status !== 'ready' || now.releaseHash !== current.releaseHash)
87
+ throw Error('Production release changed during generation');
88
+ };
89
+ try {
90
+ const source = new aggregate_channel_1.OwnedWorker(root, session, input.target, 'source', e => { failure ??= e; });
91
+ workers.push(source);
92
+ const common = { root, workspaceRoot: input.workspaceRoot, projectRoot: input.projectRoot, request }, handshakePath = node_path_1.default.join(dir, 'source.json');
93
+ const ready = await source.request('stage', { ...common, role: 'source', handshakePath });
94
+ check();
95
+ if (ready.ready !== true || !node_fs_1.default.existsSync(handshakePath) || (0, canonicalData_1.canonicalJson)(JSON.parse(node_fs_1.default.readFileSync(handshakePath, 'utf8'))) !== (0, canonicalData_1.canonicalJson)(ready.handshake))
96
+ throw Error('Source generation not READY');
97
+ const worker = new aggregate_channel_1.OwnedWorker(root, session, input.target, 'target', e => { failure ??= e; });
98
+ workers.push(worker);
99
+ const parameter = release.parameters.find((p) => p.target === input.target);
100
+ if (!parameter)
101
+ throw Error('Release parameters missing');
102
+ const staged = await worker.request('stage', { ...common, role: 'target', handshake: ready.handshake, target: current.target, params: parameter.resolved.values, steps: release.operations, deploymentId: input.deploymentId, businessRoot: `scripts/tasks/${input.deploymentId}`, executionId: input.executionId, sourceDefinitionHash: release.sourceDefinitionHash });
103
+ check();
104
+ if (staged.ready !== true)
105
+ throw Error('Production generation not READY');
106
+ const checked = await worker.request('check');
107
+ check();
108
+ const sourceChecked = await source.request('check');
109
+ check();
110
+ const candidate = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(root, release.candidate.path), 'utf8'));
111
+ const expected = candidate.aggregate.inputs.targets.find((t) => t.target === input.target);
112
+ for (const [actual, wanted] of [[checked.compiler.stableDigest, expected.compiler.stableDigest], [checked.custom, expected.custom], [checked.configuration.configurationRuntimeHash, expected.configuration.configurationRuntimeHash], [sourceChecked.configuration.configurationRuntimeHash, expected.sourceConfiguration.configurationRuntimeHash]])
113
+ if ((0, canonicalData_1.canonicalJson)(actual) !== (0, canonicalData_1.canonicalJson)(wanted))
114
+ throw Error('Final simulation changed released input closure');
115
+ const collection = await worker.request('bind', { inputsHash: release.inputsHash });
116
+ check();
117
+ (0, development_1.expectedDevelopmentAssertions)(collection, release.operations);
118
+ if (collection.plan.executionId !== input.executionId || collection.plan.operator !== input.operator.toLowerCase())
119
+ throw Error('Final simulation context mismatch');
120
+ await worker.request('close');
121
+ await source.request('close');
122
+ check();
123
+ await (0, materialization_1.withDevelopmentFileLock)(root, async () => {
124
+ check();
125
+ const paths = (0, workflow_1.resolveTargetManifestPaths)(root, input.target, Number(collection.plan.chainId), {}), manifestPath = node_path_1.default.relative(root, paths.file).split(node_path_1.default.sep).join('/');
126
+ if (paths.file !== paths.fallbackFile && (0, materialization_1.fileBytes)(root, node_path_1.default.relative(root, paths.fallbackFile)) !== null)
127
+ throw Error('Noncanonical manifest fallback requires explicit migration');
128
+ const finalization = { compiler: checked.compiler, registration: { registry: JSON.parse((0, materialization_1.fileBytes)(root, 'contractInfo.json') ?? '{}'), metadata: JSON.parse((0, materialization_1.fileBytes)(root, 'deploymentInfo.json') ?? '{"version":1,"networks":{}}') }, manifests: [{ path: manifestPath, contents: (0, materialization_1.fileBytes)(root, manifestPath) }] };
129
+ const body = { schema: 'gate-delivery-production', version: 1, status: 'READY', generation: 'complete', releaseHash: current.releaseHash, collection, finalization }, record = { ...body, artifactHash: (0, canonicalData_1.semanticHash)(body) };
130
+ const prior = (0, materialization_1.fileBytes)(root, artifactPath(input.executionId));
131
+ if (prior !== null && prior !== encode(record))
132
+ throw Error('Execution ID already has immutable final simulation');
133
+ (0, materialization_1.atomicDevelopmentWrite)(root, artifactPath(input.executionId), encode(record));
134
+ });
135
+ return inspectDeliveryProduction(input);
136
+ }
137
+ finally {
138
+ await Promise.all(workers.map(w => w.reap()));
139
+ node_fs_1.default.rmSync(dir, { recursive: true, force: true });
140
+ }
141
+ }
142
+ /** Capture trusted callback identities once. Caller-mutable options cannot replace ports after awaits. */
143
+ function productionPorts(host) {
144
+ const { store, signer, approval } = host;
145
+ return { store, finality: (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(host.finality)), guard: host.assertCurrent.bind(host), request: host.provider.request.bind(host.provider),
146
+ signer: signer ? { address: signer.address, sign: signer.sign.bind(signer), recover: signer.recover?.bind(signer) } : undefined,
147
+ approval: approval ? { withApproval: approval.withApproval.bind(approval) } : undefined };
148
+ }
149
+ /** Explicit commands share validation; only in-process trusted ports can sign or send. */
150
+ async function runDeliveryProduction(command, raw, host, detail) {
151
+ if (!['execute', 'export-calldata', 'reconcile', 'verify'].includes(command))
152
+ throw Error('Explicit production command required');
153
+ const ports = host ? productionPorts(host) : undefined;
154
+ ports?.guard();
155
+ const input = (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(raw)), captured = detail ? (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(detail)) : undefined, ready = inspectDeliveryProduction(input, command);
156
+ ports?.guard();
157
+ if (ready.status === 'pending')
158
+ return { status: 'pending' };
159
+ if (!ports) {
160
+ if (command === 'execute')
161
+ throw Error('PRODUCTION_SIGNER_UNAVAILABLE: trusted host required');
162
+ if (command !== 'export-calldata')
163
+ throw Error('Trusted host observation provider required');
164
+ return renderProductionExport(ready);
165
+ }
166
+ const { guard, request, store, finality, signer, approval } = ports;
167
+ const check = () => {
168
+ guard();
169
+ const current = inspectDeliveryProduction(input, command);
170
+ if (current.status !== 'ready' || current.artifactHash !== ready.artifactHash)
171
+ throw Error('Production artifact changed');
172
+ guard();
173
+ };
174
+ const plan = ready.plan, context = { executionId: plan.executionId, planHash: plan.planHash, releaseHash: ready.releaseHash, operator: plan.operator, chainId: plan.chainId, target: plan.target, finality, policyHash: (0, canonicalData_1.semanticHash)(finality) };
175
+ // Read-only observations consume the immutable plan. Full release hashing belongs at effect
176
+ // boundaries, while the live host capability/expiry check still surrounds every RPC await.
177
+ const provider = { async request(method, params) { const current = method === 'eth_sendRawTransaction' ? check : guard; current(); const result = await request(method, params); current(); return result; } };
178
+ const controlledSigner = signer ? { address: signer.address, async sign(id, unsigned) { check(); const raw = await signer.sign(id, unsigned); check(); return raw; }, ...(signer.recover ? { async recover(id) { check(); const raw = await signer.recover(id); check(); return raw; } } : {}) } : undefined;
179
+ const controlledApproval = approval ? { async withApproval(snapshot, work) { check(); const result = await approval.withApproval(snapshot, async () => { check(); return work(); }); guard(); return result; } } : undefined;
180
+ const kernel = (0, eoa_1.createDeliveryEoaExecution)({ store, plan, context, provider, signer: controlledSigner, approval: controlledApproval });
181
+ const result = command === 'execute' ? await kernel.execute(captured?.unsigned) : command === 'export-calldata' ? await kernel.export() : await kernel.reconcile(captured?.hashes ?? {});
182
+ check();
183
+ if (command === 'export-calldata')
184
+ return renderProductionExport(ready, result);
185
+ if (command === 'verify' && result.status === 'complete') {
186
+ try {
187
+ const root = (0, project_files_1.projectRoot)(input.workspaceRoot, input.projectRoot), priorAnchor = (0, production_finalization_1.retainedProductionFinalizationAnchor)(root, ready);
188
+ const { assertions, anchor } = await verifyProductionAssertions(ready, provider, priorAnchor);
189
+ check();
190
+ const acceptance = await (0, production_finalization_1.finalizeProductionExecution)({ root, ready, provider, anchor, assertions, finalized: result.snapshot.transactions.map((t) => t.observation), assertCurrent: guard, assertInputs: check });
191
+ check();
192
+ return (0, canonicalData_1.deepFreeze)({ ...result, status: 'accepted', assertions, acceptance });
193
+ }
194
+ catch (error) {
195
+ guard();
196
+ return (0, canonicalData_1.deepFreeze)({ ...result, status: 'finalization-required', error: error instanceof Error ? error.message : String(error) });
197
+ }
198
+ }
199
+ return result;
200
+ }
201
+ const export_1 = require("./export");
202
+ function renderProductionExport(ready, exported = (0, export_1.renderDeliveryExport)(ready.plan)) {
203
+ const start = exported.model.completed.length, active = ready.plan.transactions[start], frozen = exported.model.safeEnvelopes ?? [];
204
+ const needsPreparation = !!ready.safeTarget && active?.route === 'external' && !frozen.some((x) => x.envelope.start === start);
205
+ const model = (0, canonicalData_1.deepFreeze)({ ...exported.model, ...(ready.safeTarget ? { safePreparation: needsPreparation ? 'preparation-required' : active?.route === 'external' ? 'ready' : 'not-applicable', futureSafeEnvelopes: 'pending until their segment becomes executable' } : {}), releaseHash: ready.releaseHash, artifactHash: ready.artifactHash });
206
+ const json = (0, canonicalData_1.canonicalJson)(model);
207
+ const artifact = (0, canonicalData_1.deepFreeze)({ status: 'artifact-delivered', model, json, markdown: `# Production calldata\n\nRelease: ${ready.releaseHash}\nExecution: ${ready.plan.executionId}\n\n\`\`\`json\n${json}\n\`\`\`\n` });
208
+ return needsPreparation ? (0, canonicalData_1.deepFreeze)({ status: 'preparation-required', export: artifact }) : artifact;
209
+ }
210
+ const configuration_definition_1 = require("./configuration-definition");
211
+ const production_environment_2 = require("./production-environment");
212
+ const eoa_observation_1 = require("./eoa-observation");
213
+ const execution_model_1 = require("./execution-model");
214
+ const safe_observation_1 = require("./safe-observation");
215
+ /** Static config parser only. No HRE, project imports, accounts or signing environment are evaluated. */
216
+ function productionRpc(raw, command) {
217
+ const current = inspect(raw, command);
218
+ if (current.status !== 'ready')
219
+ throw Error('Production release pending');
220
+ const config = (0, configuration_definition_1.parseConfigurationDefinition)(node_fs_1.default.readFileSync(node_path_1.default.join(current.root, 'hardhat.config.ts')), raw.target, (0, production_environment_2.productionChildEnvironment)(process.env)).userConfig.networks[raw.target];
221
+ const url = new URL(config.url);
222
+ if (!['http:', 'https:'].includes(url.protocol))
223
+ throw Error('Unsupported production RPC');
224
+ return Object.freeze({ async request(method, params) {
225
+ const controller = new AbortController(), timer = setTimeout(() => controller.abort(), 30000);
226
+ try {
227
+ const response = await fetch(url, { method: 'POST', headers: { 'content-type': 'application/json', ...config.httpHeaders }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), signal: controller.signal });
228
+ if (!response.ok || !response.body)
229
+ throw Error('Production RPC transport failed');
230
+ const maxBytes = method === 'debug_traceTransaction' ? safe_observation_1.SAFE_TRACE_MAX_BYTES : 2 * 1024 * 1024;
231
+ const reader = response.body.getReader(), chunks = [];
232
+ let size = 0;
233
+ try {
234
+ for (;;) {
235
+ const { done, value } = await reader.read();
236
+ if (done)
237
+ break;
238
+ size += value.byteLength;
239
+ if (size > maxBytes)
240
+ throw Error('Production RPC response exceeds bounded budget');
241
+ chunks.push(value);
242
+ }
243
+ }
244
+ catch (error) {
245
+ controller.abort();
246
+ await reader.cancel().catch(() => { });
247
+ throw error;
248
+ }
249
+ finally {
250
+ reader.releaseLock();
251
+ }
252
+ // Parse only after the entire bounded stream completed successfully.
253
+ const result = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks, size)));
254
+ if (!result || result.error || !Object.hasOwn(result, 'result'))
255
+ throw Error('Production RPC rejected request');
256
+ return result.result;
257
+ }
258
+ catch (error) {
259
+ controller.abort();
260
+ throw error;
261
+ }
262
+ finally {
263
+ clearTimeout(timer);
264
+ }
265
+ } });
266
+ }
267
+ /** Separate final preparation: policy comes only from the validated release target. No signing/send. */
268
+ async function prepareDeliveryProductionSafe(raw, host) {
269
+ return prepareProductionSafe(raw, host, 'prepare');
270
+ }
271
+ /** The owning entry fixes its stage; callers cannot select a weaker task permission. */
272
+ async function prepareProductionSafe(raw, host, command) {
273
+ const ports = productionPorts(host);
274
+ ports.guard();
275
+ const input = (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(raw)), ready = inspectDeliveryProduction(input, command), current = inspect(input, command);
276
+ ports.guard();
277
+ if (ready.status !== 'ready' || current.status !== 'ready')
278
+ return { status: 'pending' };
279
+ const check = () => {
280
+ ports.guard();
281
+ const now = inspectDeliveryProduction(input, command);
282
+ if (now.status !== 'ready' || now.artifactHash !== ready.artifactHash)
283
+ throw Error('Production Safe preparation changed');
284
+ ports.guard();
285
+ };
286
+ const prior = await ports.store.readExecution(input.executionId);
287
+ ports.guard();
288
+ if (prior && prior.planHash !== ready.plan.planHash)
289
+ throw Error('Original execution plan mismatch');
290
+ const first = ready.plan.transactions[prior?.completedCount ?? 0];
291
+ if (!first || first.route !== 'external')
292
+ return { status: 'not-applicable' };
293
+ if (!current.target.safe) {
294
+ const code = await ports.request('eth_getCode', [first.executor, 'latest']);
295
+ check();
296
+ if (code !== '0x')
297
+ throw Error('Developer-delivered Safe target policy required');
298
+ return { status: 'not-applicable' };
299
+ }
300
+ const plan = ready.plan, context = { executionId: plan.executionId, planHash: plan.planHash, releaseHash: ready.releaseHash, operator: plan.operator, chainId: plan.chainId, target: plan.target, finality: ports.finality, policyHash: (0, canonicalData_1.semanticHash)(ports.finality) };
301
+ const provider = { async request(method, params) { ports.guard(); const result = await ports.request(method, params); ports.guard(); return result; } };
302
+ const result = await (0, eoa_1.createDeliveryEoaExecution)({ plan, context, store: ports.store, provider }).prepareSafe(current.target.safe);
303
+ check();
304
+ return (0, canonicalData_1.deepFreeze)({ status: 'safe-prepared', envelope: result.envelope });
305
+ }
306
+ async function freezeDeliveryProduction(raw, host) {
307
+ const { guard, request, store, signer } = productionPorts(host);
308
+ guard();
309
+ const input = (0, canonicalData_1.deepFreeze)((0, data_1.strictData)(raw)), ready = inspectDeliveryProduction(input, 'execute');
310
+ guard();
311
+ if (ready.status !== 'ready')
312
+ return { status: 'pending' };
313
+ const check = () => {
314
+ guard();
315
+ const now = inspectDeliveryProduction(input, 'execute');
316
+ if (now.status !== 'ready' || now.artifactHash !== ready.artifactHash)
317
+ throw Error('Production snapshot context changed');
318
+ guard();
319
+ };
320
+ const rpc = async (method, params) => { guard(); const v = await request(method, params); guard(); return v; };
321
+ const s = await store.readExecution(input.executionId);
322
+ guard();
323
+ if (s && s.planHash !== ready.plan.planHash)
324
+ throw Error('Original execution plan mismatch');
325
+ const tx = ready.plan.transactions[s?.completedCount ?? 0];
326
+ if (!tx) {
327
+ check();
328
+ return { status: 'complete' };
329
+ }
330
+ if ((0, eoa_observation_1.rpcQuantity)(await rpc('eth_chainId', [])) !== ready.plan.chainId)
331
+ throw Error('Production chain mismatch');
332
+ const code = await rpc('eth_getCode', [tx.executor, 'latest']);
333
+ if (typeof code !== 'string' || !/^0x(?:[a-fA-F0-9]{2})*$/.test(code))
334
+ throw Error('Unknown executor permissions');
335
+ if (tx.route !== 'operator') {
336
+ await prepareProductionSafe(input, host, 'execute');
337
+ return { status: 'external-executor', export: await runDeliveryProduction('export-calldata', input, host) };
338
+ }
339
+ if (code !== '0x' || tx.operation !== 0)
340
+ throw Error('Unsupported contract executor; EOA operation 0 required');
341
+ if (!signer || signer.address !== input.operator.toLowerCase())
342
+ throw Error('PRODUCTION_SIGNER_UNAVAILABLE');
343
+ if (s?.transactions[s.completedCount]?.state && s.transactions[s.completedCount].state !== 'claimed')
344
+ return { status: 'reconcile-required', executionId: input.executionId, planHash: ready.plan.planHash };
345
+ const unsigned = (0, execution_model_1.parseUnsigned)({ chainId: ready.plan.chainId, signer: tx.executor, nonce: (0, eoa_observation_1.rpcQuantity)(await rpc('eth_getTransactionCount', [tx.executor, 'pending'])), to: tx.to, value: tx.value, data: tx.data, operation: tx.operation, type: 0, gasLimit: (0, eoa_observation_1.rpcQuantity)(await rpc('eth_estimateGas', [{ from: tx.executor, to: tx.to, data: tx.data, value: '0x' + BigInt(tx.value).toString(16) }])), gasPrice: (0, eoa_observation_1.rpcQuantity)(await rpc('eth_gasPrice', [])), maxFeePerGas: null, maxPriorityFeePerGas: null, accessList: [] }, ready.plan, s?.completedCount ?? 0);
346
+ check();
347
+ return (0, canonicalData_1.deepFreeze)({ status: 'frozen', releaseHash: ready.releaseHash, plan: ready.plan, artifactHash: ready.artifactHash, unsigned });
348
+ }
349
+ const ethers_1 = require("ethers");
350
+ const development_1 = require("./development");
351
+ const typedValue_1 = require("../workflow/lib/typedValue");
352
+ const abi_1 = require("./abi");
353
+ function assertionValue(raw) {
354
+ const v = (0, typedValue_1.parseTypedValue)(raw);
355
+ switch (v.type) {
356
+ case 'bigint': return v.value;
357
+ case 'number': return Number(v.value);
358
+ case 'array': return v.value.map(assertionValue);
359
+ case 'object': return Object.fromEntries(Object.entries(v.value).map(([k, x]) => [k, assertionValue(x)]));
360
+ default: return v.value;
361
+ }
362
+ }
363
+ async function verifyProductionAssertions(ready, provider, priorAnchor) {
364
+ const assertions = ready.collection.verification;
365
+ if (!assertions.length)
366
+ throw Error('Production acceptance requires business assertions');
367
+ for (const binding of ready.plan.verificationBindings) {
368
+ const rows = assertions.filter(o => o.stepId === binding.stepId);
369
+ if ((0, canonicalData_1.canonicalJson)(rows.map(o => o.assertionId)) !== (0, canonicalData_1.canonicalJson)(binding.assertionIds) || (0, canonicalData_1.semanticHash)(rows) !== binding.verificationHash)
370
+ throw Error('Frozen assertion set mismatch');
371
+ }
372
+ if (ready.plan.verificationBindings.reduce((n, b) => n + b.assertionIds.length, 0) !== assertions.length)
373
+ throw Error('Incomplete production assertions');
374
+ const finalized = await provider.request('eth_getBlockByNumber', ['finalized', false]);
375
+ if (!finalized?.hash || !finalized?.number)
376
+ throw Error('Finalized business state unavailable');
377
+ const block = priorAnchor ?? finalized;
378
+ if (BigInt(block.number) > BigInt(finalized.number))
379
+ throw Error('Production acceptance anchor is not finalized');
380
+ const results = [];
381
+ for (const assertion of assertions) {
382
+ const iface = new ethers_1.Interface(assertion.abi), data = iface.encodeFunctionData(assertion.method, assertionValue(assertion.args));
383
+ const raw = await provider.request('eth_call', [{ to: assertion.address, data }, { blockHash: block.hash, requireCanonical: true }]);
384
+ if (typeof raw !== 'string')
385
+ throw Error('Invalid assertion RPC response');
386
+ const decoded = iface.decodeFunctionResult(assertion.method, raw), actual = decoded.length === 1 ? decoded[0] : decoded, comparison = (0, abi_1.compareAbiResults)(assertion.abi, assertion.method, actual, assertionValue(assertion.expected));
387
+ if (comparison.actual !== comparison.expected)
388
+ throw Error(`Production business assertion failed: ${assertion.assertionId}`);
389
+ results.push({ assertionId: assertion.assertionId, actual: (0, abi_1.normalizeRuntimeValue)(actual), expected: assertion.expected, blockHash: block.hash });
390
+ }
391
+ const end = await provider.request('eth_getBlockByNumber', [block.number, false]);
392
+ if (end?.hash !== block.hash)
393
+ throw Error('Production assertion finality changed');
394
+ return { assertions: results, anchor: { hash: block.hash, number: block.number, timestamp: end.timestamp } };
395
+ }
396
+ //# sourceMappingURL=production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.js","sourceRoot":"","sources":["../../runtime/delivery/production.ts"],"names":[],"mappings":";;;;;;AAiDA,8DAcC;AAED,8DAmEC;AAaD,sDAgDC;AAED,wDASC;AAOD,sCA6CC;AAED,sEAEC;AA+BD,4DAqCC;AAxUD,2FAA2F;AAC3F,sDAAyB;AACzB,sDAAyB;AACzB,0DAA6B;AAC7B,6CAAyC;AACzC,sDAAqE;AACrE,uCAAmD;AACnD,qCAAmD;AACnD,mDAA8C;AAC9C,yCAAgF;AAChF,iCAAoC;AACpC,iCAA2C;AAC3C,2DAAkD;AAClD,uDAAyG;AACzG,iEAAqG;AACrG,+BAAqG;AAGrG,uEAAoI;AACpI,mEAAsE;AAA7D,oIAAA,0BAA0B,OAAA;AASnC,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACxJ,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,IAAA,6BAAa,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACvD,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,6BAA6B,IAAA,iBAAM,EAAC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC;AACnG,SAAS,OAAO,CAAC,GAAsB,EAAE,OAA0B;IAC/D,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAA,2BAAW,EAAC,KAAK,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IAC/C,IAAA,iBAAM,EAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,+BAAoB,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5R,MAAM,OAAO,GAAG,IAAA,gCAAsB,EAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,KAAK,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACxH,IAAK,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAM,CAAC,UAAkB,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;QACrF,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,CAAC,MAAM;QACP,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,OAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,2BAAW,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;AAC9L,CAAC;AACD,8FAA8F;AAC9F,SAAgB,yBAAyB,CAAC,GAAsB,EAAE,UAA6B,SAAS;IACpG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,OAAO,CAAC;IACnB,MAAM,KAAK,GAAG,IAAA,2BAAS,EAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/E,IAAI,KAAK,KAAK,IAAI;QACd,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,0BAA0B,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,IAAI,IAAA,4BAAY,EAAC,IAAI,CAAC,KAAK,YAAY;QAC5K,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAA,wBAAiB,EAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QACxY,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxD,OAAO,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAAgC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,IAAA,0BAAQ,EAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/U,CAAC;AACD,wGAAwG;AACjG,KAAK,UAAU,yBAAyB,CAAC,GAAsB;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAC5B,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;QAC3B,OAAO,QAAQ,CAAC;IACpB,IAAI,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI;QAC5C,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACxE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,OAAO,GAAG,IAAA,wBAAU,GAAE,EAAE,GAAG,GAAG,iBAAE,CAAC,WAAW,CAAC,mBAAI,CAAC,IAAI,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC5I,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,IAAI,OAA0B,CAAC;IAC/B,MAAM,KAAK,GAAG,GAAG,EAAE;QAAG,IAAI,OAAO;YAC7B,MAAM,OAAO,CAAC;QAAC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAAC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW;YAC3H,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAAC,CAAC,CAAC;IACnE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,+BAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACpJ,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QAC1F,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAA,6BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAA,6BAAa,EAAC,KAAK,CAAC,SAAS,CAAC;YAC7J,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,+BAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS;YACV,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,KAAK,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACzW,KAAK,EAAE,CAAC;QACR,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI;YACrB,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,EAAE,CAAC;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QAChG,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,EAAE,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,wBAAwB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;YACjV,IAAI,IAAA,6BAAa,EAAC,MAAM,CAAC,KAAK,IAAA,6BAAa,EAAC,MAAM,CAAC;gBAC/C,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAuB,CAAC;QAC1G,KAAK,EAAE,CAAC;QACR,IAAA,2CAA6B,EAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9G,MAAM,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,KAAK,EAAE,CAAC;QACR,MAAM,IAAA,yCAAuB,EAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC3C,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,IAAA,qCAA0B,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,GAAG,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,mBAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5K,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,YAAY,IAAI,IAAA,2BAAS,EAAC,IAAI,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI;gBACtG,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC9E,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAA,2BAAS,EAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAA,2BAAS,EAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,6BAA6B,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAA,2BAAS,EAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACvT,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAA,4BAAY,EAAC,IAAI,CAAC,EAAE,CAAC;YAC7N,MAAM,KAAK,GAAG,IAAA,2BAAS,EAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC;gBAC1C,MAAM,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACvE,IAAA,wCAAsB,EAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;YACO,CAAC;QACL,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,iBAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACL,CAAC;AAKD,0GAA0G;AAC1G,SAAS,eAAe,CAAC,IAAyB;IAC9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/H,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAClG,CAAC;AACD,0FAA0F;AACnF,KAAK,UAAU,qBAAqB,CAAC,OAA8C,EAAE,GAAsB,EAAE,IAA0B,EAAE,MAG/I;IACG,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACxE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7J,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,IAAI,OAAO,KAAK,SAAS;YACrB,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACxE,IAAI,OAAO,KAAK,iBAAiB;YAC7B,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC9D,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,KAAK,GAAG,GAAG,EAAE;QAAG,KAAK,EAAE,CAAC;QAAC,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;YACnK,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC;IAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAA,4BAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;IACjP,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAA0B,IAAI,MAAM,OAAO,GAAG,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3O,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,QAA2C,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAU,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjW,MAAM,kBAAkB,GAAoC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAI,QAAqD,EAAE,IAAsB,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAChU,MAAM,MAAM,GAAG,IAAA,gCAA0B,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtI,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IACzL,KAAK,EAAE,CAAC;IACR,IAAI,OAAO,KAAK,iBAAiB;QAC7B,OAAO,sBAAsB,CAAC,KAAK,EAAE,MAAmD,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,QAAQ,IAAK,MAAc,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAChE,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,2BAAW,EAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAA,8DAAoC,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAClI,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9F,KAAK,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,MAAM,IAAA,qDAA2B,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAG,MAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;YAChO,KAAK,EAAE,CAAC;YACR,OAAO,IAAA,0BAAU,EAAC,EAAE,GAAI,MAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,KAAK,EAAE,CAAC;YACR,OAAO,IAAA,0BAAU,EAAC,EAAE,GAAI,MAAiB,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjJ,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,qCAAgD;AAChD,SAAgB,sBAAsB,CAAC,KAErC,EAAE,QAAQ,GAAG,IAAA,6BAAoB,EAAC,KAAK,CAAC,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAI,QAAQ,CAAC,KAAa,CAAC,aAAa,IAAI,EAAE,CAAC;IAC7I,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,EAAE,KAAK,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACpI,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,gDAAgD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAClV,MAAM,IAAI,GAAG,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,oBAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,qCAAqC,KAAK,CAAC,WAAW,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,mBAAmB,IAAI,YAAY,EAAE,CAAC,CAAC;IAC/N,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,sBAA+B,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnH,CAAC;AACD,yEAA0E;AAC1E,qEAAsE;AACtE,uDAAgD;AAChD,uDAAkD;AAClD,yDAA0D;AAC1D,yGAAyG;AACzG,SAAgB,aAAa,CAAC,GAAsB,EAAE,OAA0B;IAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QAC1B,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,uDAA4B,EAAC,iBAAE,CAAC,YAAY,CAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAA,mDAA0B,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3C,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAA0B;YACvE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9F,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1N,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAC9B,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,MAAM,KAAK,wBAAwB,CAAC,CAAC,CAAC,uCAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;gBAC9F,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,GAAiB,EAAE,CAAC;gBACpE,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,CAAC;oBACD,SAAS,CAAC;wBACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC5C,IAAI,IAAI;4BAAE,MAAM;wBAChB,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;wBACzB,IAAI,IAAI,GAAG,QAAQ;4BACf,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;wBAClE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACtC,MAAM,KAAK,CAAC;gBAChB,CAAC;wBAAS,CAAC;oBACP,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzB,CAAC;gBACD,qEAAqE;gBACrE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;oBAC3D,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACnD,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,YAAY,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AACD,wGAAwG;AACjG,KAAK,UAAU,6BAA6B,CAAC,GAAsB,EAAE,IAAyB;IACjG,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AACD,wFAAwF;AACxF,KAAK,UAAU,qBAAqB,CAAC,GAAsB,EAAE,IAAyB,EAAE,OAA8B;IAClH,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChI,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;QACtD,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,EAAE;QAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;YAC7J,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjE,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ;QAC/C,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;QACpC,OAAO,EAAE,MAAM,EAAE,gBAAyB,EAAE,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5E,KAAK,EAAE,CAAC;QACR,IAAI,IAAI,KAAK,IAAI;YACb,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,gBAAyB,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAA,4BAAY,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvQ,MAAM,QAAQ,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,MAA0B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACpL,MAAM,MAAM,GAAG,MAAM,IAAA,gCAA0B,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClI,KAAK,EAAE,CAAC;IACR,OAAO,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,eAAwB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACvF,CAAC;AACM,KAAK,UAAU,wBAAwB,CAAC,GAAsB,EAAE,IAAyB;IAC5F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAChE,KAAK,EAAE,CAAC;IACR,MAAM,KAAK,GAAG,IAAA,0BAAU,EAAC,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/F,KAAK,EAAE,CAAC;IACR,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;QACxB,OAAO,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,EAAE;QAAG,KAAK,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAAC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;YACzJ,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC;IAAC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,KAAK,EAAE,MAAc,EAAE,MAAiB,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClI,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvD,KAAK,EAAE,CAAC;IACR,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ;QACvC,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,MAAM,EAAE,UAAmB,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,IAAA,6BAAW,EAAC,MAAM,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO;QAChE,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjE,MAAM,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChD,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,mBAA4B,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC;QACnC,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC3E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;QAC1D,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK,SAAS;QAChG,OAAO,EAAE,MAAM,EAAE,oBAA6B,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpH,MAAM,QAAQ,GAAG,IAAA,+BAAa,EAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAA,6BAAW,EAAC,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAA,6BAAW,EAAC,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,6BAAW,EAAC,MAAM,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;IACriB,KAAK,EAAE,CAAC;IACR,OAAO,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnJ,CAAC;AACD,mCAAmC;AACnC,+CAA8D;AAC9D,2DAA6D;AAC7D,+BAAiE;AACjE,SAAS,cAAc,CAAC,GAAQ;IAAS,MAAM,CAAC,GAAG,IAAA,4BAAe,EAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;QAC9B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC;AAAC,CAAC;AACH,KAAK,UAAU,0BAA0B,CAAC,KAExC,EAAE,QAAyC,EAAE,WAA6B;IACxE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,MAAM;QAClB,MAAM,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACtE,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,IAAA,6BAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,IAAA,6BAAa,EAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAA,4BAAY,EAAC,IAAI,CAAC,KAAK,OAAO,CAAC,gBAAgB;YACtI,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,MAAM;QACpG,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAQ,MAAM,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM;QACtC,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAQ,WAAW,IAAI,SAAS,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,MAAM,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,kBAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9H,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrI,IAAI,OAAO,GAAG,KAAK,QAAQ;YACvB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,GAAG,IAAA,uBAAiB,EAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrO,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ;YACzC,MAAM,KAAK,CAAC,yCAAyC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAA,2BAAqB,EAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrJ,CAAC;IACD,MAAM,GAAG,GAAQ,MAAM,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACvF,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACzD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;AACjH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import fs from 'node:fs';
2
+ export declare function stat(file: string): fs.Stats | undefined;
3
+ export declare function confinedFile(root: string, relative: string, kind?: 'file' | 'directory'): string;
4
+ export declare function projectRoot(workspaceRoot: string, relative: string): string;
5
+ export declare function readFile(root: string, relative: string): string | undefined;
6
+ export declare function coreMarker(root: string): void;
7
+ /** Validate the same captured marker bytes whose digest is being bound. */
8
+ export declare function parseCoreMarker(bytes: string | Buffer): void;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.stat = stat;
7
+ exports.confinedFile = confinedFile;
8
+ exports.projectRoot = projectRoot;
9
+ exports.readFile = readFile;
10
+ exports.coreMarker = coreMarker;
11
+ exports.parseCoreMarker = parseCoreMarker;
12
+ // Filesystem-only project boundary helpers; safe to use before loading config tooling.
13
+ const node_fs_1 = __importDefault(require("node:fs"));
14
+ const node_path_1 = __importDefault(require("node:path"));
15
+ const protocol_1 = require("./protocol");
16
+ function stat(file) {
17
+ try {
18
+ return node_fs_1.default.lstatSync(file);
19
+ }
20
+ catch (error) {
21
+ if (error.code === 'ENOENT')
22
+ return undefined;
23
+ throw error;
24
+ }
25
+ }
26
+ function confinedFile(root, relative, kind = 'file') {
27
+ (0, protocol_1.portablePath)(relative, 'project path');
28
+ let current = root;
29
+ const parts = relative.split('/');
30
+ for (let i = 0; i < parts.length; i++) {
31
+ current = node_path_1.default.join(current, parts[i]);
32
+ const info = stat(current);
33
+ if (!info)
34
+ continue;
35
+ if (info.isSymbolicLink())
36
+ throw new Error(`Unsafe symlink: ${relative}`);
37
+ const file = i === parts.length - 1 && kind === 'file';
38
+ if (file ? !info.isFile() || info.nlink !== 1 : !info.isDirectory())
39
+ throw new Error(`Unsafe path type: ${relative}`);
40
+ }
41
+ return current;
42
+ }
43
+ function projectRoot(workspaceRoot, relative) {
44
+ if (typeof workspaceRoot !== 'string' || !node_path_1.default.isAbsolute(workspaceRoot))
45
+ throw new Error('workspaceRoot path must be absolute');
46
+ const workspace = node_fs_1.default.realpathSync(workspaceRoot);
47
+ const root = relative === '.' ? workspace : confinedFile(workspace, relative, 'directory');
48
+ if (!stat(root)?.isDirectory())
49
+ throw new Error('Project path must be an existing directory');
50
+ return root;
51
+ }
52
+ function readFile(root, relative) {
53
+ const file = confinedFile(root, relative);
54
+ return stat(file) ? node_fs_1.default.readFileSync(file, 'utf8') : undefined;
55
+ }
56
+ function coreMarker(root) {
57
+ parseCoreMarker(readFile(root, '.gate-template.json') ?? 'null');
58
+ }
59
+ /** Validate the same captured marker bytes whose digest is being bound. */
60
+ function parseCoreMarker(bytes) {
61
+ const marker = JSON.parse(bytes.toString());
62
+ if (!marker || marker.template !== 'gateflow-evm-core@1' || marker.templateVersion !== 1 || marker.profile !== 'core')
63
+ throw new Error('Unsupported core template; no legacy migration is performed');
64
+ if (marker.generator?.name !== 'gate-evm-hardhat-foundry' || typeof marker.generator?.version !== 'string'
65
+ || !/^\d+\.\d+\.\d+(?:-[\w.-]+)?$/.test(marker.generator.version)
66
+ || !marker.generation?.inputs || !marker.generation?.files || !Array.isArray(marker.generation?.preserved))
67
+ throw new Error('Invalid core generator provenance');
68
+ if (marker.generation.state !== 'complete')
69
+ throw new Error('Core generation is pending or invalid');
70
+ const inputs = (0, protocol_1.object)(marker.generation.inputs, 'core generation provenance inputs');
71
+ const files = (0, protocol_1.object)(marker.generation.files, 'core generation provenance files');
72
+ const preserved = marker.generation.preserved;
73
+ const optional = ['README.md', 'AGENTS.md', '.gitignore'];
74
+ const assets = ['package.json', 'hardhat.config.ts', 'tsconfig.json', ...optional, 'contracts/.gitkeep', 'test/.gitkeep'];
75
+ if (typeof inputs.projectName !== 'string' || !inputs.projectName || !Array.isArray(inputs.networks)
76
+ || preserved.some(file => typeof file !== 'string' || !optional.includes(file))
77
+ || new Set(preserved).size !== preserved.length
78
+ || Object.keys(files).sort().join('\n') !== assets.filter(file => !preserved.includes(file)).sort().join('\n')
79
+ || Object.values(files).some(hash => typeof hash !== 'string' || !/^[a-f0-9]{64}$/.test(hash)))
80
+ throw new Error('Invalid core generation provenance');
81
+ }
82
+ //# sourceMappingURL=project-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../runtime/delivery/project-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import ts from 'typescript';
2
+ import { type ProjectNetworkSnapshot } from './protocol';
3
+ export { stat, confinedFile, projectRoot, readFile, coreMarker } from './project-files';
4
+ export declare function parseProjectConfig(source: string): {
5
+ file: ts.SourceFile;
6
+ networks: Map<string, ts.Expression>;
7
+ fields: Map<string, ts.Expression>;
8
+ };
9
+ export declare function projectSourcesDirectory(root: string): string;
10
+ export declare function projectDefaultNetwork(root: string): string;
11
+ /** Read the project-owned definitions without evaluating the config, plugins or HRE. */
12
+ export declare function readProjectNetworkSnapshots(root: string, aliases: string[], env?: NodeJS.ProcessEnv): ProjectNetworkSnapshot[];
13
+ /** Parse one captured project definition without rereading files or evaluating plugins/HRE. */
14
+ export declare function parseProjectNetworkSnapshots(source: string, aliases: string[], env?: NodeJS.ProcessEnv): ProjectNetworkSnapshot[];
15
+ export declare function integratedConfig(source: string): string;