@hyperlane-xyz/sdk 35.1.0 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/block-explorer/utils.d.ts +8 -0
  2. package/dist/block-explorer/utils.d.ts.map +1 -1
  3. package/dist/block-explorer/utils.js +16 -3
  4. package/dist/block-explorer/utils.js.map +1 -1
  5. package/dist/ccip/consts.d.ts.map +1 -1
  6. package/dist/ccip/consts.js +0 -40
  7. package/dist/ccip/consts.js.map +1 -1
  8. package/dist/consts/multisigIsm.d.ts.map +1 -1
  9. package/dist/consts/multisigIsm.js +39 -241
  10. package/dist/consts/multisigIsm.js.map +1 -1
  11. package/dist/contracts/contracts.d.ts.map +1 -1
  12. package/dist/contracts/contracts.js +6 -1
  13. package/dist/contracts/contracts.js.map +1 -1
  14. package/dist/core/CoreDeployer.hardhat-test.js +9 -0
  15. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  16. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  17. package/dist/core/EvmCoreModule.hardhat-test.js +23 -0
  18. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  19. package/dist/core/EvmCoreModule.js +8 -5
  20. package/dist/core/EvmCoreModule.js.map +1 -1
  21. package/dist/core/EvmCoreReader.d.ts.map +1 -1
  22. package/dist/core/EvmCoreReader.js +34 -15
  23. package/dist/core/EvmCoreReader.js.map +1 -1
  24. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCoreDeployer.js +34 -13
  26. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  27. package/dist/core/TestCoreApp.d.ts +1 -1
  28. package/dist/core/contracts.d.ts +5 -2
  29. package/dist/core/contracts.d.ts.map +1 -1
  30. package/dist/core/contracts.js +4 -1
  31. package/dist/core/contracts.js.map +1 -1
  32. package/dist/core/types.d.ts +1092 -627
  33. package/dist/core/types.d.ts.map +1 -1
  34. package/dist/core/types.js +30 -2
  35. package/dist/core/types.js.map +1 -1
  36. package/dist/core/types.test.d.ts +2 -0
  37. package/dist/core/types.test.d.ts.map +1 -0
  38. package/dist/core/types.test.js +50 -0
  39. package/dist/core/types.test.js.map +1 -0
  40. package/dist/deploy/HyperlaneDeployer.d.ts +1 -0
  41. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  42. package/dist/deploy/HyperlaneDeployer.js +17 -8
  43. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  44. package/dist/deploy/proxy.d.ts.map +1 -1
  45. package/dist/deploy/proxy.js +9 -5
  46. package/dist/deploy/proxy.js.map +1 -1
  47. package/dist/deploy/warp.d.ts.map +1 -1
  48. package/dist/deploy/warp.js +5 -0
  49. package/dist/deploy/warp.js.map +1 -1
  50. package/dist/fee/EvmTokenFeeDeployer.d.ts +1 -0
  51. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
  52. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +40 -0
  53. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  54. package/dist/fee/EvmTokenFeeDeployer.js +8 -0
  55. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
  56. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  57. package/dist/fee/EvmTokenFeeReader.js +3 -13
  58. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  59. package/dist/fee/feeConfigMapping.d.ts +9 -0
  60. package/dist/fee/feeConfigMapping.d.ts.map +1 -0
  61. package/dist/fee/feeConfigMapping.js +86 -0
  62. package/dist/fee/feeConfigMapping.js.map +1 -0
  63. package/dist/fee/feeConfigMapping.test.d.ts +2 -0
  64. package/dist/fee/feeConfigMapping.test.d.ts.map +1 -0
  65. package/dist/fee/feeConfigMapping.test.js +204 -0
  66. package/dist/fee/feeConfigMapping.test.js.map +1 -0
  67. package/dist/fee/types.d.ts +185 -113
  68. package/dist/fee/types.d.ts.map +1 -1
  69. package/dist/fee/types.js +13 -11
  70. package/dist/fee/types.js.map +1 -1
  71. package/dist/fee/utils.d.ts +1 -32
  72. package/dist/fee/utils.d.ts.map +1 -1
  73. package/dist/fee/utils.js +1 -47
  74. package/dist/fee/utils.js.map +1 -1
  75. package/dist/gas/HyperlaneIgpChecker.d.ts +1 -0
  76. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  77. package/dist/gas/HyperlaneIgpChecker.js +43 -1
  78. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  79. package/dist/gas/HyperlaneIgpDeployer.d.ts +17 -0
  80. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  81. package/dist/gas/HyperlaneIgpDeployer.js +124 -4
  82. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  83. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +33 -2
  84. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  85. package/dist/gas/types.d.ts +17 -3
  86. package/dist/gas/types.d.ts.map +1 -1
  87. package/dist/gas/types.js +19 -0
  88. package/dist/gas/types.js.map +1 -1
  89. package/dist/gas/utils.d.ts +5 -1
  90. package/dist/gas/utils.d.ts.map +1 -1
  91. package/dist/gas/utils.js +92 -31
  92. package/dist/gas/utils.js.map +1 -1
  93. package/dist/gas/utils.test.d.ts +2 -0
  94. package/dist/gas/utils.test.d.ts.map +1 -0
  95. package/dist/gas/utils.test.js +132 -0
  96. package/dist/gas/utils.test.js.map +1 -0
  97. package/dist/hook/EvmHookModule.d.ts +21 -1
  98. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  99. package/dist/hook/EvmHookModule.hardhat-test.js +125 -2
  100. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  101. package/dist/hook/EvmHookModule.js +191 -17
  102. package/dist/hook/EvmHookModule.js.map +1 -1
  103. package/dist/hook/EvmHookReader.d.ts +4 -4
  104. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  105. package/dist/hook/EvmHookReader.js +67 -16
  106. package/dist/hook/EvmHookReader.js.map +1 -1
  107. package/dist/hook/EvmHookReader.test.js +128 -2
  108. package/dist/hook/EvmHookReader.test.js.map +1 -1
  109. package/dist/hook/HyperlaneHookDeployer.d.ts +10 -5
  110. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  111. package/dist/hook/types.d.ts +338 -264
  112. package/dist/hook/types.d.ts.map +1 -1
  113. package/dist/hook/types.js +30 -6
  114. package/dist/hook/types.js.map +1 -1
  115. package/dist/hook/types.test.d.ts +2 -0
  116. package/dist/hook/types.test.d.ts.map +1 -0
  117. package/dist/hook/types.test.js +184 -0
  118. package/dist/hook/types.test.js.map +1 -0
  119. package/dist/hook/utils.d.ts +1 -0
  120. package/dist/hook/utils.d.ts.map +1 -1
  121. package/dist/hook/utils.js +16 -10
  122. package/dist/hook/utils.js.map +1 -1
  123. package/dist/ica/types.d.ts +380 -188
  124. package/dist/ica/types.d.ts.map +1 -1
  125. package/dist/index.d.ts +8 -6
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +5 -3
  128. package/dist/index.js.map +1 -1
  129. package/dist/ism/EvmIsmModule.d.ts +7 -1
  130. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  131. package/dist/ism/EvmIsmModule.hardhat-test.js +4 -0
  132. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  133. package/dist/ism/EvmIsmModule.js +152 -4
  134. package/dist/ism/EvmIsmModule.js.map +1 -1
  135. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  136. package/dist/ism/EvmIsmReader.js +1 -2
  137. package/dist/ism/EvmIsmReader.js.map +1 -1
  138. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  139. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +17 -0
  140. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  141. package/dist/ism/HyperlaneIsmFactory.js +35 -9
  142. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  143. package/dist/ism/types.d.ts +88 -3
  144. package/dist/ism/types.d.ts.map +1 -1
  145. package/dist/ism/types.js +4 -0
  146. package/dist/ism/types.js.map +1 -1
  147. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  148. package/dist/metadata/ChainMetadataManager.js +2 -2
  149. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  150. package/dist/metadata/ChainMetadataManager.test.js +71 -0
  151. package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
  152. package/dist/metadata/agentConfig.d.ts +937 -168
  153. package/dist/metadata/agentConfig.d.ts.map +1 -1
  154. package/dist/metadata/agentConfig.js +68 -1
  155. package/dist/metadata/agentConfig.js.map +1 -1
  156. package/dist/metadata/agentConfig.test.js +67 -1
  157. package/dist/metadata/agentConfig.test.js.map +1 -1
  158. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  159. package/dist/middleware/account/InterchainAccount.js +10 -0
  160. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  161. package/dist/middleware/account/InterchainAccount.test.js +26 -0
  162. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  163. package/dist/providers/MultiProvider.d.ts +6 -0
  164. package/dist/providers/MultiProvider.d.ts.map +1 -1
  165. package/dist/providers/MultiProvider.js +28 -2
  166. package/dist/providers/MultiProvider.js.map +1 -1
  167. package/dist/providers/SeismicSigner.d.ts +54 -0
  168. package/dist/providers/SeismicSigner.d.ts.map +1 -0
  169. package/dist/providers/SeismicSigner.js +89 -0
  170. package/dist/providers/SeismicSigner.js.map +1 -0
  171. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  172. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +8 -0
  173. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  174. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  175. package/dist/providers/SmartProvider/SmartProvider.js +69 -23
  176. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  177. package/dist/providers/SmartProvider/SmartProvider.test.js +34 -5
  178. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  179. package/dist/providers/builders/starknet.d.ts.map +1 -1
  180. package/dist/providers/builders/starknet.js +6 -1
  181. package/dist/providers/builders/starknet.js.map +1 -1
  182. package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -1
  183. package/dist/providers/transactions/submitter/IcaTxSubmitter.js +23 -8
  184. package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -1
  185. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js +45 -0
  186. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js.map +1 -1
  187. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +1 -1
  188. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -1
  189. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +1 -1
  190. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  191. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  192. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +6 -0
  193. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  194. package/dist/providers/transactions/submitter/ethersV5/types.js +26 -5
  195. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
  196. package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -1
  197. package/dist/providers/transactions/submitter/submitterBuilderGetter.js +11 -1
  198. package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -1
  199. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts +2 -0
  200. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts.map +1 -0
  201. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js +38 -0
  202. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js.map +1 -0
  203. package/dist/router/types.d.ts +481 -236
  204. package/dist/router/types.d.ts.map +1 -1
  205. package/dist/router/types.js +1 -0
  206. package/dist/router/types.js.map +1 -1
  207. package/dist/router/types.test.d.ts +2 -0
  208. package/dist/router/types.test.d.ts.map +1 -0
  209. package/dist/router/types.test.js +32 -0
  210. package/dist/router/types.test.js.map +1 -0
  211. package/dist/test/testUtils.d.ts.map +1 -1
  212. package/dist/test/testUtils.js +3 -0
  213. package/dist/test/testUtils.js.map +1 -1
  214. package/dist/token/EvmWarpModule.d.ts +18 -1
  215. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  216. package/dist/token/EvmWarpModule.hardhat-test.js +30 -0
  217. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  218. package/dist/token/EvmWarpModule.js +67 -5
  219. package/dist/token/EvmWarpModule.js.map +1 -1
  220. package/dist/token/EvmWarpModule.test.d.ts +2 -0
  221. package/dist/token/EvmWarpModule.test.d.ts.map +1 -0
  222. package/dist/token/EvmWarpModule.test.js +77 -0
  223. package/dist/token/EvmWarpModule.test.js.map +1 -0
  224. package/dist/token/EvmWarpRouteReader.d.ts +1 -0
  225. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  226. package/dist/token/EvmWarpRouteReader.js +17 -0
  227. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  228. package/dist/token/EvmXERC20Module.d.ts +31 -26
  229. package/dist/token/EvmXERC20Module.d.ts.map +1 -1
  230. package/dist/token/EvmXERC20Module.js +46 -3
  231. package/dist/token/EvmXERC20Module.js.map +1 -1
  232. package/dist/token/EvmXERC20Module.test.js +162 -1
  233. package/dist/token/EvmXERC20Module.test.js.map +1 -1
  234. package/dist/token/EvmXERC20Reader.d.ts +17 -0
  235. package/dist/token/EvmXERC20Reader.d.ts.map +1 -1
  236. package/dist/token/EvmXERC20Reader.js +37 -1
  237. package/dist/token/EvmXERC20Reader.js.map +1 -1
  238. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts +2 -0
  239. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts.map +1 -0
  240. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js +96 -0
  241. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js.map +1 -0
  242. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  243. package/dist/token/adapters/EvmTokenAdapter.js +25 -12
  244. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  245. package/dist/token/configUtils.test.js.map +1 -1
  246. package/dist/token/deploy.d.ts +1 -0
  247. package/dist/token/deploy.d.ts.map +1 -1
  248. package/dist/token/deploy.js +13 -0
  249. package/dist/token/deploy.js.map +1 -1
  250. package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
  251. package/dist/token/tokenMetadataUtils.js +1 -0
  252. package/dist/token/tokenMetadataUtils.js.map +1 -1
  253. package/dist/token/types.d.ts +1373 -699
  254. package/dist/token/types.d.ts.map +1 -1
  255. package/dist/token/types.test.js +11 -0
  256. package/dist/token/types.test.js.map +1 -1
  257. package/dist/token/xerc20.d.ts.map +1 -1
  258. package/dist/token/xerc20.js +10 -2
  259. package/dist/token/xerc20.js.map +1 -1
  260. package/dist/token/xerc20.test.d.ts +2 -0
  261. package/dist/token/xerc20.test.d.ts.map +1 -0
  262. package/dist/token/xerc20.test.js +143 -0
  263. package/dist/token/xerc20.test.js.map +1 -0
  264. package/dist/utils/contract.d.ts +6 -0
  265. package/dist/utils/contract.d.ts.map +1 -1
  266. package/dist/utils/contract.js +11 -0
  267. package/dist/utils/contract.js.map +1 -1
  268. package/dist/utils/contract.test.js +2 -1
  269. package/dist/utils/contract.test.js.map +1 -1
  270. package/dist/utils/gas.d.ts +1 -0
  271. package/dist/utils/gas.d.ts.map +1 -1
  272. package/dist/utils/gas.js +1 -0
  273. package/dist/utils/gas.js.map +1 -1
  274. package/dist/utils/gnosisSafe.d.ts +4 -1
  275. package/dist/utils/gnosisSafe.d.ts.map +1 -1
  276. package/dist/utils/gnosisSafe.js +20 -7
  277. package/dist/utils/gnosisSafe.js.map +1 -1
  278. package/dist/utils/gnosisSafe.test.js +44 -1
  279. package/dist/utils/gnosisSafe.test.js.map +1 -1
  280. package/dist/utils/ism.d.ts.map +1 -1
  281. package/dist/utils/ism.js +4 -2
  282. package/dist/utils/ism.js.map +1 -1
  283. package/dist/warp/WarpCore.d.ts.map +1 -1
  284. package/dist/warp/WarpCore.js +4 -3
  285. package/dist/warp/WarpCore.js.map +1 -1
  286. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"EvmXERC20Module.test.js","sourceRoot":"","sources":["../../src/token/EvmXERC20Module.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAsB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,eAAe,GAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,cAAc,GAAG,4CAA4C,CAAC;AACpE,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AACxE,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AACtE,MAAM,oBAAoB,GAAG,4CAA4C,CAAC;AAC1E,MAAM,eAAe,GAAG,4CAA4C,CAAC;AACrE,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAEzE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,aAA4B,CAAC;IACjC,IAAI,OAA2B,CAAC;IAEhC,MAAM,oBAAoB,GAAG,GAAuB,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,UAAU,CAAC,QAAQ;QACzB,MAAM,EAAE;YACN,CAAC,kBAAkB,CAAC,EAAE;gBACpB,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,oBAAoB;aAC3B;YACD,CAAC,oBAAoB,CAAC,EAAE;gBACtB,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,qBAAqB;aAC5B;SACF;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,GAAuB,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE;YACN,CAAC,kBAAkB,CAAC,EAAE;gBACpB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE,qBAAqB;gBAChC,kBAAkB,EAAE,oBAAoB;aACzC;YACD,CAAC,oBAAoB,CAAC,EAAE;gBACtB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE,qBAAqB;gBAChC,kBAAkB,EAAE,oBAAoB;aACzC;SACF;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAmB,EAAE;QACnE,OAAO,IAAI,eAAe,CAAC,aAAa,EAAE;YACxC,SAAS,EAAE;gBACT,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,kBAAkB;aAC9B;YACD,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAChC,aAAa,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAyB;gBACnC,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,oBAAoB;aAC3B,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAqB;gBAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE,qBAAqB;gBAChC,kBAAkB,EAAE,oBAAoB;aACzC,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAyB;gBACnC,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,oBAAoB;aAC3B,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,MAAM,GAAqB;gBAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE,qBAAqB;gBAChC,kBAAkB,EAAE,oBAAoB;aACzC,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAEnE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO;iBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;iBAC5C,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO;iBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;iBAC5C,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;gBACjD,CAAC,kBAAkB,CAAC,EAAE;oBACpB,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,oBAAoB;iBAC3B;aACF,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO;iBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC;iBAC5C,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;gBACjD,CAAC,kBAAkB,CAAC,EAAE;oBACpB,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,CAAC,oBAAoB,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,qBAAqB;iBAC5B;aACF,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,eAAe,EAAE;wBACf,IAAI,EAAE,UAAU,CAAC,QAAQ;wBACzB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,oBAAoB;qBAC3B;iBACF;aACF,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAClE,aAAa,EACb,aAAa,CAAC,KAAK,EACnB,eAAe,EACf,kBAAkB,CACnB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,eAAe,EAAE;wBACf,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,SAAS,EAAE,qBAAqB;wBAChC,kBAAkB,EAAE,oBAAoB;qBACzC;iBACF;aACF,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAClE,aAAa,EACb,aAAa,CAAC,KAAK,EACnB,eAAe,EACf,kBAAkB,CACnB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,SAAS,EAAE,qBAAqB;gBAChC,kBAAkB,EAAE,oBAAoB;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE;oBACN,eAAe,EAAE;wBACf,IAAI,EAAE,UAAU,CAAC,QAAQ;wBACzB,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,oBAAoB;qBAC3B;oBACD,YAAY,EAAE;wBACZ;4BACE,OAAO,EAAE,oBAAoB;4BAC7B,MAAM,EAAE;gCACN,IAAI,EAAE,UAAU,CAAC,QAAQ;gCACzB,IAAI,EAAE,qBAAqB;gCAC3B,IAAI,EAAE,qBAAqB;6BAC5B;yBACF;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAC1D,aAAa,EACb,aAAa,CAAC,KAAK,EACnB,eAAe,EACf,kBAAkB,CACnB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxD,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,qBAAqB;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,OAAO;iBACxB,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC;iBACxC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAS,CAAC,CAAC;YAE1D,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,SAAS,CAAC,aAAa;gBAC7B,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE;oBACN,eAAe,EAAE;wBACf,IAAI,EAAE,UAAU,CAAC,QAAQ;wBACzB,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,GAAG;qBACV;iBACF;aACF,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAClE,aAAa,EACb,aAAa,CAAC,KAAK,EACnB,eAAe,EACf,kBAAkB,CACnB,CAAC;YAEF,MAAM,CACJ,WAAW,CAAC,UAAU,CACpB,eAAe,EACf,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAC/C,CACF,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,QAAQ,GAAG,OAAO;iBACrB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,uBAAuB,CAAC;iBACxD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAE7B,MAAM,eAAe,GAAG;gBACtB,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,KAAK,EAAE,cAAc;aACtB,CAAC;YAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAC1D,aAAa,EACb,aAAa,CAAC,KAAK,EACnB,eAAe,EACf,kBAAkB,CACnB,CAAC;YAEF,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"EvmXERC20Module.test.js","sourceRoot":"","sources":["../../src/token/EvmXERC20Module.test.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,23 @@ export declare class EvmXERC20Reader extends HyperlaneReader {
43
43
  * Note: Queries from block 0 which may be slow on chains with long histories.
44
44
  */
45
45
  readOnChainBridges(xERC20Address: Address, type: XERC20Type): Promise<Address[]>;
46
+ /**
47
+ * Read the owner of the XERC20 token contract.
48
+ * This owner controls limit/bridge management (setBufferCap, addBridge, etc.).
49
+ * Returns undefined if the XERC20 does not expose `owner()` (e.g. a
50
+ * third-party token using AccessControl instead of Ownable) so callers on the
51
+ * warp read/apply path don't break on non-Ownable tokens.
52
+ */
53
+ readOwner(xERC20Address: Address): Promise<Address | undefined>;
54
+ /**
55
+ * Read the ProxyAdmin for the XERC20 proxy and its owner.
56
+ * The ProxyAdmin owner controls upgrades. Returns undefined if the XERC20 is
57
+ * not behind a transparent proxy.
58
+ */
59
+ readProxyAdmin(xERC20Address: Address): Promise<{
60
+ address: Address;
61
+ owner: Address;
62
+ } | undefined>;
46
63
  protected toStandardLimits(limits: xERC20Limits): StandardXERC20Limits;
47
64
  protected toVeloLimits(rateLimits: RateLimitMidPoint): VeloXERC20Limits;
48
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvmXERC20Reader.d.ts","sourceRoot":"","sources":["../../src/token/EvmXERC20Reader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAgC,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE5D;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAKhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAJjD,SAAS,CAAC,MAAM,uCAAmD;IACnE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;gBAG3C,aAAa,EAAE,aAAa,EAC/C,KAAK,EAAE,aAAa;IAOhB,qBAAqB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxE;;OAEG;IACG,UAAU,CACd,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,OAAO,EAAE,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC;IA+B3B;;;;OAIG;IACG,kBAAkB,CACtB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,EAAE,CAAC;IA+DrB,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB;IAQtE,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,gBAAgB;CAOxE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAK3D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAerE"}
1
+ {"version":3,"file":"EvmXERC20Reader.d.ts","sourceRoot":"","sources":["../../src/token/EvmXERC20Reader.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EAIR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE5D;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAKhD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAJjD,SAAS,CAAC,MAAM,uCAAmD;IACnE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;gBAG3C,aAAa,EAAE,aAAa,EAC/C,KAAK,EAAE,aAAa;IAOhB,qBAAqB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAIxE;;OAEG;IACG,UAAU,CACd,aAAa,EAAE,OAAO,EACtB,OAAO,EAAE,OAAO,EAAE,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC;IA+B3B;;;;OAIG;IACG,kBAAkB,CACtB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,EAAE,CAAC;IA+DrB;;;;;;OAMG;IACG,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAgBrE;;;;OAIG;IACG,cAAc,CAClB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAiB5D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB;IAQtE,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,gBAAgB;CAOxE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAK3D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAerE"}
@@ -1,5 +1,8 @@
1
+ import { ethers } from 'ethers';
1
2
  import { parseEventLogs } from 'viem';
2
- import { normalizeAddress, rootLogger } from '@hyperlane-xyz/utils';
3
+ import { Ownable__factory, ProxyAdmin__factory } from '@hyperlane-xyz/core';
4
+ import { eqAddress, normalizeAddress, rootLogger, } from '@hyperlane-xyz/utils';
5
+ import { proxyAdmin } from '../deploy/proxy.js';
3
6
  import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
4
7
  import { HyperlaneReader } from '../utils/HyperlaneReader.js';
5
8
  import { EvmXERC20Adapter, EvmXERC20VSAdapter, } from './adapters/EvmTokenAdapter.js';
@@ -101,6 +104,39 @@ export class EvmXERC20Reader extends HyperlaneReader {
101
104
  }
102
105
  return activeBridges;
103
106
  }
107
+ /**
108
+ * Read the owner of the XERC20 token contract.
109
+ * This owner controls limit/bridge management (setBufferCap, addBridge, etc.).
110
+ * Returns undefined if the XERC20 does not expose `owner()` (e.g. a
111
+ * third-party token using AccessControl instead of Ownable) so callers on the
112
+ * warp read/apply path don't break on non-Ownable tokens.
113
+ */
114
+ async readOwner(xERC20Address) {
115
+ try {
116
+ const owner = await Ownable__factory.connect(xERC20Address, this.provider).owner();
117
+ return normalizeAddress(owner);
118
+ }
119
+ catch (error) {
120
+ this.logger.debug({ xERC20Address, error }, 'XERC20 does not expose owner(); treating owner as undefined');
121
+ return undefined;
122
+ }
123
+ }
124
+ /**
125
+ * Read the ProxyAdmin for the XERC20 proxy and its owner.
126
+ * The ProxyAdmin owner controls upgrades. Returns undefined if the XERC20 is
127
+ * not behind a transparent proxy.
128
+ */
129
+ async readProxyAdmin(xERC20Address) {
130
+ const proxyAdminAddress = await proxyAdmin(this.provider, xERC20Address);
131
+ if (eqAddress(proxyAdminAddress, ethers.constants.AddressZero)) {
132
+ return undefined;
133
+ }
134
+ const owner = await ProxyAdmin__factory.connect(proxyAdminAddress, this.provider).owner();
135
+ return {
136
+ address: normalizeAddress(proxyAdminAddress),
137
+ owner: normalizeAddress(owner),
138
+ };
139
+ }
104
140
  toStandardLimits(limits) {
105
141
  return {
106
142
  type: XERC20Type.Standard,
@@ -1 +1 @@
1
- {"version":3,"file":"EvmXERC20Reader.js","sourceRoot":"","sources":["../../src/token/EvmXERC20Reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmXERC20Reader.js","sourceRoot":"","sources":["../../src/token/EvmXERC20Reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EvmHypSyntheticAdapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmHypSyntheticAdapter.test.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmHypSyntheticAdapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ import { expect } from 'chai';
2
+ import { BigNumber, constants } from 'ethers';
3
+ import sinon from 'sinon';
4
+ import { test1, test2 } from '../../consts/testChains.js';
5
+ import { MultiProtocolProvider } from '../../providers/MultiProtocolProvider.js';
6
+ import { EvmHypSyntheticAdapter } from './EvmTokenAdapter.js';
7
+ describe('EvmHypSyntheticAdapter.quoteTransferRemoteGas', () => {
8
+ const TOKEN_ADDRESS = '0x866A2BF4E572CbcF37D5071A7a58503Bfb36be1b';
9
+ const RECIPIENT = '0x1111111111111111111111111111111111111111';
10
+ const DESTINATION_DOMAIN = test2.domainId;
11
+ const AMOUNT = 100n;
12
+ let adapter;
13
+ let sandbox;
14
+ // Stubs the versioned quoteTransferRemote(uint32,bytes32,uint256) call to return
15
+ // the provided [token, amount] tuples, mirroring TokenRouter.quoteTransferRemote:
16
+ // [0] gas payment, [1] transfer amount + internal fee, [2] external fee.
17
+ function stubRawQuotes(quotes) {
18
+ sandbox.stub(adapter, 'getContractPackageVersion').resolves('10.0.0');
19
+ const quoteFn = sandbox.stub().resolves(quotes.map(([token, amount]) => ({
20
+ 0: token,
21
+ 1: BigNumber.from(amount),
22
+ })));
23
+ // @ts-ignore inject a minimal contract stub for the unit test
24
+ adapter.contract = {
25
+ 'quoteTransferRemote(uint32,bytes32,uint256)': quoteFn,
26
+ };
27
+ }
28
+ beforeEach(() => {
29
+ sandbox = sinon.createSandbox();
30
+ const multiProvider = MultiProtocolProvider.createTestMultiProtocolProvider();
31
+ adapter = new EvmHypSyntheticAdapter(test1.name, multiProvider, {
32
+ token: TOKEN_ADDRESS,
33
+ });
34
+ });
35
+ afterEach(() => sandbox.restore());
36
+ it('does not count the bridged amount as a native fee for native routes', async () => {
37
+ // Native route: token() == address(0), so every quote is denominated in address(0).
38
+ // Regression guard: index 1 (amount + fee) must not be summed into the IGP quote.
39
+ stubRawQuotes([
40
+ [constants.AddressZero, 5n],
41
+ [constants.AddressZero, AMOUNT],
42
+ [constants.AddressZero, 0n],
43
+ ]);
44
+ const result = await adapter.quoteTransferRemoteGas({
45
+ destination: DESTINATION_DOMAIN,
46
+ recipient: RECIPIENT,
47
+ amount: AMOUNT,
48
+ });
49
+ expect(result.igpQuote.amount).to.equal(5n);
50
+ expect(result.tokenFeeQuote).to.equal(undefined);
51
+ });
52
+ it('sums native fees for native routes with internal and external fees', async () => {
53
+ stubRawQuotes([
54
+ [constants.AddressZero, 5n],
55
+ [constants.AddressZero, AMOUNT + 7n],
56
+ [constants.AddressZero, 3n],
57
+ ]);
58
+ const result = await adapter.quoteTransferRemoteGas({
59
+ destination: DESTINATION_DOMAIN,
60
+ recipient: RECIPIENT,
61
+ amount: AMOUNT,
62
+ });
63
+ expect(result.igpQuote.amount).to.equal(15n);
64
+ expect(result.tokenFeeQuote).to.equal(undefined);
65
+ });
66
+ it('returns only the native gas payment for ERC20 routes without fees', async () => {
67
+ stubRawQuotes([
68
+ [constants.AddressZero, 5n],
69
+ [TOKEN_ADDRESS, AMOUNT],
70
+ [TOKEN_ADDRESS, 0n],
71
+ ]);
72
+ const result = await adapter.quoteTransferRemoteGas({
73
+ destination: DESTINATION_DOMAIN,
74
+ recipient: RECIPIENT,
75
+ amount: AMOUNT,
76
+ });
77
+ expect(result.igpQuote.amount).to.equal(5n);
78
+ expect(result.tokenFeeQuote).to.equal(undefined);
79
+ });
80
+ it('collects ERC20 gas and fees into the tokenFeeQuote', async () => {
81
+ stubRawQuotes([
82
+ [TOKEN_ADDRESS, 5n],
83
+ [TOKEN_ADDRESS, AMOUNT + 7n],
84
+ [TOKEN_ADDRESS, 3n],
85
+ ]);
86
+ const result = await adapter.quoteTransferRemoteGas({
87
+ destination: DESTINATION_DOMAIN,
88
+ recipient: RECIPIENT,
89
+ amount: AMOUNT,
90
+ });
91
+ expect(result.igpQuote.amount).to.equal(0n);
92
+ expect(result.tokenFeeQuote?.addressOrDenom).to.equal(TOKEN_ADDRESS);
93
+ expect(result.tokenFeeQuote?.amount).to.equal(15n);
94
+ });
95
+ });
96
+ //# sourceMappingURL=EvmHypSyntheticAdapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmHypSyntheticAdapter.test.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmHypSyntheticAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenAdapter.d.ts","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
@@ -254,23 +254,36 @@ export class EvmHypSyntheticAdapter extends EvmTokenAdapter {
254
254
  assert(!isNullish(amount), 'Amount must be defined for quoteTransferRemoteGas');
255
255
  assert(recipient, 'Recipient must be defined for quoteTransferRemoteGas');
256
256
  const recipBytes32 = addressToBytes32(addressToByteHexString(recipient));
257
- const [igpQuote, ...feeQuotes] = await this.contract['quoteTransferRemote(uint32,bytes32,uint256)'](destination, recipBytes32, amount.toString());
258
- const [, igpAmount] = igpQuote;
259
- const tokenFeeQuotes = feeQuotes.map((quote) => ({
260
- addressOrDenom: quote[0],
261
- amount: BigInt(quote[1].toString()),
257
+ const rawQuotes = await this.contract['quoteTransferRemote(uint32,bytes32,uint256)'](destination, recipBytes32, amount.toString());
258
+ // Per the TokenRouter.quoteTransferRemote convention the contract returns:
259
+ // [0] gas payment (native when feeToken()==address(0), else token())
260
+ // [1] transfer amount + internal warp route fee (denominated in token())
261
+ // [2] external bridging fee (denominated in token())
262
+ // Subtract the transfer amount from index 1 so only the fee portion remains.
263
+ // This must happen before classifying quotes by denom: for native routes
264
+ // (token()==address(0)) index 1 is denominated in address(0), so leaving the
265
+ // bridged amount in would miscount it as a native fee and inflate the IGP quote.
266
+ const feeQuotes = rawQuotes.map((q, i) => ({
267
+ addressOrDenom: q[0],
268
+ amount: BigInt(q[1].toString()) - (i === 1 ? amount : 0n),
262
269
  }));
263
- // Because the amount is added on the fees, we need to subtract it from the actual fees
264
- const tokenFeeQuote = tokenFeeQuotes.length > 0
270
+ // Native fees (denom == address(0)) msg.value sent with transferRemote.
271
+ const nativeAmount = feeQuotes
272
+ .filter((q) => isZeroishAddress(q.addressOrDenom))
273
+ .reduce((sum, q) => sum + q.amount, 0n);
274
+ // ERC20 fees → must be approved before transferRemote.
275
+ const erc20Quotes = feeQuotes.filter((q) => !isZeroishAddress(q.addressOrDenom));
276
+ const erc20Denoms = new Set(erc20Quotes.map((q) => q.addressOrDenom.toLowerCase()));
277
+ assert(erc20Denoms.size <= 1, `Unexpected multi-token ERC20 fee quotes: ${[...erc20Denoms].join(', ')}`);
278
+ const tokenFeeAmount = erc20Quotes.reduce((sum, q) => sum + q.amount, 0n);
279
+ const tokenFeeQuote = tokenFeeAmount > 0n
265
280
  ? {
266
- addressOrDenom: tokenFeeQuotes[0].addressOrDenom, // the contract enforces the token address to be the same as the route
267
- amount: tokenFeeQuotes.reduce((sum, q) => sum + q.amount, 0n) - amount,
281
+ addressOrDenom: erc20Quotes[0].addressOrDenom,
282
+ amount: tokenFeeAmount,
268
283
  }
269
284
  : undefined;
270
285
  return {
271
- igpQuote: {
272
- amount: BigInt(igpAmount.toString()),
273
- },
286
+ igpQuote: { amount: nativeAmount },
274
287
  tokenFeeQuote,
275
288
  };
276
289
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvmTokenAdapter.js","sourceRoot":"","sources":["../../../src/token/adapters/EvmTokenAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,IAAI,eAAe,GAC7B,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAEL,cAAc,EACd,gBAAgB,EAGhB,2BAA2B,EAC3B,iBAAiB,EAGjB,6BAA6B,EAE7B,kCAAkC,EAClC,mBAAmB,EAGnB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EAGrB,kBAAkB,EAClB,gBAAgB,EAEhB,gCAAgC,EAChC,+BAA+B,EAC/B,8BAA8B,EAE9B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,SAAS,EAET,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,GACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAqBjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAW,EAAE,CACjD,wBAAwB,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE3D,0FAA0F;AAC1F,iGAAiG;AACjG,MAAM,CAAC,MAAM,gCAAgC,GAAG,OAAQ,CAAC;AACzD,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AAI5C,mCAAmC;AACnC,MAAM,OAAO,qBACX,SAAQ,cAAc;IAGtB,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,CACJ,WAAW,EACX,qCAAqC,qBAAqB,CAAC,IAAI,EAAE,CAClE,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAe,EACf,QAAiB,EACjB,cAAyB;QAEzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAAe,EACf,QAAiB;QAEjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAuB;QAEvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EACvB,aAAa,EACb,SAAS,GACM;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,uEAAuE;QACvE,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,qCAAqC;AACrC,MAAM,OAAO,eACX,SAAQ,qBAAqB;IAMX;IACA;IACA;IACA;IANF,QAAQ,CAAI;IAE5B,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B,EAC7B,kBAAuB,cAAc;QAErD,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAL3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAC7B,oBAAe,GAAf,eAAe,CAAsB;QAGrD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CACrC,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,OAAgB;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,KAAe;QACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,KAAc,EACd,OAAgB,EAChB,aAAwB;QAExB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,YAAY,CAAC,KAAK,CAAC,EACnB,YAAY,CAAC,OAAO,CAAC,CACtB,CAAC;QACF,OAAO,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAc,EACd,OAAgB;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,YAAY,CAAC,KAAK,CAAC,EACnB,YAAY,CAAC,OAAO,CAAC,CACtB,CAAC;QAEF,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAEQ,iBAAiB,CAAC,EACzB,aAAa,EACb,SAAS,GACM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAC9C,YAAY,CAAC,SAAS,CAAC,EACvB,aAAa,CAAC,QAAQ,EAAE,CACzB,CAAC;IACJ,CAAC;IAEQ,kBAAkB,CAAC,EAC1B,aAAa,EACb,SAAS,GACM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAC/C,YAAY,CAAC,SAAS,CAAC,EACvB,aAAa,CAAC,QAAQ,EAAE,CACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF;AAED,iEAAiE;AACjE,MAAM,OAAO,sBACX,SAAQ,eAAyB;IAUf;IACA;IACA;IACA;IAVR,uBAAuB,CAA6B;IAE9D,mBAAmB;QACjB,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAC3C,CAAC;IAED,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B,EAC7B,kBAAuB,iBAAiB;QAExD,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAL5C,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAC7B,oBAAe,GAAf,eAAe,CAAyB;IAG1D,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,KAAc,EACd,OAAgB,EAChB,aAAwB;QAExB,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,yEAAyE;YACzE,yFAAyF;YACzF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,CAAC,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,YAAY,CAAC,KAAK,CAAC,EACnB,gBAAgB,CACjB,CAAC;YACF,OAAO,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,+EAA+E;QAC/E,OAAO,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAEQ,KAAK,CAAC,wBAAwB,CACrC,KAAc,EACd,OAAgB;QAEhB,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,6EAA6E;YAC7E,gFAAgF;YAChF,2EAA2E;YAC3E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,CAAC,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YACpC,OAAO,KAAK,CAAC,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,MAAsB;QAEtB,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,+EAA+E;YAC/E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAC9C,gBAAgB,EAChB,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,OAAO,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACtC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,WAAW,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5D,8EAA8E;QAC9E,8EAA8E;QAC9E,gFAAgF;QAChF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,0BAA0B,CACxD,WAAW,EACX,gBAAgB,EAChB,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;QAC5C,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,WAAoB,EACpB,gBAAwB,EACxB,QAA6C;QAE7C,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,gFAAgF;YAChF,kEAAkE;YAClE,0EAA0E;YAC1E,IACE,KAAK,YAAY,KAAK;gBACtB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,IAAI,KAAK,gBAAgB;gBAE/B,OAAO,IAAI,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,KAAK,eAAe,CAAC,wBAAwB,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,CACrD,WAAW,EACX,QAAQ,CACT,CAAC;YACF,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC;YACxE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,8BAA8B,CAAC,OAAO,CAC5D,WAAW,EACX,QAAQ,CACT,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,0BAA0B,CACjD,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,gFAAgF;QAChF,8EAA8E;QAC9E,iFAAiF;QACjF,kFAAkF;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACnC,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,6CAA6C;QAC7C,IAAI,wBAAwB,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACtE,OAAO,MAAM,CAAC,IAAI,CAChB,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,EACnD,KAAK,CACN,CAAC;YACF,wCAAwC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,OAAO,GAAa,MAAM,OAAO,CAAC,GAAG,CACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAEtB;QACC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,2CAA2C;gBAC3C,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAC;YAChE,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAC3B,WAAW,EACX,SAAS,EACT,MAAM,GACoB;QAC1B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/D,MAAM,sBAAsB,GAAG,sBAAsB,CACnD,eAAe,EACf,0BAA0B,CAC3B,CAAC;QACF,6EAA6E;QAC7E,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACpE,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACjE,CAAC;QAED,MAAM,CACJ,CAAC,SAAS,CAAC,MAAM,CAAC,EAClB,mDAAmD,CACpD,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,sDAAsD,CAAC,CAAC;QAE1E,MAAM,YAAY,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,MAAM,SAAS,GAAoB,MAAM,IAAI,CAAC,QAAQ,CACpD,6CAA6C,CAC9C,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEhD,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,uDAAuD;QACvD,6EAA6E;QAC7E,yEAAyE;QACzE,6EAA6E;QAC7E,iFAAiF;QACjF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC,CAAC;QAEJ,0EAA0E;QAC1E,MAAM,YAAY,GAAG,SAAS;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;aACjD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE1C,uDAAuD;QACvD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,CAC3C,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;QACF,MAAM,CACJ,WAAW,CAAC,IAAI,IAAI,CAAC,EACrB,4CAA4C,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,aAAa,GACjB,cAAc,GAAG,EAAE;YACjB,CAAC,CAAC;gBACE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;gBAC7C,MAAM,EAAE,cAAc;aACvB;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;YAClC,aAAa;SACd,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC/D,OAAO,cAAc,KAAK,IAAI,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,iCAAiC,CAC/C,MAA4B,EAC5B,WAAmB;QAEnB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QACtE,MAAM,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QAE/C,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACxE,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,kFAAkF;gBAChF,0FAA0F,CAC7F,CAAC;QACJ,CAAC;QAED,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBAChD,WAAW;gBACX,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,WAAW,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IACE,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc;YAC5C,gBAAgB,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAC7D,CAAC;YACD,WAAW,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QAEzE,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,OAAO,CAC9D,uBAAuB,EACvB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,MAAM,mBAAmB,GAAG;YAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC;QAEF,OAAO,gBAAgB,CAAC,mBAAmB,CAAC,6BAA6B,CACvE,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAA4B,EAC5B,WAAW,GAAG,EAAE;QAEhB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAEtE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,aAAa;YAChB,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;gBAChD,WAAW;gBACX,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;aAC9B,CAAC,CAAC;QAEL,0BAA0B;QAC1B,WAAW,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE7C,yFAAyF;QACzF,IACE,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc;YAC5C,gBAAgB,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAC7D,CAAC;YACD,WAAW,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACtC,wCAAwC,CACzC,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE;YAC1C,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,2BACJ,SAAQ,sBAAsB;IASZ;IACA;IACA;IARF,kBAAkB,CAAc;IAC7B,mBAAmB,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,CAC1D,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;IAEF,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAG7C,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CACpD,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAES,KAAK,CAAC,uBAAuB;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAES,KAAK,CAAC,sBAAsB;QACpC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;YAC7D,KAAK,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,OAAgB;QACxC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,OAAO,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAC5C,mBAAmB,EACnB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,SAAS,CACV,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAEQ,WAAW,CAAC,KAAe;QAClC,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,KAAc,EACd,OAAgB,EAChB,aAAwB;QAExB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,IAAI,gBAAgB,GAAG,OAAO,CAAC;QAC/B,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,gBAAgB;gBAAE,gBAAgB,GAAG,gBAAgB,CAAC;QAC5D,CAAC;QACD,OAAO,mBAAmB,CAAC,iBAAiB,CAC1C,KAAK,EACL,gBAAgB,EAChB,aAAa,CACd,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,wBAAwB,CACrC,KAAc,EACd,OAAgB;QAEhB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvD,IAAI,gBAAgB,GAAG,OAAO,CAAC;QAC/B,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,gBAAgB;gBAAE,gBAAgB,GAAG,gBAAgB,CAAC;QAC5D,CAAC;QACD,OAAO,UAAU,CAAC,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,MAAsB;QAEtB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,IAAI,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC;QAC1C,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACjE,IAAI,gBAAgB;gBAAE,kBAAkB,GAAG,gBAAgB,CAAC;QAC9D,CAAC;QACD,OAAO,mBAAmB,CAAC,iBAAiB,CAAC;YAC3C,GAAG,MAAM;YACT,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC/D,OAAO,cAAc,KAAK,IAAI,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,wBAAwB,CACrC,MAA4B,EAC5B,WAAW,GAAG,EAAE;QAEhB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,KAAK,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAEQ,kBAAkB,CACzB,MAAsB;QAEtB,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,uBACX,SAAQ,2BAA2B;IAMjB;IACA;IACA;IALF,kBAAkB,CAAqB;IAEvD,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAG7C,IAAI,CAAC,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,CAC3D,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,uBAAuB;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,2BACX,SAAQ,uBAAuB;IAG/B,iBAAiB;QACf,OAAO,gCAAgC,CAAC,OAAO,CAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB;QACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAExE,OAAO,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACxC,MAAM,yBAAyB,GAC7B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE1D,uDAAuD;QACvD,2DAA2D;QAC3D,wEAAwE;QACxE,IAAI,yBAAyB,KAAK,mBAAmB,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,MAAe;QACnD,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAExD,OAAO,cAAc;aAClB,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aACvD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAe,EACf,MAAc,EACd,SAAkB,EAClB,MAAiB;QAEjB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAClD,YAAY,CAAC,MAAM,CAAC,EACpB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,6CAA6C,CAC9C,CAAC,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAE/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,CAAC;YACjD,QAAQ,EAAE;gBACR,cAAc,EACZ,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gBACvE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;aACxC;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,MAAc,EACd,MAAiB,EACjB,MAAe,EACf,MAA4B;QAE5B,kGAAkG;QAClG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EACxE,EAAE,CACH,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAC3D,MAAM,EACN,MAAM,EACN,MAAM,EACN;YACE,KAAK;SACN,CACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,2BACX,SAAQ,uBAAuB;IAG/B;;;;OAIG;IACM,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAC5C,mBAAmB,EACnB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAC3C,YAAY,EACZ,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,gCAAgC;QAChC,8FAA8F;QAC9F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEpE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,6BACX,SAAQ,2BAA2B;IAMjB;IACA;IACA;IALF,kBAAkB,CAAuB;IAEzD,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAG7C,IAAI,CAAC,kBAAkB,GAAG,6BAA6B,CAAC,OAAO,CAC7D,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,uBAAuB;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,EACrC,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,4BACX,SAAQ,6BAA6B;IAGrB,kBAAkB,CAA4B;IAE9D,YACE,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7B,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,kCAAkC,CAAC,OAAO,CAClE,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,4BACX,SAAQ,sBAAsB;IAMZ;IACA;IACA;IAHlB,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAJhD,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;IAG/C,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CACF;AAED,MAAe,uBACb,SAAQ,uBAAuB;IAMb;IACA;IACA;IALF,SAAS,CAAY;IAErC,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAG7C,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,OAAO,CACzC,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,SAAS;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,+EAA+E;QAC/E,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,MAAe,8BACb,SAAQ,uBAAuB;IAMb;IACA;IACA;IALC,gBAAgB,CAAmB;IAEtD,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAI7C,IAAI,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,CACvD,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,uBAAuB;QAC9C,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAC5C,mBAAmB,EACnB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAID,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,4CAA4C;AAC5C,MAAM,OAAO,0BAA2B,SAAQ,8BAAuC;IAC3E,aAAa,CAAC,UAAmB;QACzC,OAAO,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,4BACX,SAAQ,8BAAyC;IAGvC,aAAa,CAAC,UAAmB;QACzC,OAAO,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO;YACL,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACpE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACzD,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,sBAAsB,CAC1B,YAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,YAAY,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,qBAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CACrD,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,kBAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC1C,SAAS;YACT,kBAAkB;YAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,qCAAqC;AACrC,MAAM,OAAO,mBAAoB,SAAQ,uBAAgC;IAC7D,aAAa,CAAC,UAAkB;QACxC,OAAO,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,qBACX,SAAQ,uBAAkC;IAGhC,aAAa,CAAC,UAAkB;QACxC,OAAO,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO;YACL,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACpE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACzD,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,YAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,YAAY,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,qBAA6B;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,CACrD,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,kBAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC1C,SAAS;YACT,kBAAkB;YAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,gCAAgC;AAChC,MAAM,OAAO,mBACX,SAAQ,2BAA2B;IAG1B,KAAK,CAAC,UAAU,CAAC,OAAgB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAEjE,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAEQ,KAAK,CAAC,wBAAwB,CACrC,MAAe,EACf,QAAiB;QAEjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACM,mBAAmB,CAC1B,MAAc,EACd,MAAiB,EACjB,MAAe,EACf,MAA4B;QAE5B,kGAAkG;QAClG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QACxE,+GAA+G;QAC/G,MAAM,CAAC,MAAM,CAAC,CACf,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAC3D,MAAM,EACN,MAAM,EACN,MAAM,EACN;YACE,KAAK;SACN,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,EAC7B,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,GACU;QACrB,4EAA4E;QAC5E,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,iCAAiC,CAC3C,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,EACrE,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,wBAAwB,CACnC,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,EACxD,WAAW,CACZ,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAAC,OAE/B;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CACjD,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,OAAO,EAAE,QAAQ,CAClB,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,gBACX,SAAQ,eAAe;IAML;IACA;IACA;IALlB,MAAM,CAAU;IAEhB,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAI7C,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAEvE,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAe,EACf,IAAY,EACZ,IAAY;QAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAC9C,YAAY,CAAC,MAAM,CAAC,EACpB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,QAAQ,EAAE,CAChB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,kBACX,SAAQ,eAAe;IAML;IACA;IACA;IALlB,QAAQ,CAAY;IAEpB,YACkB,SAAoB,EACpB,aAAmC,EACnC,SAA6B;QAE7C,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAsB;QACnC,cAAS,GAAT,SAAS,CAAoB;QAI7C,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CACxC,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAe;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAsB;YACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAChE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9C,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACrD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC7C,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,sBAAsB,CAAC,MAAe;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAe,EACf,YAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CACnD,YAAY,CAAC,MAAM,CAAC,EACpB,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,MAAe,EACf,qBAA6B;QAE7B,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAC5D,YAAY,CAAC,MAAM,CAAC,EACpB,qBAAqB,CAAC,QAAQ,EAAE,CACjC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,kBAA0B,EAC1B,MAAe;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACjD,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;CACF"}