@akashnetwork/chain-sdk 1.0.0-alpha.31 → 1.0.0-alpha.33

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 (984) hide show
  1. package/dist/cjs/generated/protos/akash/audit/v1/audit.cjs.map +1 -1
  2. package/dist/cjs/generated/protos/akash/audit/v1/event.cjs.map +1 -1
  3. package/dist/cjs/generated/protos/akash/audit/v1/genesis.cjs.map +1 -1
  4. package/dist/cjs/generated/protos/akash/audit/v1/msg.cjs.map +1 -1
  5. package/dist/cjs/generated/protos/akash/audit/v1/query.cjs.map +1 -1
  6. package/dist/cjs/generated/protos/akash/audit/v1/service.cjs.map +1 -1
  7. package/dist/cjs/generated/protos/akash/base/attributes/v1/attribute.cjs.map +1 -1
  8. package/dist/cjs/generated/protos/akash/base/deposit/v1/deposit.cjs.map +1 -1
  9. package/dist/cjs/generated/protos/akash/base/offchain/sign/v1/sign.cjs.map +2 -2
  10. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/cpu.cjs.map +1 -1
  11. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/endpoint.cjs.map +1 -1
  12. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/gpu.cjs.map +1 -1
  13. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/memory.cjs.map +1 -1
  14. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/resources.cjs.map +1 -1
  15. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/resourcevalue.cjs.map +2 -2
  16. package/dist/cjs/generated/protos/akash/base/resources/v1beta4/storage.cjs.map +1 -1
  17. package/dist/cjs/generated/protos/akash/bme/v1/events.cjs.map +1 -1
  18. package/dist/cjs/generated/protos/akash/bme/v1/filters.cjs.map +1 -1
  19. package/dist/cjs/generated/protos/akash/bme/v1/genesis.cjs.map +1 -1
  20. package/dist/cjs/generated/protos/akash/bme/v1/msgs.cjs.map +1 -1
  21. package/dist/cjs/generated/protos/akash/bme/v1/params.cjs.map +1 -1
  22. package/dist/cjs/generated/protos/akash/bme/v1/query.cjs.map +1 -1
  23. package/dist/cjs/generated/protos/akash/bme/v1/service.cjs.map +1 -1
  24. package/dist/cjs/generated/protos/akash/bme/v1/types.cjs.map +1 -1
  25. package/dist/cjs/generated/protos/akash/cert/v1/cert.cjs.map +2 -2
  26. package/dist/cjs/generated/protos/akash/cert/v1/filters.cjs.map +1 -1
  27. package/dist/cjs/generated/protos/akash/cert/v1/genesis.cjs.map +1 -1
  28. package/dist/cjs/generated/protos/akash/cert/v1/msg.cjs.map +2 -2
  29. package/dist/cjs/generated/protos/akash/cert/v1/query.cjs.map +1 -1
  30. package/dist/cjs/generated/protos/akash/cert/v1/service.cjs.map +1 -1
  31. package/dist/cjs/generated/protos/akash/deployment/v1/deployment.cjs.map +2 -2
  32. package/dist/cjs/generated/protos/akash/deployment/v1/event.cjs.map +2 -2
  33. package/dist/cjs/generated/protos/akash/deployment/v1/group.cjs.map +1 -1
  34. package/dist/cjs/generated/protos/akash/deployment/v1beta4/deploymentmsg.cjs.map +2 -2
  35. package/dist/cjs/generated/protos/akash/deployment/v1beta4/filters.cjs.map +1 -1
  36. package/dist/cjs/generated/protos/akash/deployment/v1beta4/genesis.cjs.map +1 -1
  37. package/dist/cjs/generated/protos/akash/deployment/v1beta4/group.cjs.map +1 -1
  38. package/dist/cjs/generated/protos/akash/deployment/v1beta4/groupmsg.cjs.map +1 -1
  39. package/dist/cjs/generated/protos/akash/deployment/v1beta4/groupspec.cjs.map +1 -1
  40. package/dist/cjs/generated/protos/akash/deployment/v1beta4/params.cjs.map +1 -1
  41. package/dist/cjs/generated/protos/akash/deployment/v1beta4/paramsmsg.cjs.map +1 -1
  42. package/dist/cjs/generated/protos/akash/deployment/v1beta4/query.cjs.map +1 -1
  43. package/dist/cjs/generated/protos/akash/deployment/v1beta4/resourceunit.cjs.map +1 -1
  44. package/dist/cjs/generated/protos/akash/deployment/v1beta4/service.cjs.map +1 -1
  45. package/dist/cjs/generated/protos/akash/discovery/v1/akash.cjs.map +1 -1
  46. package/dist/cjs/generated/protos/akash/discovery/v1/client_info.cjs.map +1 -1
  47. package/dist/cjs/generated/protos/akash/discovery/v1/service.cjs.map +1 -1
  48. package/dist/cjs/generated/protos/akash/downtimedetector/v1beta1/downtime_duration.cjs.map +1 -1
  49. package/dist/cjs/generated/protos/akash/downtimedetector/v1beta1/genesis.cjs.map +1 -1
  50. package/dist/cjs/generated/protos/akash/downtimedetector/v1beta1/query.cjs.map +1 -1
  51. package/dist/cjs/generated/protos/akash/epochs/v1beta1/events.cjs.map +1 -1
  52. package/dist/cjs/generated/protos/akash/epochs/v1beta1/genesis.cjs.map +1 -1
  53. package/dist/cjs/generated/protos/akash/epochs/v1beta1/query.cjs.map +1 -1
  54. package/dist/cjs/generated/protos/akash/escrow/id/v1/id.cjs.map +1 -1
  55. package/dist/cjs/generated/protos/akash/escrow/types/v1/account.cjs.map +1 -1
  56. package/dist/cjs/generated/protos/akash/escrow/types/v1/balance.cjs.map +1 -1
  57. package/dist/cjs/generated/protos/akash/escrow/types/v1/deposit.cjs.map +1 -1
  58. package/dist/cjs/generated/protos/akash/escrow/types/v1/payment.cjs.map +1 -1
  59. package/dist/cjs/generated/protos/akash/escrow/types/v1/state.cjs.map +1 -1
  60. package/dist/cjs/generated/protos/akash/escrow/v1/authz.cjs.map +1 -1
  61. package/dist/cjs/generated/protos/akash/escrow/v1/genesis.cjs.map +1 -1
  62. package/dist/cjs/generated/protos/akash/escrow/v1/msg.cjs.map +1 -1
  63. package/dist/cjs/generated/protos/akash/escrow/v1/query.cjs.map +1 -1
  64. package/dist/cjs/generated/protos/akash/escrow/v1/service.cjs.map +1 -1
  65. package/dist/cjs/generated/protos/akash/inventory/v1/cluster.cjs.map +1 -1
  66. package/dist/cjs/generated/protos/akash/inventory/v1/cpu.cjs.map +1 -1
  67. package/dist/cjs/generated/protos/akash/inventory/v1/gpu.cjs.map +1 -1
  68. package/dist/cjs/generated/protos/akash/inventory/v1/memory.cjs.map +1 -1
  69. package/dist/cjs/generated/protos/akash/inventory/v1/node.cjs.map +1 -1
  70. package/dist/cjs/generated/protos/akash/inventory/v1/resourcepair.cjs.map +1 -1
  71. package/dist/cjs/generated/protos/akash/inventory/v1/resources.cjs.map +1 -1
  72. package/dist/cjs/generated/protos/akash/inventory/v1/service.cjs.map +1 -1
  73. package/dist/cjs/generated/protos/akash/inventory/v1/storage.cjs.map +1 -1
  74. package/dist/cjs/generated/protos/akash/manifest/v2beta3/group.cjs.map +1 -1
  75. package/dist/cjs/generated/protos/akash/manifest/v2beta3/httpoptions.cjs.map +1 -1
  76. package/dist/cjs/generated/protos/akash/manifest/v2beta3/service.cjs.map +1 -1
  77. package/dist/cjs/generated/protos/akash/manifest/v2beta3/serviceexpose.cjs.map +1 -1
  78. package/dist/cjs/generated/protos/akash/market/v1/bid.cjs.map +1 -1
  79. package/dist/cjs/generated/protos/akash/market/v1/event.cjs.map +1 -1
  80. package/dist/cjs/generated/protos/akash/market/v1/filters.cjs.map +1 -1
  81. package/dist/cjs/generated/protos/akash/market/v1/lease.cjs.map +1 -1
  82. package/dist/cjs/generated/protos/akash/market/v1/order.cjs.map +1 -1
  83. package/dist/cjs/generated/protos/akash/market/v1/reclamation.cjs.map +1 -1
  84. package/dist/cjs/generated/protos/akash/market/v1/types.cjs.map +1 -1
  85. package/dist/cjs/generated/protos/akash/market/v1beta5/bid.cjs.map +1 -1
  86. package/dist/cjs/generated/protos/akash/market/v1beta5/bidmsg.cjs.map +1 -1
  87. package/dist/cjs/generated/protos/akash/market/v1beta5/filters.cjs.map +1 -1
  88. package/dist/cjs/generated/protos/akash/market/v1beta5/genesis.cjs.map +1 -1
  89. package/dist/cjs/generated/protos/akash/market/v1beta5/leasemsg.cjs.map +1 -1
  90. package/dist/cjs/generated/protos/akash/market/v1beta5/order.cjs.map +1 -1
  91. package/dist/cjs/generated/protos/akash/market/v1beta5/params.cjs.map +1 -1
  92. package/dist/cjs/generated/protos/akash/market/v1beta5/paramsmsg.cjs.map +1 -1
  93. package/dist/cjs/generated/protos/akash/market/v1beta5/query.cjs.map +1 -1
  94. package/dist/cjs/generated/protos/akash/market/v1beta5/resourcesoffer.cjs.map +1 -1
  95. package/dist/cjs/generated/protos/akash/market/v1beta5/service.cjs.map +1 -1
  96. package/dist/cjs/generated/protos/akash/oracle/v1/events.cjs.map +1 -1
  97. package/dist/cjs/generated/protos/akash/oracle/v1/genesis.cjs.map +1 -1
  98. package/dist/cjs/generated/protos/akash/oracle/v1/msgs.cjs.map +1 -1
  99. package/dist/cjs/generated/protos/akash/oracle/v1/params.cjs.map +1 -1
  100. package/dist/cjs/generated/protos/akash/oracle/v1/prices.cjs.map +1 -1
  101. package/dist/cjs/generated/protos/akash/oracle/v1/query.cjs.map +1 -1
  102. package/dist/cjs/generated/protos/akash/oracle/v1/service.cjs.map +1 -1
  103. package/dist/cjs/generated/protos/akash/oracle/v2/events.cjs.map +1 -1
  104. package/dist/cjs/generated/protos/akash/oracle/v2/genesis.cjs.map +1 -1
  105. package/dist/cjs/generated/protos/akash/oracle/v2/msgs.cjs.map +1 -1
  106. package/dist/cjs/generated/protos/akash/oracle/v2/params.cjs.map +1 -1
  107. package/dist/cjs/generated/protos/akash/oracle/v2/prices.cjs.map +1 -1
  108. package/dist/cjs/generated/protos/akash/oracle/v2/query.cjs.map +1 -1
  109. package/dist/cjs/generated/protos/akash/oracle/v2/service.cjs.map +1 -1
  110. package/dist/cjs/generated/protos/akash/provider/lease/v1/service.cjs.map +2 -2
  111. package/dist/cjs/generated/protos/akash/provider/v1/service.cjs.map +1 -1
  112. package/dist/cjs/generated/protos/akash/provider/v1/status.cjs +36 -14
  113. package/dist/cjs/generated/protos/akash/provider/v1/status.cjs.map +2 -2
  114. package/dist/cjs/generated/protos/akash/provider/v1/validation.cjs.map +1 -1
  115. package/dist/cjs/generated/protos/akash/provider/v1beta4/event.cjs.map +1 -1
  116. package/dist/cjs/generated/protos/akash/provider/v1beta4/genesis.cjs.map +1 -1
  117. package/dist/cjs/generated/protos/akash/provider/v1beta4/msg.cjs.map +1 -1
  118. package/dist/cjs/generated/protos/akash/provider/v1beta4/provider.cjs.map +1 -1
  119. package/dist/cjs/generated/protos/akash/provider/v1beta4/query.cjs.map +1 -1
  120. package/dist/cjs/generated/protos/akash/provider/v1beta4/service.cjs.map +1 -1
  121. package/dist/cjs/generated/protos/akash/take/v1/genesis.cjs.map +1 -1
  122. package/dist/cjs/generated/protos/akash/take/v1/params.cjs.map +1 -1
  123. package/dist/cjs/generated/protos/akash/take/v1/paramsmsg.cjs.map +1 -1
  124. package/dist/cjs/generated/protos/akash/take/v1/query.cjs.map +1 -1
  125. package/dist/cjs/generated/protos/akash/take/v1/service.cjs.map +1 -1
  126. package/dist/cjs/generated/protos/akash/wasm/v1/event.cjs.map +1 -1
  127. package/dist/cjs/generated/protos/akash/wasm/v1/genesis.cjs.map +1 -1
  128. package/dist/cjs/generated/protos/akash/wasm/v1/params.cjs.map +1 -1
  129. package/dist/cjs/generated/protos/akash/wasm/v1/paramsmsg.cjs.map +1 -1
  130. package/dist/cjs/generated/protos/akash/wasm/v1/query.cjs.map +1 -1
  131. package/dist/cjs/generated/protos/akash/wasm/v1/service.cjs.map +1 -1
  132. package/dist/cjs/generated/protos/amino/amino.cjs.map +1 -1
  133. package/dist/cjs/generated/protos/cosmos/app/runtime/v1alpha1/module.cjs.map +1 -1
  134. package/dist/cjs/generated/protos/cosmos/app/v1alpha1/config.cjs.map +1 -1
  135. package/dist/cjs/generated/protos/cosmos/app/v1alpha1/module.cjs.map +1 -1
  136. package/dist/cjs/generated/protos/cosmos/app/v1alpha1/query.cjs.map +1 -1
  137. package/dist/cjs/generated/protos/cosmos/auth/module/v1/module.cjs.map +1 -1
  138. package/dist/cjs/generated/protos/cosmos/auth/v1beta1/auth.cjs.map +2 -2
  139. package/dist/cjs/generated/protos/cosmos/auth/v1beta1/genesis.cjs.map +1 -1
  140. package/dist/cjs/generated/protos/cosmos/auth/v1beta1/query.cjs.map +2 -2
  141. package/dist/cjs/generated/protos/cosmos/auth/v1beta1/tx.cjs.map +1 -1
  142. package/dist/cjs/generated/protos/cosmos/authz/module/v1/module.cjs.map +1 -1
  143. package/dist/cjs/generated/protos/cosmos/authz/v1beta1/authz.cjs.map +1 -1
  144. package/dist/cjs/generated/protos/cosmos/authz/v1beta1/event.cjs.map +1 -1
  145. package/dist/cjs/generated/protos/cosmos/authz/v1beta1/genesis.cjs.map +1 -1
  146. package/dist/cjs/generated/protos/cosmos/authz/v1beta1/query.cjs.map +1 -1
  147. package/dist/cjs/generated/protos/cosmos/authz/v1beta1/tx.cjs.map +2 -2
  148. package/dist/cjs/generated/protos/cosmos/autocli/v1/options.cjs +19 -19
  149. package/dist/cjs/generated/protos/cosmos/autocli/v1/options.cjs.map +2 -2
  150. package/dist/cjs/generated/protos/cosmos/autocli/v1/query.cjs +10 -7
  151. package/dist/cjs/generated/protos/cosmos/autocli/v1/query.cjs.map +2 -2
  152. package/dist/cjs/generated/protos/cosmos/bank/module/v1/module.cjs.map +1 -1
  153. package/dist/cjs/generated/protos/cosmos/bank/v1beta1/authz.cjs.map +1 -1
  154. package/dist/cjs/generated/protos/cosmos/bank/v1beta1/bank.cjs.map +1 -1
  155. package/dist/cjs/generated/protos/cosmos/bank/v1beta1/genesis.cjs.map +1 -1
  156. package/dist/cjs/generated/protos/cosmos/bank/v1beta1/query.cjs.map +1 -1
  157. package/dist/cjs/generated/protos/cosmos/bank/v1beta1/tx.cjs.map +1 -1
  158. package/dist/cjs/generated/protos/cosmos/base/abci/v1beta1/abci.cjs.map +2 -2
  159. package/dist/cjs/generated/protos/cosmos/base/node/v1beta1/query.cjs.map +2 -2
  160. package/dist/cjs/generated/protos/cosmos/base/query/v1beta1/pagination.cjs.map +2 -2
  161. package/dist/cjs/generated/protos/cosmos/base/reflection/v1beta1/reflection.cjs.map +1 -1
  162. package/dist/cjs/generated/protos/cosmos/base/reflection/v2alpha1/reflection.cjs.map +1 -1
  163. package/dist/cjs/generated/protos/cosmos/base/tendermint/v1beta1/query.cjs.map +2 -2
  164. package/dist/cjs/generated/protos/cosmos/base/tendermint/v1beta1/types.cjs.map +2 -2
  165. package/dist/cjs/generated/protos/cosmos/base/v1beta1/coin.cjs.map +1 -1
  166. package/dist/cjs/generated/protos/cosmos/benchmark/module/v1/module.cjs.map +1 -1
  167. package/dist/cjs/generated/protos/cosmos/benchmark/v1/benchmark.cjs.map +1 -1
  168. package/dist/cjs/generated/protos/cosmos/benchmark/v1/tx.cjs.map +2 -2
  169. package/dist/cjs/generated/protos/cosmos/circuit/module/v1/module.cjs.map +1 -1
  170. package/dist/cjs/generated/protos/cosmos/circuit/v1/query.cjs.map +1 -1
  171. package/dist/cjs/generated/protos/cosmos/circuit/v1/tx.cjs.map +1 -1
  172. package/dist/cjs/generated/protos/cosmos/circuit/v1/types.cjs.map +1 -1
  173. package/dist/cjs/generated/protos/cosmos/consensus/module/v1/module.cjs.map +1 -1
  174. package/dist/cjs/generated/protos/cosmos/consensus/v1/query.cjs.map +1 -1
  175. package/dist/cjs/generated/protos/cosmos/consensus/v1/tx.cjs.map +1 -1
  176. package/dist/cjs/generated/protos/cosmos/counter/module/v1/module.cjs.map +1 -1
  177. package/dist/cjs/generated/protos/cosmos/counter/v1/query.cjs.map +1 -1
  178. package/dist/cjs/generated/protos/cosmos/counter/v1/tx.cjs.map +1 -1
  179. package/dist/cjs/generated/protos/cosmos/crisis/module/v1/module.cjs.map +1 -1
  180. package/dist/cjs/generated/protos/cosmos/crisis/v1beta1/genesis.cjs.map +1 -1
  181. package/dist/cjs/generated/protos/cosmos/crisis/v1beta1/tx.cjs.map +1 -1
  182. package/dist/cjs/generated/protos/cosmos/crypto/ed25519/keys.cjs.map +2 -2
  183. package/dist/cjs/generated/protos/cosmos/crypto/hd/v1/hd.cjs.map +1 -1
  184. package/dist/cjs/generated/protos/cosmos/crypto/keyring/v1/record.cjs.map +1 -1
  185. package/dist/cjs/generated/protos/cosmos/crypto/multisig/keys.cjs.map +1 -1
  186. package/dist/cjs/generated/protos/cosmos/crypto/multisig/v1beta1/multisig.cjs.map +2 -2
  187. package/dist/cjs/generated/protos/cosmos/crypto/secp256k1/keys.cjs.map +2 -2
  188. package/dist/cjs/generated/protos/cosmos/crypto/secp256r1/keys.cjs.map +2 -2
  189. package/dist/cjs/generated/protos/cosmos/distribution/module/v1/module.cjs.map +1 -1
  190. package/dist/cjs/generated/protos/cosmos/distribution/v1beta1/distribution.cjs.map +1 -1
  191. package/dist/cjs/generated/protos/cosmos/distribution/v1beta1/genesis.cjs.map +1 -1
  192. package/dist/cjs/generated/protos/cosmos/distribution/v1beta1/query.cjs.map +1 -1
  193. package/dist/cjs/generated/protos/cosmos/distribution/v1beta1/tx.cjs.map +1 -1
  194. package/dist/cjs/generated/protos/cosmos/epochs/module/v1/module.cjs.map +1 -1
  195. package/dist/cjs/generated/protos/cosmos/epochs/v1beta1/events.cjs.map +1 -1
  196. package/dist/cjs/generated/protos/cosmos/epochs/v1beta1/genesis.cjs.map +1 -1
  197. package/dist/cjs/generated/protos/cosmos/epochs/v1beta1/query.cjs.map +1 -1
  198. package/dist/cjs/generated/protos/cosmos/evidence/module/v1/module.cjs.map +1 -1
  199. package/dist/cjs/generated/protos/cosmos/evidence/v1beta1/evidence.cjs.map +1 -1
  200. package/dist/cjs/generated/protos/cosmos/evidence/v1beta1/genesis.cjs.map +1 -1
  201. package/dist/cjs/generated/protos/cosmos/evidence/v1beta1/query.cjs.map +2 -2
  202. package/dist/cjs/generated/protos/cosmos/evidence/v1beta1/tx.cjs.map +2 -2
  203. package/dist/cjs/generated/protos/cosmos/feegrant/module/v1/module.cjs.map +1 -1
  204. package/dist/cjs/generated/protos/cosmos/feegrant/v1beta1/feegrant.cjs.map +1 -1
  205. package/dist/cjs/generated/protos/cosmos/feegrant/v1beta1/genesis.cjs.map +1 -1
  206. package/dist/cjs/generated/protos/cosmos/feegrant/v1beta1/query.cjs.map +1 -1
  207. package/dist/cjs/generated/protos/cosmos/feegrant/v1beta1/tx.cjs.map +1 -1
  208. package/dist/cjs/generated/protos/cosmos/genutil/module/v1/module.cjs.map +1 -1
  209. package/dist/cjs/generated/protos/cosmos/genutil/v1beta1/genesis.cjs.map +2 -2
  210. package/dist/cjs/generated/protos/cosmos/gov/module/v1/module.cjs.map +1 -1
  211. package/dist/cjs/generated/protos/cosmos/gov/v1/genesis.cjs.map +1 -1
  212. package/dist/cjs/generated/protos/cosmos/gov/v1/gov.cjs.map +1 -1
  213. package/dist/cjs/generated/protos/cosmos/gov/v1/query.cjs.map +1 -1
  214. package/dist/cjs/generated/protos/cosmos/gov/v1/tx.cjs.map +1 -1
  215. package/dist/cjs/generated/protos/cosmos/gov/v1beta1/genesis.cjs.map +1 -1
  216. package/dist/cjs/generated/protos/cosmos/gov/v1beta1/gov.cjs.map +2 -2
  217. package/dist/cjs/generated/protos/cosmos/gov/v1beta1/query.cjs.map +1 -1
  218. package/dist/cjs/generated/protos/cosmos/gov/v1beta1/tx.cjs.map +1 -1
  219. package/dist/cjs/generated/protos/cosmos/group/module/v1/module.cjs.map +1 -1
  220. package/dist/cjs/generated/protos/cosmos/group/v1/events.cjs.map +1 -1
  221. package/dist/cjs/generated/protos/cosmos/group/v1/genesis.cjs.map +1 -1
  222. package/dist/cjs/generated/protos/cosmos/group/v1/query.cjs.map +1 -1
  223. package/dist/cjs/generated/protos/cosmos/group/v1/tx.cjs.map +1 -1
  224. package/dist/cjs/generated/protos/cosmos/group/v1/types.cjs.map +1 -1
  225. package/dist/cjs/generated/protos/cosmos/ics23/v1/proofs.cjs.map +2 -2
  226. package/dist/cjs/generated/protos/cosmos/mint/module/v1/module.cjs.map +1 -1
  227. package/dist/cjs/generated/protos/cosmos/mint/v1beta1/genesis.cjs.map +1 -1
  228. package/dist/cjs/generated/protos/cosmos/mint/v1beta1/mint.cjs.map +1 -1
  229. package/dist/cjs/generated/protos/cosmos/mint/v1beta1/query.cjs.map +2 -2
  230. package/dist/cjs/generated/protos/cosmos/mint/v1beta1/tx.cjs.map +1 -1
  231. package/dist/cjs/generated/protos/cosmos/msg/textual/v1/textual.cjs.map +1 -1
  232. package/dist/cjs/generated/protos/cosmos/msg/v1/msg.cjs.map +1 -1
  233. package/dist/cjs/generated/protos/cosmos/nft/module/v1/module.cjs.map +1 -1
  234. package/dist/cjs/generated/protos/cosmos/nft/v1beta1/event.cjs.map +1 -1
  235. package/dist/cjs/generated/protos/cosmos/nft/v1beta1/genesis.cjs.map +1 -1
  236. package/dist/cjs/generated/protos/cosmos/nft/v1beta1/nft.cjs.map +1 -1
  237. package/dist/cjs/generated/protos/cosmos/nft/v1beta1/query.cjs.map +1 -1
  238. package/dist/cjs/generated/protos/cosmos/nft/v1beta1/tx.cjs.map +1 -1
  239. package/dist/cjs/generated/protos/cosmos/params/module/v1/module.cjs.map +1 -1
  240. package/dist/cjs/generated/protos/cosmos/params/v1beta1/params.cjs.map +1 -1
  241. package/dist/cjs/generated/protos/cosmos/params/v1beta1/query.cjs.map +1 -1
  242. package/dist/cjs/generated/protos/cosmos/protocolpool/module/v1/module.cjs.map +1 -1
  243. package/dist/cjs/generated/protos/cosmos/protocolpool/v1/genesis.cjs.map +1 -1
  244. package/dist/cjs/generated/protos/cosmos/protocolpool/v1/query.cjs.map +1 -1
  245. package/dist/cjs/generated/protos/cosmos/protocolpool/v1/tx.cjs.map +1 -1
  246. package/dist/cjs/generated/protos/cosmos/protocolpool/v1/types.cjs.map +1 -1
  247. package/dist/cjs/generated/protos/cosmos/query/v1/query.cjs.map +1 -1
  248. package/dist/cjs/generated/protos/cosmos/reflection/v1/reflection.cjs.map +1 -1
  249. package/dist/cjs/generated/protos/cosmos/slashing/module/v1/module.cjs.map +1 -1
  250. package/dist/cjs/generated/protos/cosmos/slashing/v1beta1/genesis.cjs.map +1 -1
  251. package/dist/cjs/generated/protos/cosmos/slashing/v1beta1/query.cjs.map +1 -1
  252. package/dist/cjs/generated/protos/cosmos/slashing/v1beta1/slashing.cjs.map +2 -2
  253. package/dist/cjs/generated/protos/cosmos/slashing/v1beta1/tx.cjs.map +1 -1
  254. package/dist/cjs/generated/protos/cosmos/staking/module/v1/module.cjs.map +1 -1
  255. package/dist/cjs/generated/protos/cosmos/staking/v1beta1/authz.cjs.map +1 -1
  256. package/dist/cjs/generated/protos/cosmos/staking/v1beta1/genesis.cjs.map +2 -2
  257. package/dist/cjs/generated/protos/cosmos/staking/v1beta1/query.cjs.map +1 -1
  258. package/dist/cjs/generated/protos/cosmos/staking/v1beta1/staking.cjs.map +1 -1
  259. package/dist/cjs/generated/protos/cosmos/staking/v1beta1/tx.cjs.map +1 -1
  260. package/dist/cjs/generated/protos/cosmos/store/internal/kv/v1beta1/kv.cjs.map +2 -2
  261. package/dist/cjs/generated/protos/cosmos/store/snapshots/v1/snapshot.cjs.map +2 -2
  262. package/dist/cjs/generated/protos/cosmos/store/streaming/abci/grpc.cjs.map +1 -1
  263. package/dist/cjs/generated/protos/cosmos/store/v1beta1/commit_info.cjs.map +2 -2
  264. package/dist/cjs/generated/protos/cosmos/store/v1beta1/listening.cjs.map +2 -2
  265. package/dist/cjs/generated/protos/cosmos/tx/config/v1/config.cjs.map +1 -1
  266. package/dist/cjs/generated/protos/cosmos/tx/signing/v1beta1/signing.cjs.map +2 -2
  267. package/dist/cjs/generated/protos/cosmos/tx/v1beta1/service.cjs.map +2 -2
  268. package/dist/cjs/generated/protos/cosmos/tx/v1beta1/tx.cjs.map +2 -2
  269. package/dist/cjs/generated/protos/cosmos/upgrade/module/v1/module.cjs.map +1 -1
  270. package/dist/cjs/generated/protos/cosmos/upgrade/v1beta1/query.cjs.map +2 -2
  271. package/dist/cjs/generated/protos/cosmos/upgrade/v1beta1/tx.cjs.map +1 -1
  272. package/dist/cjs/generated/protos/cosmos/upgrade/v1beta1/upgrade.cjs.map +1 -1
  273. package/dist/cjs/generated/protos/cosmos/vesting/module/v1/module.cjs.map +1 -1
  274. package/dist/cjs/generated/protos/cosmos/vesting/v1beta1/tx.cjs.map +1 -1
  275. package/dist/cjs/generated/protos/cosmos/vesting/v1beta1/vesting.cjs.map +1 -1
  276. package/dist/cjs/generated/protos/cosmos_proto/cosmos.cjs.map +1 -1
  277. package/dist/cjs/generated/protos/gogoproto/gogo.cjs.map +1 -1
  278. package/dist/cjs/generated/protos/google/api/annotations.cjs.map +1 -1
  279. package/dist/cjs/generated/protos/google/api/http.cjs.map +1 -1
  280. package/dist/cjs/generated/protos/google/protobuf/any.cjs.map +2 -2
  281. package/dist/cjs/generated/protos/google/protobuf/descriptor.cjs.map +2 -2
  282. package/dist/cjs/generated/protos/google/protobuf/duration.cjs.map +1 -1
  283. package/dist/cjs/generated/protos/google/protobuf/empty.cjs.map +1 -1
  284. package/dist/cjs/generated/protos/google/protobuf/timestamp.cjs.map +1 -1
  285. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/controller/v1/controller.cjs.map +1 -1
  286. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/controller/v1/query.cjs.map +1 -1
  287. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/controller/v1/tx.cjs.map +1 -1
  288. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/genesis/v1/genesis.cjs.map +1 -1
  289. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/host/v1/host.cjs.map +2 -2
  290. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/host/v1/query.cjs.map +1 -1
  291. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/host/v1/tx.cjs.map +2 -2
  292. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/v1/account.cjs.map +1 -1
  293. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/v1/metadata.cjs.map +1 -1
  294. package/dist/cjs/generated/protos/ibc/applications/interchain_accounts/v1/packet.cjs.map +2 -2
  295. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/authz.cjs.map +1 -1
  296. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/denomtrace.cjs.map +1 -1
  297. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/genesis.cjs.map +1 -1
  298. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/packet.cjs.map +1 -1
  299. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/query.cjs.map +1 -1
  300. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/token.cjs.map +1 -1
  301. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/transfer.cjs.map +1 -1
  302. package/dist/cjs/generated/protos/ibc/applications/transfer/v1/tx.cjs.map +1 -1
  303. package/dist/cjs/generated/protos/ibc/core/channel/v1/channel.cjs.map +2 -2
  304. package/dist/cjs/generated/protos/ibc/core/channel/v1/genesis.cjs.map +1 -1
  305. package/dist/cjs/generated/protos/ibc/core/channel/v1/query.cjs.map +2 -2
  306. package/dist/cjs/generated/protos/ibc/core/channel/v1/tx.cjs.map +2 -2
  307. package/dist/cjs/generated/protos/ibc/core/channel/v2/genesis.cjs.map +2 -2
  308. package/dist/cjs/generated/protos/ibc/core/channel/v2/packet.cjs.map +2 -2
  309. package/dist/cjs/generated/protos/ibc/core/channel/v2/query.cjs.map +2 -2
  310. package/dist/cjs/generated/protos/ibc/core/channel/v2/tx.cjs.map +2 -2
  311. package/dist/cjs/generated/protos/ibc/core/client/v1/client.cjs.map +1 -1
  312. package/dist/cjs/generated/protos/ibc/core/client/v1/genesis.cjs.map +2 -2
  313. package/dist/cjs/generated/protos/ibc/core/client/v1/query.cjs.map +2 -2
  314. package/dist/cjs/generated/protos/ibc/core/client/v1/tx.cjs.map +2 -2
  315. package/dist/cjs/generated/protos/ibc/core/client/v2/config.cjs.map +1 -1
  316. package/dist/cjs/generated/protos/ibc/core/client/v2/counterparty.cjs.map +2 -2
  317. package/dist/cjs/generated/protos/ibc/core/client/v2/genesis.cjs.map +1 -1
  318. package/dist/cjs/generated/protos/ibc/core/client/v2/query.cjs.map +1 -1
  319. package/dist/cjs/generated/protos/ibc/core/client/v2/tx.cjs.map +2 -2
  320. package/dist/cjs/generated/protos/ibc/core/commitment/v1/commitment.cjs.map +2 -2
  321. package/dist/cjs/generated/protos/ibc/core/commitment/v2/commitment.cjs.map +2 -2
  322. package/dist/cjs/generated/protos/ibc/core/connection/v1/connection.cjs.map +1 -1
  323. package/dist/cjs/generated/protos/ibc/core/connection/v1/genesis.cjs.map +1 -1
  324. package/dist/cjs/generated/protos/ibc/core/connection/v1/query.cjs.map +2 -2
  325. package/dist/cjs/generated/protos/ibc/core/connection/v1/tx.cjs.map +2 -2
  326. package/dist/cjs/generated/protos/ibc/core/types/v1/genesis.cjs.map +1 -1
  327. package/dist/cjs/generated/protos/ibc/lightclients/solomachine/v2/solomachine.cjs.map +2 -2
  328. package/dist/cjs/generated/protos/ibc/lightclients/solomachine/v3/solomachine.cjs.map +2 -2
  329. package/dist/cjs/generated/protos/ibc/lightclients/tendermint/v1/tendermint.cjs.map +2 -2
  330. package/dist/cjs/generated/protos/ibc/lightclients/wasm/v1/genesis.cjs.map +2 -2
  331. package/dist/cjs/generated/protos/ibc/lightclients/wasm/v1/query.cjs.map +2 -2
  332. package/dist/cjs/generated/protos/ibc/lightclients/wasm/v1/tx.cjs.map +2 -2
  333. package/dist/cjs/generated/protos/ibc/lightclients/wasm/v1/wasm.cjs.map +2 -2
  334. package/dist/cjs/generated/protos/k8s.io/apimachinery/pkg/api/resource/generated.cjs.map +1 -1
  335. package/dist/cjs/generated/protos/tendermint/abci/types.cjs.map +2 -2
  336. package/dist/cjs/generated/protos/tendermint/crypto/keys.cjs.map +2 -2
  337. package/dist/cjs/generated/protos/tendermint/crypto/proof.cjs.map +2 -2
  338. package/dist/cjs/generated/protos/tendermint/libs/bits/types.cjs.map +1 -1
  339. package/dist/cjs/generated/protos/tendermint/p2p/types.cjs.map +2 -2
  340. package/dist/cjs/generated/protos/tendermint/types/block.cjs.map +1 -1
  341. package/dist/cjs/generated/protos/tendermint/types/evidence.cjs.map +1 -1
  342. package/dist/cjs/generated/protos/tendermint/types/params.cjs.map +1 -1
  343. package/dist/cjs/generated/protos/tendermint/types/types.cjs.map +2 -2
  344. package/dist/cjs/generated/protos/tendermint/types/validator.cjs.map +2 -2
  345. package/dist/cjs/generated/protos/tendermint/version/types.cjs.map +1 -1
  346. package/dist/cjs/sdk/chain/createChainNodeSDK.cjs +8 -1
  347. package/dist/cjs/sdk/chain/createChainNodeSDK.cjs.map +2 -2
  348. package/dist/cjs/sdk/chain/createChainNodeWebSDK.cjs +8 -1
  349. package/dist/cjs/sdk/chain/createChainNodeWebSDK.cjs.map +2 -2
  350. package/dist/cjs/sdk/provider/createProviderSDK.cjs +16 -11
  351. package/dist/cjs/sdk/provider/createProviderSDK.cjs.map +2 -2
  352. package/dist/cjs/sdk/transport/createNoopTransport.cjs +5 -1
  353. package/dist/cjs/sdk/transport/createNoopTransport.cjs.map +2 -2
  354. package/dist/cjs/sdk/transport/grpc/createGrpcTransport.cjs +10 -1
  355. package/dist/cjs/sdk/transport/grpc/createGrpcTransport.cjs.map +2 -2
  356. package/dist/cjs/sdk/transport/grpc-gateway/createGrpcGatewayTransport.cjs +3 -1
  357. package/dist/cjs/sdk/transport/grpc-gateway/createGrpcGatewayTransport.cjs.map +2 -2
  358. package/dist/cjs/sdk/transport/tx/TxClient.cjs.map +2 -2
  359. package/dist/cjs/sdk/transport/tx/createTxTransport.cjs +3 -0
  360. package/dist/cjs/sdk/transport/tx/createTxTransport.cjs.map +2 -2
  361. package/dist/cjs/sdk/transport/types.cjs.map +1 -1
  362. package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs +69 -14
  363. package/dist/cjs/sdl/validateSDL/validateSDLInput.cjs.map +2 -2
  364. package/dist/esm/{chunk-QVWIP7DW.js → chunk-26MWF2AZ.js} +3 -3
  365. package/dist/esm/chunk-26MWF2AZ.js.map +7 -0
  366. package/dist/esm/{chunk-5CNNJS3V.js → chunk-2Q7MH4UT.js} +7 -7
  367. package/dist/esm/chunk-2Q7MH4UT.js.map +7 -0
  368. package/dist/esm/{chunk-MVGIV3K5.js → chunk-322CBDUM.js} +2 -2
  369. package/dist/esm/chunk-322CBDUM.js.map +7 -0
  370. package/dist/esm/{chunk-BEZOPWAT.js → chunk-3KCTKB4G.js} +2 -2
  371. package/dist/esm/chunk-3KCTKB4G.js.map +7 -0
  372. package/dist/esm/{chunk-M5SAGBGR.js → chunk-3NLO7NHH.js} +4 -4
  373. package/dist/esm/chunk-3NLO7NHH.js.map +7 -0
  374. package/dist/esm/{chunk-NQU756YX.js → chunk-3Y4PAMG2.js} +2 -2
  375. package/dist/esm/chunk-3Y4PAMG2.js.map +7 -0
  376. package/dist/esm/{chunk-HUYJ24YL.js → chunk-4CT3H3C5.js} +2 -2
  377. package/dist/esm/chunk-4CT3H3C5.js.map +7 -0
  378. package/dist/esm/{chunk-T4KWTZ3E.js → chunk-4FNYMYAS.js} +5 -5
  379. package/dist/esm/chunk-4FNYMYAS.js.map +7 -0
  380. package/dist/esm/{chunk-CPTWJFNL.js → chunk-5AFLYOWJ.js} +1 -1
  381. package/dist/esm/chunk-5AFLYOWJ.js.map +7 -0
  382. package/dist/esm/{chunk-7A2GNVWC.js → chunk-5CCL3HXB.js} +3 -3
  383. package/dist/esm/chunk-5CCL3HXB.js.map +7 -0
  384. package/dist/esm/{chunk-UKRRRF5V.js → chunk-5KC6YYIY.js} +4 -4
  385. package/dist/esm/chunk-5KC6YYIY.js.map +7 -0
  386. package/dist/esm/{chunk-GPNENANV.js → chunk-5NW6MUDZ.js} +4 -4
  387. package/dist/esm/chunk-5NW6MUDZ.js.map +7 -0
  388. package/dist/esm/{chunk-GOT4YWEE.js → chunk-645LZ3KA.js} +5 -5
  389. package/dist/esm/chunk-645LZ3KA.js.map +7 -0
  390. package/dist/esm/{chunk-NPGGO3JN.js → chunk-6GGMFH42.js} +3 -3
  391. package/dist/esm/chunk-6GGMFH42.js.map +7 -0
  392. package/dist/esm/{chunk-DE3DJUNH.js → chunk-6JEKRDUK.js} +3 -3
  393. package/dist/esm/chunk-6JEKRDUK.js.map +7 -0
  394. package/dist/esm/{chunk-UMAMKQJU.js → chunk-72WPC4PK.js} +4 -4
  395. package/dist/esm/chunk-72WPC4PK.js.map +7 -0
  396. package/dist/esm/{chunk-B5UL7VDW.js → chunk-7FHWRSSE.js} +2 -2
  397. package/dist/esm/chunk-7FHWRSSE.js.map +7 -0
  398. package/dist/esm/{chunk-MHDIR7F3.js → chunk-7MN4VUB7.js} +4 -4
  399. package/dist/esm/chunk-7MN4VUB7.js.map +7 -0
  400. package/dist/esm/{chunk-4AX2DFWM.js → chunk-A4Q6FI5W.js} +4 -4
  401. package/dist/esm/chunk-A4Q6FI5W.js.map +7 -0
  402. package/dist/esm/{chunk-CWJEUIRC.js → chunk-A56OF57Q.js} +1 -1
  403. package/dist/esm/chunk-A56OF57Q.js.map +7 -0
  404. package/dist/esm/{chunk-63EVQ5EN.js → chunk-A72PCOBJ.js} +2 -2
  405. package/dist/esm/chunk-A72PCOBJ.js.map +7 -0
  406. package/dist/esm/{chunk-WUUUH6OT.js → chunk-AIGOKKDI.js} +3 -3
  407. package/dist/esm/chunk-AIGOKKDI.js.map +7 -0
  408. package/dist/esm/{chunk-XL5JCEGF.js → chunk-AMBJ6SS2.js} +4 -4
  409. package/dist/esm/chunk-AMBJ6SS2.js.map +7 -0
  410. package/dist/esm/{chunk-ABUJVUFW.js → chunk-AQ3Y274S.js} +3 -3
  411. package/dist/esm/chunk-AQ3Y274S.js.map +7 -0
  412. package/dist/esm/{chunk-WI3EWXXI.js → chunk-AX7F4HXD.js} +4 -4
  413. package/dist/esm/chunk-AX7F4HXD.js.map +7 -0
  414. package/dist/esm/{chunk-WU3UGZP6.js → chunk-B262LAS5.js} +5 -5
  415. package/dist/esm/chunk-B262LAS5.js.map +7 -0
  416. package/dist/esm/{chunk-OPYRSTUL.js → chunk-B47GCEWO.js} +3 -3
  417. package/dist/esm/chunk-B47GCEWO.js.map +7 -0
  418. package/dist/esm/{chunk-NEC2ETUC.js → chunk-BCGQTA5W.js} +3 -3
  419. package/dist/esm/chunk-BCGQTA5W.js.map +7 -0
  420. package/dist/esm/{chunk-Y7JCYDLU.js → chunk-BOELSLIZ.js} +4 -4
  421. package/dist/esm/chunk-BOELSLIZ.js.map +7 -0
  422. package/dist/esm/{chunk-4EQCGTIN.js → chunk-BSHQFE64.js} +2 -2
  423. package/dist/esm/chunk-BSHQFE64.js.map +7 -0
  424. package/dist/esm/{chunk-SFGB5OFT.js → chunk-BYM5GMES.js} +3 -3
  425. package/dist/esm/chunk-BYM5GMES.js.map +7 -0
  426. package/dist/esm/{chunk-JVVKYOWN.js → chunk-C2CNBOX7.js} +4 -4
  427. package/dist/esm/chunk-C2CNBOX7.js.map +7 -0
  428. package/dist/esm/{chunk-NATTMR7B.js → chunk-CG235YLL.js} +3 -3
  429. package/dist/esm/chunk-CG235YLL.js.map +7 -0
  430. package/dist/esm/{chunk-M2ZK7HEC.js → chunk-COR2HJ6D.js} +3 -3
  431. package/dist/esm/chunk-COR2HJ6D.js.map +7 -0
  432. package/dist/esm/{chunk-IMR6WS6F.js → chunk-CRHFSSRC.js} +2 -2
  433. package/dist/esm/chunk-CRHFSSRC.js.map +7 -0
  434. package/dist/esm/{chunk-CSHWHZAN.js → chunk-CYZYC6IA.js} +8 -8
  435. package/dist/esm/chunk-CYZYC6IA.js.map +7 -0
  436. package/dist/esm/{chunk-XAOSLZN7.js → chunk-CZRU2WCI.js} +4 -4
  437. package/dist/esm/chunk-CZRU2WCI.js.map +7 -0
  438. package/dist/esm/{chunk-ZG2HL3EK.js → chunk-D3FGQG3W.js} +3 -3
  439. package/dist/esm/chunk-D3FGQG3W.js.map +7 -0
  440. package/dist/esm/{chunk-FDDF54PA.js → chunk-D4PMRVHB.js} +4 -4
  441. package/dist/esm/chunk-D4PMRVHB.js.map +7 -0
  442. package/dist/esm/{chunk-UDWRYPWV.js → chunk-DBI7J2I3.js} +4 -4
  443. package/dist/esm/chunk-DBI7J2I3.js.map +7 -0
  444. package/dist/esm/{chunk-JMA2EHYP.js → chunk-DM4B3AHE.js} +3 -3
  445. package/dist/esm/chunk-DM4B3AHE.js.map +7 -0
  446. package/dist/esm/{chunk-XPU3NKM5.js → chunk-DNZKVMDW.js} +5 -5
  447. package/dist/esm/chunk-DNZKVMDW.js.map +7 -0
  448. package/dist/esm/{chunk-RMT3MSQY.js → chunk-EBZVWJPI.js} +3 -3
  449. package/dist/esm/chunk-EBZVWJPI.js.map +7 -0
  450. package/dist/esm/{chunk-TPOFFPB2.js → chunk-EDQ4NO3N.js} +3 -3
  451. package/dist/esm/chunk-EDQ4NO3N.js.map +7 -0
  452. package/dist/esm/{chunk-AATJRMT6.js → chunk-EFNRD25Y.js} +3 -3
  453. package/dist/esm/chunk-EFNRD25Y.js.map +7 -0
  454. package/dist/esm/{chunk-CGGVSR4Q.js → chunk-EJ5RHAAD.js} +2 -2
  455. package/dist/esm/chunk-EJ5RHAAD.js.map +7 -0
  456. package/dist/esm/{chunk-MY7RVL2C.js → chunk-EN3XTDSM.js} +4 -4
  457. package/dist/esm/chunk-EN3XTDSM.js.map +7 -0
  458. package/dist/esm/{chunk-77PBXK4L.js → chunk-ERRACS4Q.js} +2 -2
  459. package/dist/esm/chunk-ERRACS4Q.js.map +7 -0
  460. package/dist/esm/{chunk-67IN34AN.js → chunk-EUIMOWLC.js} +5 -5
  461. package/dist/esm/chunk-EUIMOWLC.js.map +7 -0
  462. package/dist/esm/{chunk-E4KEMLL4.js → chunk-EZYBETPK.js} +2 -2
  463. package/dist/esm/chunk-EZYBETPK.js.map +7 -0
  464. package/dist/esm/{chunk-WMUEPNSU.js → chunk-F44D4HRH.js} +8 -8
  465. package/dist/esm/chunk-F44D4HRH.js.map +7 -0
  466. package/dist/esm/{chunk-B7H4H62Z.js → chunk-FEL3MZ2V.js} +6 -6
  467. package/dist/esm/chunk-FEL3MZ2V.js.map +7 -0
  468. package/dist/esm/{chunk-MECC6SFR.js → chunk-FH2KLBOG.js} +2 -2
  469. package/dist/esm/chunk-FH2KLBOG.js.map +7 -0
  470. package/dist/esm/{chunk-D7N4UEQW.js → chunk-FPYUWP66.js} +3 -3
  471. package/dist/esm/chunk-FPYUWP66.js.map +7 -0
  472. package/dist/esm/{chunk-IK3BT54L.js → chunk-FRTCJVBQ.js} +4 -4
  473. package/dist/esm/chunk-FRTCJVBQ.js.map +7 -0
  474. package/dist/esm/{chunk-YAWU44BQ.js → chunk-G4IX6JXV.js} +5 -5
  475. package/dist/esm/chunk-G4IX6JXV.js.map +7 -0
  476. package/dist/esm/{chunk-6EG2CYXE.js → chunk-GUBFZADV.js} +3 -3
  477. package/dist/esm/chunk-GUBFZADV.js.map +7 -0
  478. package/dist/esm/{chunk-DMBK5NP6.js → chunk-GZSQ5BNF.js} +2 -2
  479. package/dist/esm/chunk-GZSQ5BNF.js.map +7 -0
  480. package/dist/esm/{chunk-PVFWFANN.js → chunk-H3YUJMEK.js} +4 -4
  481. package/dist/esm/chunk-H3YUJMEK.js.map +7 -0
  482. package/dist/esm/{chunk-2NTJ26VF.js → chunk-H5LIPX62.js} +2 -2
  483. package/dist/esm/chunk-H5LIPX62.js.map +7 -0
  484. package/dist/esm/{chunk-EXKSXOV2.js → chunk-HBXYMZWF.js} +4 -4
  485. package/dist/esm/chunk-HBXYMZWF.js.map +7 -0
  486. package/dist/esm/{chunk-QTIAPT5G.js → chunk-I5DYWKKP.js} +4 -4
  487. package/dist/esm/chunk-I5DYWKKP.js.map +7 -0
  488. package/dist/esm/{chunk-VGDTT7BC.js → chunk-IIBTN33Z.js} +3 -3
  489. package/dist/esm/chunk-IIBTN33Z.js.map +7 -0
  490. package/dist/esm/{chunk-76BT62N7.js → chunk-IN3L4YRD.js} +2 -2
  491. package/dist/esm/chunk-IN3L4YRD.js.map +7 -0
  492. package/dist/esm/{chunk-LN7D3I2U.js → chunk-IPBSUC5M.js} +3 -3
  493. package/dist/esm/chunk-IPBSUC5M.js.map +7 -0
  494. package/dist/esm/{chunk-KM336UKV.js → chunk-J7CMFG4J.js} +160 -98
  495. package/dist/esm/chunk-J7CMFG4J.js.map +7 -0
  496. package/dist/esm/{chunk-ZYND4EAV.js → chunk-K4ISNE3Q.js} +4 -4
  497. package/dist/esm/chunk-K4ISNE3Q.js.map +7 -0
  498. package/dist/esm/{chunk-VC2S4TB4.js → chunk-K6VKTXXI.js} +4 -4
  499. package/dist/esm/chunk-K6VKTXXI.js.map +7 -0
  500. package/dist/esm/{chunk-4TF2TRQH.js → chunk-KPW7G47R.js} +4 -4
  501. package/dist/esm/chunk-KPW7G47R.js.map +7 -0
  502. package/dist/esm/{chunk-E76SLJJ3.js → chunk-L6TIQSD3.js} +3 -3
  503. package/dist/esm/chunk-L6TIQSD3.js.map +7 -0
  504. package/dist/esm/{chunk-7M6G7TQQ.js → chunk-LFEXNDGX.js} +4 -4
  505. package/dist/esm/chunk-LFEXNDGX.js.map +7 -0
  506. package/dist/esm/{chunk-MWD47JZZ.js → chunk-LGRXXLUH.js} +3 -3
  507. package/dist/esm/chunk-LGRXXLUH.js.map +7 -0
  508. package/dist/esm/{chunk-Q37SD6NB.js → chunk-LKCJ67FE.js} +3 -3
  509. package/dist/esm/chunk-LKCJ67FE.js.map +7 -0
  510. package/dist/esm/{chunk-KKHNF6HQ.js → chunk-LXZLOS3T.js} +3 -3
  511. package/dist/esm/chunk-LXZLOS3T.js.map +7 -0
  512. package/dist/esm/{chunk-MIU55VK4.js → chunk-LYCWP4OS.js} +3 -3
  513. package/dist/esm/chunk-LYCWP4OS.js.map +7 -0
  514. package/dist/esm/{chunk-ITPLCNJB.js → chunk-M5TTCBVD.js} +3 -3
  515. package/dist/esm/chunk-M5TTCBVD.js.map +7 -0
  516. package/dist/esm/{chunk-7ZECBWMX.js → chunk-MKV23CRD.js} +3 -3
  517. package/dist/esm/chunk-MKV23CRD.js.map +7 -0
  518. package/dist/esm/{chunk-AL5D2S5T.js → chunk-MSAIZS3K.js} +4 -4
  519. package/dist/esm/chunk-MSAIZS3K.js.map +7 -0
  520. package/dist/esm/{chunk-FSTQVUEA.js → chunk-MY3QN4I6.js} +4 -4
  521. package/dist/esm/chunk-MY3QN4I6.js.map +7 -0
  522. package/dist/esm/{chunk-RKOP2GYL.js → chunk-NCG5BWR7.js} +14 -14
  523. package/dist/esm/chunk-NCG5BWR7.js.map +7 -0
  524. package/dist/esm/{chunk-SJLQ462M.js → chunk-NV6LP6DY.js} +5 -5
  525. package/dist/esm/chunk-NV6LP6DY.js.map +7 -0
  526. package/dist/esm/{chunk-I2VC2RD2.js → chunk-ODMRKOSZ.js} +3 -3
  527. package/dist/esm/chunk-ODMRKOSZ.js.map +7 -0
  528. package/dist/esm/{chunk-JSSYCEVK.js → chunk-OIJMB6XM.js} +5 -5
  529. package/dist/esm/chunk-OIJMB6XM.js.map +7 -0
  530. package/dist/esm/{chunk-T7LAPKN5.js → chunk-OKTOOQGG.js} +4 -4
  531. package/dist/esm/chunk-OKTOOQGG.js.map +7 -0
  532. package/dist/esm/{chunk-MQSUD7OM.js → chunk-PZNCIVLH.js} +2 -2
  533. package/dist/esm/chunk-PZNCIVLH.js.map +7 -0
  534. package/dist/esm/{chunk-FTM3XGSX.js → chunk-Q4L2ZBPQ.js} +31 -28
  535. package/dist/esm/chunk-Q4L2ZBPQ.js.map +7 -0
  536. package/dist/esm/{chunk-ESEV5MX6.js → chunk-Q5FYTXCV.js} +2 -2
  537. package/dist/esm/chunk-Q5FYTXCV.js.map +7 -0
  538. package/dist/esm/{chunk-MNEWCY4N.js → chunk-Q6UAR6ET.js} +4 -4
  539. package/dist/esm/chunk-Q6UAR6ET.js.map +7 -0
  540. package/dist/esm/{chunk-NX2OO5DC.js → chunk-QB777324.js} +3 -3
  541. package/dist/esm/chunk-QB777324.js.map +7 -0
  542. package/dist/esm/{chunk-PKKLQO24.js → chunk-QNID6XFE.js} +5 -5
  543. package/dist/esm/chunk-QNID6XFE.js.map +7 -0
  544. package/dist/esm/{chunk-3RFBBBJU.js → chunk-QTGC3D5R.js} +2 -2
  545. package/dist/esm/chunk-QTGC3D5R.js.map +7 -0
  546. package/dist/esm/{chunk-YEZCC27T.js → chunk-RCPKBE75.js} +3 -3
  547. package/dist/esm/chunk-RCPKBE75.js.map +7 -0
  548. package/dist/esm/{chunk-XTZI6PFX.js → chunk-RMZXVXUQ.js} +3 -3
  549. package/dist/esm/chunk-RMZXVXUQ.js.map +7 -0
  550. package/dist/esm/{chunk-JGBH2EPB.js → chunk-RRAUGNCU.js} +2 -2
  551. package/dist/esm/chunk-RRAUGNCU.js.map +7 -0
  552. package/dist/esm/{chunk-Y2T5VNY5.js → chunk-RSE66SDY.js} +3 -3
  553. package/dist/esm/chunk-RSE66SDY.js.map +7 -0
  554. package/dist/esm/{chunk-6GTJFE7O.js → chunk-S6OY5HTR.js} +5 -5
  555. package/dist/esm/chunk-S6OY5HTR.js.map +7 -0
  556. package/dist/esm/{chunk-64SOB2UN.js → chunk-SA3ACZHF.js} +3 -3
  557. package/dist/esm/chunk-SA3ACZHF.js.map +7 -0
  558. package/dist/esm/{chunk-ZQDAXUFL.js → chunk-SDNW5DQT.js} +2 -2
  559. package/dist/esm/chunk-SDNW5DQT.js.map +7 -0
  560. package/dist/esm/{chunk-67IG5SEC.js → chunk-SHJ2UFZD.js} +5 -5
  561. package/dist/esm/chunk-SHJ2UFZD.js.map +7 -0
  562. package/dist/esm/{chunk-6CSFN3HL.js → chunk-SMKBHPYW.js} +4 -4
  563. package/dist/esm/chunk-SMKBHPYW.js.map +7 -0
  564. package/dist/esm/{chunk-LWZD2XR6.js → chunk-SQDMU3WT.js} +2 -2
  565. package/dist/esm/chunk-SQDMU3WT.js.map +7 -0
  566. package/dist/esm/{chunk-T5PKT4I6.js → chunk-SUMZXTXO.js} +8 -8
  567. package/dist/esm/chunk-SUMZXTXO.js.map +7 -0
  568. package/dist/esm/{chunk-K6IYY3N3.js → chunk-SYVWCGWP.js} +4 -4
  569. package/dist/esm/chunk-SYVWCGWP.js.map +7 -0
  570. package/dist/esm/{chunk-ET7SNQEZ.js → chunk-TB6WK75K.js} +2 -2
  571. package/dist/esm/chunk-TB6WK75K.js.map +7 -0
  572. package/dist/esm/{chunk-ZV4RZMBN.js → chunk-TBJAED6Q.js} +5 -5
  573. package/dist/esm/chunk-TBJAED6Q.js.map +7 -0
  574. package/dist/esm/{chunk-HAJWJBJS.js → chunk-TCGKTKFP.js} +2 -2
  575. package/dist/esm/chunk-TCGKTKFP.js.map +7 -0
  576. package/dist/esm/{chunk-IFAXXMON.js → chunk-TMNCS5UY.js} +9 -9
  577. package/dist/esm/chunk-TMNCS5UY.js.map +7 -0
  578. package/dist/esm/{chunk-RUC3LXDX.js → chunk-TPIDTRYE.js} +5 -5
  579. package/dist/esm/chunk-TPIDTRYE.js.map +7 -0
  580. package/dist/esm/{chunk-YPMFVZ77.js → chunk-TYBMILQM.js} +3 -3
  581. package/dist/esm/chunk-TYBMILQM.js.map +7 -0
  582. package/dist/esm/{chunk-MWE2RSPA.js → chunk-UAG2UPWA.js} +6 -6
  583. package/dist/esm/chunk-UAG2UPWA.js.map +7 -0
  584. package/dist/esm/{chunk-PDJB3UKF.js → chunk-UEADXSW5.js} +4 -4
  585. package/dist/esm/chunk-UEADXSW5.js.map +7 -0
  586. package/dist/esm/{chunk-ZJBLRHFO.js → chunk-UQXAY3BJ.js} +4 -4
  587. package/dist/esm/chunk-UQXAY3BJ.js.map +7 -0
  588. package/dist/esm/{chunk-OZ2QB5PW.js → chunk-URQM7PBI.js} +3 -3
  589. package/dist/esm/chunk-URQM7PBI.js.map +7 -0
  590. package/dist/esm/{chunk-YVVN34GG.js → chunk-UWFOHWFE.js} +3 -3
  591. package/dist/esm/chunk-UWFOHWFE.js.map +7 -0
  592. package/dist/esm/{chunk-HA6PREOG.js → chunk-VEQZUBO7.js} +2 -2
  593. package/dist/esm/chunk-VEQZUBO7.js.map +7 -0
  594. package/dist/esm/{chunk-IPOIF4A2.js → chunk-VGYXZJNF.js} +4 -4
  595. package/dist/esm/chunk-VGYXZJNF.js.map +7 -0
  596. package/dist/esm/{chunk-EG6EVQGI.js → chunk-VW4NI7W6.js} +7 -7
  597. package/dist/esm/chunk-VW4NI7W6.js.map +7 -0
  598. package/dist/esm/{chunk-6XT7T2UE.js → chunk-W25EJ3NI.js} +43 -21
  599. package/dist/esm/chunk-W25EJ3NI.js.map +7 -0
  600. package/dist/esm/{chunk-ZAMI3SMW.js → chunk-W32ESVH7.js} +3 -3
  601. package/dist/esm/chunk-W32ESVH7.js.map +7 -0
  602. package/dist/esm/{chunk-KAPMMJIV.js → chunk-WGAFW5VH.js} +3 -3
  603. package/dist/esm/chunk-WGAFW5VH.js.map +7 -0
  604. package/dist/esm/{chunk-67QJ7BTB.js → chunk-WUAF3Q55.js} +3 -3
  605. package/dist/esm/chunk-WUAF3Q55.js.map +7 -0
  606. package/dist/esm/{chunk-OE4T6TGX.js → chunk-X5YRDCOG.js} +4 -4
  607. package/dist/esm/chunk-X5YRDCOG.js.map +7 -0
  608. package/dist/esm/{chunk-XCHTAXPM.js → chunk-X6IYPRSZ.js} +2 -2
  609. package/dist/esm/chunk-X6IYPRSZ.js.map +7 -0
  610. package/dist/esm/{chunk-7AO2SDC7.js → chunk-X7EEH7R4.js} +2 -2
  611. package/dist/esm/chunk-X7EEH7R4.js.map +7 -0
  612. package/dist/esm/{chunk-UX54ZBA6.js → chunk-XVGLHMMM.js} +3 -3
  613. package/dist/esm/chunk-XVGLHMMM.js.map +7 -0
  614. package/dist/esm/{chunk-VFNEBQEE.js → chunk-Y4K3ARTL.js} +5 -5
  615. package/dist/esm/chunk-Y4K3ARTL.js.map +7 -0
  616. package/dist/esm/{chunk-NV7YG2WO.js → chunk-YEHDKEMB.js} +2 -2
  617. package/dist/esm/chunk-YEHDKEMB.js.map +7 -0
  618. package/dist/esm/{chunk-7XWZXYD2.js → chunk-YTKBQFMZ.js} +4 -4
  619. package/dist/esm/chunk-YTKBQFMZ.js.map +7 -0
  620. package/dist/esm/{chunk-35BIJBXD.js → chunk-ZDEKJI7A.js} +1 -1
  621. package/dist/esm/chunk-ZDEKJI7A.js.map +7 -0
  622. package/dist/esm/{chunk-RAN4XXPP.js → chunk-ZFO2LXPC.js} +4 -4
  623. package/dist/esm/chunk-ZFO2LXPC.js.map +7 -0
  624. package/dist/esm/{chunk-SQBIPP3B.js → chunk-ZKQENRZ4.js} +3 -3
  625. package/dist/esm/chunk-ZKQENRZ4.js.map +7 -0
  626. package/dist/esm/{chunk-CVQBDXFP.js → chunk-ZLUJAPF2.js} +2 -2
  627. package/dist/esm/chunk-ZLUJAPF2.js.map +7 -0
  628. package/dist/esm/{chunk-OJNUMO7I.js → chunk-ZPN4QMYT.js} +3 -3
  629. package/dist/esm/chunk-ZPN4QMYT.js.map +7 -0
  630. package/dist/esm/generated/protos/index.akash.v1.js +35 -35
  631. package/dist/esm/generated/protos/index.akash.v1.js.map +1 -1
  632. package/dist/esm/generated/protos/index.akash.v1beta1.js +4 -4
  633. package/dist/esm/generated/protos/index.akash.v1beta1.js.map +1 -1
  634. package/dist/esm/generated/protos/index.akash.v1beta4.js +19 -19
  635. package/dist/esm/generated/protos/index.akash.v1beta5.js +19 -19
  636. package/dist/esm/generated/protos/index.akash.v1beta5.js.map +1 -1
  637. package/dist/esm/generated/protos/index.akash.v2.js +7 -7
  638. package/dist/esm/generated/protos/index.akash.v2.js.map +1 -1
  639. package/dist/esm/generated/protos/index.cosmos.abci.js +8 -8
  640. package/dist/esm/generated/protos/index.cosmos.ed25519.js +1 -1
  641. package/dist/esm/generated/protos/index.cosmos.ed25519.js.map +1 -1
  642. package/dist/esm/generated/protos/index.cosmos.multisig.js +2 -2
  643. package/dist/esm/generated/protos/index.cosmos.multisig.js.map +1 -1
  644. package/dist/esm/generated/protos/index.cosmos.secp256k1.js +1 -1
  645. package/dist/esm/generated/protos/index.cosmos.secp256k1.js.map +1 -1
  646. package/dist/esm/generated/protos/index.cosmos.secp256r1.js +1 -1
  647. package/dist/esm/generated/protos/index.cosmos.secp256r1.js.map +1 -1
  648. package/dist/esm/generated/protos/index.cosmos.v1.js +25 -25
  649. package/dist/esm/generated/protos/index.cosmos.v1.js.map +1 -1
  650. package/dist/esm/generated/protos/index.cosmos.v1alpha1.js +3 -3
  651. package/dist/esm/generated/protos/index.cosmos.v1alpha1.js.map +1 -1
  652. package/dist/esm/generated/protos/index.cosmos.v1beta1.js +56 -56
  653. package/dist/esm/generated/protos/index.cosmos.v1beta1.js.map +1 -1
  654. package/dist/esm/generated/protos/index.cosmos.v2alpha1.js +2 -2
  655. package/dist/esm/generated/protos/index.ibc.v1.js +12 -12
  656. package/dist/esm/generated/protos/index.ibc.v1.js.map +1 -1
  657. package/dist/esm/generated/protos/index.ibc.v2.js +4 -4
  658. package/dist/esm/generated/protos/index.ibc.v2.js.map +1 -1
  659. package/dist/esm/generated/protos/index.ibc.v3.js +2 -2
  660. package/dist/esm/generated/protos/index.ibc.v3.js.map +1 -1
  661. package/dist/esm/generated/protos/index.provider.akash.v1.js +12 -12
  662. package/dist/esm/generated/protos/index.provider.akash.v2beta3.js +4 -4
  663. package/dist/esm/generated/protos/index.tendermint.abci.js +6 -6
  664. package/dist/esm/generated/protos/index.tendermint.bits.js +1 -1
  665. package/dist/esm/generated/protos/index.tendermint.bits.js.map +1 -1
  666. package/dist/esm/generated/protos/index.tendermint.crypto.js +2 -2
  667. package/dist/esm/generated/protos/index.tendermint.p2p.js +2 -2
  668. package/dist/esm/generated/protos/index.tendermint.types.js +8 -8
  669. package/dist/esm/generated/protos/index.tendermint.version.js +2 -2
  670. package/dist/esm/{grpc_akash-YXP225OJ.js → grpc_akash-OWX5SA6R.js} +9 -9
  671. package/dist/esm/index.js +61 -40
  672. package/dist/esm/index.js.map +2 -2
  673. package/dist/esm/index.web.js +34 -25
  674. package/dist/esm/index.web.js.map +2 -2
  675. package/dist/esm/{query_akash-TKFQCVYV.js → query_akash-3BXYQMOE.js} +6 -6
  676. package/dist/esm/{query_akash-RWDIACGH.js → query_akash-4ATWEIKO.js} +6 -6
  677. package/dist/esm/{query_akash-AHDMWBOV.js → query_akash-5JUNASKJ.js} +5 -5
  678. package/dist/esm/{query_akash-OKZLG4MG.js → query_akash-5ROGAPOT.js} +15 -15
  679. package/dist/esm/{query_akash-3IY2DKPB.js → query_akash-6XGLLPV5.js} +6 -6
  680. package/dist/esm/{query_akash-K53WZSU3.js → query_akash-6XH3XSJI.js} +14 -14
  681. package/dist/esm/{query_akash-RYPKVZ7C.js → query_akash-BFKSMJCO.js} +3 -3
  682. package/dist/esm/{query_akash-QCNQA3ZB.js → query_akash-CSDFYST7.js} +5 -5
  683. package/dist/esm/{query_akash-X76NVZ2L.js → query_akash-DCN3AR5P.js} +8 -8
  684. package/dist/esm/{query_akash-LWCKZPHL.js → query_akash-FBT2ITXP.js} +5 -5
  685. package/dist/esm/{query_akash-2L2Y5GBF.js → query_akash-GHEVVSTF.js} +3 -3
  686. package/dist/esm/{query_akash-CC4GPK5T.js → query_akash-HJVG3OOZ.js} +5 -5
  687. package/dist/esm/{query_akash-EM4NPFZC.js → query_akash-ITOEBJDK.js} +5 -5
  688. package/dist/esm/{query_akash-ZITEPCYB.js → query_akash-J4NQXAWP.js} +19 -19
  689. package/dist/esm/{query_akash-NELAC6IV.js → query_akash-JGO2A57M.js} +11 -11
  690. package/dist/esm/{query_akash-KKNAAUKF.js → query_akash-KKKXCZXO.js} +4 -4
  691. package/dist/esm/{query_akash-RPKTKSHZ.js → query_akash-LWMDCG23.js} +7 -7
  692. package/dist/esm/{query_akash-JQTWE7KL.js → query_akash-M223SWNK.js} +4 -4
  693. package/dist/esm/{query_akash-QMVZT2ZN.js → query_akash-MAQ4KCB4.js} +8 -8
  694. package/dist/esm/{query_akash-4IKUAI5T.js → query_akash-MFZWZKE5.js} +4 -4
  695. package/dist/esm/{query_akash-EEPQJYKA.js → query_akash-MPM4W3E6.js} +6 -6
  696. package/dist/esm/{query_akash-2AHFSNJL.js → query_akash-NDY475BN.js} +4 -4
  697. package/dist/esm/{query_akash-UVZZQTKV.js → query_akash-O23ZVYGH.js} +6 -6
  698. package/dist/esm/{query_akash-CZGC5YK6.js → query_akash-OQHA2OYG.js} +5 -5
  699. package/dist/esm/{query_akash-QW7MA3NO.js → query_akash-PHV3I4FY.js} +7 -7
  700. package/dist/esm/{query_akash-ZPJ6T5NI.js → query_akash-R56L5MUM.js} +5 -5
  701. package/dist/esm/{query_akash-FU3ACWAO.js → query_akash-RD35JDTQ.js} +9 -9
  702. package/dist/esm/{query_akash-GYTMDAAY.js → query_akash-RTN5FSVE.js} +4 -4
  703. package/dist/esm/{query_akash-QD6WT5TA.js → query_akash-VBNTBJ4X.js} +5 -5
  704. package/dist/esm/{query_akash-ERHU5RE6.js → query_akash-VROGQREQ.js} +6 -6
  705. package/dist/esm/{query_akash-JGZ2VS5H.js → query_akash-W4BJ4POV.js} +7 -7
  706. package/dist/esm/{query_akash-U6FTSX7A.js → query_akash-W4ZF5YWV.js} +3 -3
  707. package/dist/esm/{query_akash-YR4WN3VM.js → query_akash-WO3VA2M4.js} +4 -4
  708. package/dist/esm/{query_akash-QTSSWL6T.js → query_akash-X7PUV6VH.js} +6 -6
  709. package/dist/esm/{query_akash-YADYAEYF.js → query_akash-YQGCM43Y.js} +3 -3
  710. package/dist/esm/{query_akash-ASZNXGQS.js → query_akash-Z3P44PK4.js} +4 -4
  711. package/dist/esm/{query_akash-RNOEMF2J.js → query_akash-ZOFX3LDD.js} +6 -6
  712. package/dist/esm/{reflection_akash-YHEVUIB6.js → reflection_akash-55R7RR6F.js} +3 -3
  713. package/dist/esm/{reflection_akash-QXZHFUVK.js → reflection_akash-AYB47VR6.js} +3 -3
  714. package/dist/esm/{reflection_akash-7N6IBKOV.js → reflection_akash-USHDV3ND.js} +3 -3
  715. package/dist/esm/{service_akash-5O4BYIF2.js → service_akash-4E5T2NBN.js} +4 -4
  716. package/dist/esm/{service_akash-LJSRCT2X.js → service_akash-5RIOE2CY.js} +10 -10
  717. package/dist/esm/{service_akash-7YFQQXNZ.js → service_akash-72OGQL3K.js} +5 -5
  718. package/dist/esm/{service_akash-VU4ZMTYD.js → service_akash-75BSSLOB.js} +4 -4
  719. package/dist/esm/{service_akash-VOFSDZEK.js → service_akash-AAROYIZB.js} +9 -9
  720. package/dist/esm/{service_akash-BLDT6YCO.js → service_akash-DRQ4AZDN.js} +12 -12
  721. package/dist/esm/{service_akash-3DIKTIOI.js → service_akash-FYP5KPKK.js} +6 -6
  722. package/dist/esm/{service_akash-CM7RP67D.js → service_akash-IIJXIY5F.js} +15 -15
  723. package/dist/esm/{service_akash-KKV7TGYK.js → service_akash-J6SMUDU2.js} +6 -6
  724. package/dist/esm/{service_akash-2CH5FJ4J.js → service_akash-M6EVF47T.js} +5 -5
  725. package/dist/esm/{service_akash-DSFYKCTK.js → service_akash-MBRBAO32.js} +6 -6
  726. package/dist/esm/{service_akash-VYA7TLGK.js → service_akash-TR2VOZJ6.js} +4 -4
  727. package/dist/esm/{service_akash-B5XMI26Q.js → service_akash-UEJ5EEHX.js} +5 -5
  728. package/dist/esm/{service_akash-EJTYKJTM.js → service_akash-UIAI3RVE.js} +4 -4
  729. package/dist/esm/{service_akash-DZETPXWM.js → service_akash-WSF23IIV.js} +12 -12
  730. package/dist/esm/{service_akash-K7FWCKUQ.js → service_akash-YQHPTMAJ.js} +3 -3
  731. package/dist/esm/{tx_akash-7ZQ464ZM.js → tx_akash-4CBMSDVD.js} +3 -3
  732. package/dist/esm/{tx_akash-XQRCTZUO.js → tx_akash-52RLR735.js} +4 -4
  733. package/dist/esm/{tx_akash-A37CN5OX.js → tx_akash-CGQ76PHQ.js} +4 -4
  734. package/dist/esm/{tx_akash-3ZAQZWMP.js → tx_akash-CRFZ2LEI.js} +7 -7
  735. package/dist/esm/{tx_akash-ZTQQ7B6W.js → tx_akash-DAOXBHIW.js} +5 -5
  736. package/dist/esm/{tx_akash-3YCJMS6Y.js → tx_akash-DCBE4ZKR.js} +4 -4
  737. package/dist/esm/{tx_akash-A6JLTFE3.js → tx_akash-EMGTHF6K.js} +5 -5
  738. package/dist/esm/{tx_akash-K4GE3YDZ.js → tx_akash-EOLXR5GA.js} +4 -4
  739. package/dist/esm/{tx_akash-ACY5H4V3.js → tx_akash-GQTWDYP4.js} +5 -5
  740. package/dist/esm/{tx_akash-GBMTXRJ5.js → tx_akash-JI3KPA4Z.js} +5 -5
  741. package/dist/esm/{tx_akash-PJAUGODB.js → tx_akash-KJH2DXCP.js} +5 -5
  742. package/dist/esm/{tx_akash-XMYD5SGR.js → tx_akash-MBWEK34W.js} +6 -6
  743. package/dist/esm/{tx_akash-RUUUEZS3.js → tx_akash-MIMTHJOL.js} +3 -3
  744. package/dist/esm/{tx_akash-PAKHDTTZ.js → tx_akash-NAU6E2WW.js} +5 -5
  745. package/dist/esm/{tx_akash-FCS2KVR7.js → tx_akash-OPLZZHM2.js} +7 -7
  746. package/dist/esm/{tx_akash-L42YNERM.js → tx_akash-STQBDJ3U.js} +3 -3
  747. package/dist/esm/{tx_akash-MFMRS2ID.js → tx_akash-SWAHMFCG.js} +5 -5
  748. package/dist/esm/{tx_akash-U5ZGXJJO.js → tx_akash-TWDWRXZU.js} +6 -6
  749. package/dist/esm/{tx_akash-YHLPPFSA.js → tx_akash-WYHQWU5H.js} +13 -13
  750. package/dist/esm/{tx_akash-WEQYHIC3.js → tx_akash-XQF3ME4V.js} +4 -4
  751. package/dist/esm/{tx_akash-Q5JR6ORF.js → tx_akash-YH4Z5PXX.js} +5 -5
  752. package/dist/esm/{types_akash-LWHM4M7S.js → types_akash-QJJPPMKX.js} +7 -7
  753. package/dist/sdl-schema.yaml +17 -0
  754. package/dist/tsconfig.build.tsbuildinfo +1 -1
  755. package/dist/types/generated/protos/akash/provider/v1/status.d.ts +2 -0
  756. package/dist/types/sdk/chain/createChainNodeSDK.d.ts +1 -0
  757. package/dist/types/sdk/chain/createChainNodeWebSDK.d.ts +1 -0
  758. package/dist/types/sdk/chain/helpers.d.ts +1 -1
  759. package/dist/types/sdk/provider/createProviderSDK.d.ts +3 -1
  760. package/dist/types/sdk/transport/createNoopTransport.d.ts +1 -0
  761. package/dist/types/sdk/transport/grpc/createGrpcTransport.d.ts +7 -2
  762. package/dist/types/sdk/transport/transportUtils.d.ts +1 -1
  763. package/dist/types/sdk/transport/tx/TxClient.d.ts +1 -0
  764. package/dist/types/sdk/transport/types.d.ts +4 -0
  765. package/dist/types/sdl/validateSDL/validateSDLInput.d.ts +22 -0
  766. package/package.json +10 -10
  767. package/dist/cjs/bla.cjs +0 -7
  768. package/dist/cjs/bla.cjs.map +0 -7
  769. package/dist/cjs/test.cjs +0 -2
  770. package/dist/cjs/test.cjs.map +0 -7
  771. package/dist/esm/chunk-2NTJ26VF.js.map +0 -7
  772. package/dist/esm/chunk-35BIJBXD.js.map +0 -7
  773. package/dist/esm/chunk-3RFBBBJU.js.map +0 -7
  774. package/dist/esm/chunk-4AX2DFWM.js.map +0 -7
  775. package/dist/esm/chunk-4EQCGTIN.js.map +0 -7
  776. package/dist/esm/chunk-4TF2TRQH.js.map +0 -7
  777. package/dist/esm/chunk-5CNNJS3V.js.map +0 -7
  778. package/dist/esm/chunk-63EVQ5EN.js.map +0 -7
  779. package/dist/esm/chunk-64SOB2UN.js.map +0 -7
  780. package/dist/esm/chunk-67IG5SEC.js.map +0 -7
  781. package/dist/esm/chunk-67IN34AN.js.map +0 -7
  782. package/dist/esm/chunk-67QJ7BTB.js.map +0 -7
  783. package/dist/esm/chunk-6CSFN3HL.js.map +0 -7
  784. package/dist/esm/chunk-6EG2CYXE.js.map +0 -7
  785. package/dist/esm/chunk-6GTJFE7O.js.map +0 -7
  786. package/dist/esm/chunk-6XT7T2UE.js.map +0 -7
  787. package/dist/esm/chunk-76BT62N7.js.map +0 -7
  788. package/dist/esm/chunk-77PBXK4L.js.map +0 -7
  789. package/dist/esm/chunk-7A2GNVWC.js.map +0 -7
  790. package/dist/esm/chunk-7AO2SDC7.js.map +0 -7
  791. package/dist/esm/chunk-7M6G7TQQ.js.map +0 -7
  792. package/dist/esm/chunk-7XWZXYD2.js.map +0 -7
  793. package/dist/esm/chunk-7ZECBWMX.js.map +0 -7
  794. package/dist/esm/chunk-AATJRMT6.js.map +0 -7
  795. package/dist/esm/chunk-ABUJVUFW.js.map +0 -7
  796. package/dist/esm/chunk-AL5D2S5T.js.map +0 -7
  797. package/dist/esm/chunk-B5UL7VDW.js.map +0 -7
  798. package/dist/esm/chunk-B7H4H62Z.js.map +0 -7
  799. package/dist/esm/chunk-BEZOPWAT.js.map +0 -7
  800. package/dist/esm/chunk-CGGVSR4Q.js.map +0 -7
  801. package/dist/esm/chunk-CPTWJFNL.js.map +0 -7
  802. package/dist/esm/chunk-CSHWHZAN.js.map +0 -7
  803. package/dist/esm/chunk-CVQBDXFP.js.map +0 -7
  804. package/dist/esm/chunk-CWJEUIRC.js.map +0 -7
  805. package/dist/esm/chunk-D7N4UEQW.js.map +0 -7
  806. package/dist/esm/chunk-DE3DJUNH.js.map +0 -7
  807. package/dist/esm/chunk-DMBK5NP6.js.map +0 -7
  808. package/dist/esm/chunk-E4KEMLL4.js.map +0 -7
  809. package/dist/esm/chunk-E76SLJJ3.js.map +0 -7
  810. package/dist/esm/chunk-EG6EVQGI.js.map +0 -7
  811. package/dist/esm/chunk-ESEV5MX6.js.map +0 -7
  812. package/dist/esm/chunk-ET7SNQEZ.js.map +0 -7
  813. package/dist/esm/chunk-EXKSXOV2.js.map +0 -7
  814. package/dist/esm/chunk-FDDF54PA.js.map +0 -7
  815. package/dist/esm/chunk-FSTQVUEA.js.map +0 -7
  816. package/dist/esm/chunk-FTM3XGSX.js.map +0 -7
  817. package/dist/esm/chunk-GOT4YWEE.js.map +0 -7
  818. package/dist/esm/chunk-GPNENANV.js.map +0 -7
  819. package/dist/esm/chunk-HA6PREOG.js.map +0 -7
  820. package/dist/esm/chunk-HAJWJBJS.js.map +0 -7
  821. package/dist/esm/chunk-HUYJ24YL.js.map +0 -7
  822. package/dist/esm/chunk-I2VC2RD2.js.map +0 -7
  823. package/dist/esm/chunk-IFAXXMON.js.map +0 -7
  824. package/dist/esm/chunk-IK3BT54L.js.map +0 -7
  825. package/dist/esm/chunk-IMR6WS6F.js.map +0 -7
  826. package/dist/esm/chunk-IPOIF4A2.js.map +0 -7
  827. package/dist/esm/chunk-ITPLCNJB.js.map +0 -7
  828. package/dist/esm/chunk-JGBH2EPB.js.map +0 -7
  829. package/dist/esm/chunk-JMA2EHYP.js.map +0 -7
  830. package/dist/esm/chunk-JSSYCEVK.js.map +0 -7
  831. package/dist/esm/chunk-JVVKYOWN.js.map +0 -7
  832. package/dist/esm/chunk-K6IYY3N3.js.map +0 -7
  833. package/dist/esm/chunk-KAPMMJIV.js.map +0 -7
  834. package/dist/esm/chunk-KKHNF6HQ.js.map +0 -7
  835. package/dist/esm/chunk-KM336UKV.js.map +0 -7
  836. package/dist/esm/chunk-LN7D3I2U.js.map +0 -7
  837. package/dist/esm/chunk-LWZD2XR6.js.map +0 -7
  838. package/dist/esm/chunk-M2ZK7HEC.js.map +0 -7
  839. package/dist/esm/chunk-M5SAGBGR.js.map +0 -7
  840. package/dist/esm/chunk-MECC6SFR.js.map +0 -7
  841. package/dist/esm/chunk-MHDIR7F3.js.map +0 -7
  842. package/dist/esm/chunk-MIU55VK4.js.map +0 -7
  843. package/dist/esm/chunk-MNEWCY4N.js.map +0 -7
  844. package/dist/esm/chunk-MQSUD7OM.js.map +0 -7
  845. package/dist/esm/chunk-MVGIV3K5.js.map +0 -7
  846. package/dist/esm/chunk-MWD47JZZ.js.map +0 -7
  847. package/dist/esm/chunk-MWE2RSPA.js.map +0 -7
  848. package/dist/esm/chunk-MY7RVL2C.js.map +0 -7
  849. package/dist/esm/chunk-NATTMR7B.js.map +0 -7
  850. package/dist/esm/chunk-NEC2ETUC.js.map +0 -7
  851. package/dist/esm/chunk-NPGGO3JN.js.map +0 -7
  852. package/dist/esm/chunk-NQU756YX.js.map +0 -7
  853. package/dist/esm/chunk-NV7YG2WO.js.map +0 -7
  854. package/dist/esm/chunk-NX2OO5DC.js.map +0 -7
  855. package/dist/esm/chunk-OE4T6TGX.js.map +0 -7
  856. package/dist/esm/chunk-OJNUMO7I.js.map +0 -7
  857. package/dist/esm/chunk-OPYRSTUL.js.map +0 -7
  858. package/dist/esm/chunk-OZ2QB5PW.js.map +0 -7
  859. package/dist/esm/chunk-PDJB3UKF.js.map +0 -7
  860. package/dist/esm/chunk-PKKLQO24.js.map +0 -7
  861. package/dist/esm/chunk-PVFWFANN.js.map +0 -7
  862. package/dist/esm/chunk-Q37SD6NB.js.map +0 -7
  863. package/dist/esm/chunk-QTIAPT5G.js.map +0 -7
  864. package/dist/esm/chunk-QVWIP7DW.js.map +0 -7
  865. package/dist/esm/chunk-RAN4XXPP.js.map +0 -7
  866. package/dist/esm/chunk-RKOP2GYL.js.map +0 -7
  867. package/dist/esm/chunk-RMT3MSQY.js.map +0 -7
  868. package/dist/esm/chunk-RUC3LXDX.js.map +0 -7
  869. package/dist/esm/chunk-SFGB5OFT.js.map +0 -7
  870. package/dist/esm/chunk-SJLQ462M.js.map +0 -7
  871. package/dist/esm/chunk-SQBIPP3B.js.map +0 -7
  872. package/dist/esm/chunk-T4KWTZ3E.js.map +0 -7
  873. package/dist/esm/chunk-T5PKT4I6.js.map +0 -7
  874. package/dist/esm/chunk-T7LAPKN5.js.map +0 -7
  875. package/dist/esm/chunk-TPOFFPB2.js.map +0 -7
  876. package/dist/esm/chunk-UDWRYPWV.js.map +0 -7
  877. package/dist/esm/chunk-UKRRRF5V.js.map +0 -7
  878. package/dist/esm/chunk-UMAMKQJU.js.map +0 -7
  879. package/dist/esm/chunk-UX54ZBA6.js.map +0 -7
  880. package/dist/esm/chunk-VC2S4TB4.js.map +0 -7
  881. package/dist/esm/chunk-VFNEBQEE.js.map +0 -7
  882. package/dist/esm/chunk-VGDTT7BC.js.map +0 -7
  883. package/dist/esm/chunk-WI3EWXXI.js.map +0 -7
  884. package/dist/esm/chunk-WMUEPNSU.js.map +0 -7
  885. package/dist/esm/chunk-WU3UGZP6.js.map +0 -7
  886. package/dist/esm/chunk-WUUUH6OT.js.map +0 -7
  887. package/dist/esm/chunk-XAOSLZN7.js.map +0 -7
  888. package/dist/esm/chunk-XCHTAXPM.js.map +0 -7
  889. package/dist/esm/chunk-XL5JCEGF.js.map +0 -7
  890. package/dist/esm/chunk-XPU3NKM5.js.map +0 -7
  891. package/dist/esm/chunk-XTZI6PFX.js.map +0 -7
  892. package/dist/esm/chunk-Y2T5VNY5.js.map +0 -7
  893. package/dist/esm/chunk-Y7JCYDLU.js.map +0 -7
  894. package/dist/esm/chunk-YAWU44BQ.js.map +0 -7
  895. package/dist/esm/chunk-YEZCC27T.js.map +0 -7
  896. package/dist/esm/chunk-YPMFVZ77.js.map +0 -7
  897. package/dist/esm/chunk-YVVN34GG.js.map +0 -7
  898. package/dist/esm/chunk-ZAMI3SMW.js.map +0 -7
  899. package/dist/esm/chunk-ZG2HL3EK.js.map +0 -7
  900. package/dist/esm/chunk-ZJBLRHFO.js.map +0 -7
  901. package/dist/esm/chunk-ZQDAXUFL.js.map +0 -7
  902. package/dist/esm/chunk-ZV4RZMBN.js.map +0 -7
  903. package/dist/esm/chunk-ZYND4EAV.js.map +0 -7
  904. package/dist/types/bla.d.ts +0 -1
  905. package/dist/types/test.d.ts +0 -1
  906. /package/dist/esm/{grpc_akash-YXP225OJ.js.map → grpc_akash-OWX5SA6R.js.map} +0 -0
  907. /package/dist/esm/{query_akash-TKFQCVYV.js.map → query_akash-3BXYQMOE.js.map} +0 -0
  908. /package/dist/esm/{query_akash-RWDIACGH.js.map → query_akash-4ATWEIKO.js.map} +0 -0
  909. /package/dist/esm/{query_akash-AHDMWBOV.js.map → query_akash-5JUNASKJ.js.map} +0 -0
  910. /package/dist/esm/{query_akash-OKZLG4MG.js.map → query_akash-5ROGAPOT.js.map} +0 -0
  911. /package/dist/esm/{query_akash-3IY2DKPB.js.map → query_akash-6XGLLPV5.js.map} +0 -0
  912. /package/dist/esm/{query_akash-K53WZSU3.js.map → query_akash-6XH3XSJI.js.map} +0 -0
  913. /package/dist/esm/{query_akash-RYPKVZ7C.js.map → query_akash-BFKSMJCO.js.map} +0 -0
  914. /package/dist/esm/{query_akash-QCNQA3ZB.js.map → query_akash-CSDFYST7.js.map} +0 -0
  915. /package/dist/esm/{query_akash-X76NVZ2L.js.map → query_akash-DCN3AR5P.js.map} +0 -0
  916. /package/dist/esm/{query_akash-LWCKZPHL.js.map → query_akash-FBT2ITXP.js.map} +0 -0
  917. /package/dist/esm/{query_akash-2L2Y5GBF.js.map → query_akash-GHEVVSTF.js.map} +0 -0
  918. /package/dist/esm/{query_akash-CC4GPK5T.js.map → query_akash-HJVG3OOZ.js.map} +0 -0
  919. /package/dist/esm/{query_akash-EM4NPFZC.js.map → query_akash-ITOEBJDK.js.map} +0 -0
  920. /package/dist/esm/{query_akash-ZITEPCYB.js.map → query_akash-J4NQXAWP.js.map} +0 -0
  921. /package/dist/esm/{query_akash-NELAC6IV.js.map → query_akash-JGO2A57M.js.map} +0 -0
  922. /package/dist/esm/{query_akash-KKNAAUKF.js.map → query_akash-KKKXCZXO.js.map} +0 -0
  923. /package/dist/esm/{query_akash-RPKTKSHZ.js.map → query_akash-LWMDCG23.js.map} +0 -0
  924. /package/dist/esm/{query_akash-JQTWE7KL.js.map → query_akash-M223SWNK.js.map} +0 -0
  925. /package/dist/esm/{query_akash-QMVZT2ZN.js.map → query_akash-MAQ4KCB4.js.map} +0 -0
  926. /package/dist/esm/{query_akash-4IKUAI5T.js.map → query_akash-MFZWZKE5.js.map} +0 -0
  927. /package/dist/esm/{query_akash-EEPQJYKA.js.map → query_akash-MPM4W3E6.js.map} +0 -0
  928. /package/dist/esm/{query_akash-2AHFSNJL.js.map → query_akash-NDY475BN.js.map} +0 -0
  929. /package/dist/esm/{query_akash-UVZZQTKV.js.map → query_akash-O23ZVYGH.js.map} +0 -0
  930. /package/dist/esm/{query_akash-CZGC5YK6.js.map → query_akash-OQHA2OYG.js.map} +0 -0
  931. /package/dist/esm/{query_akash-QW7MA3NO.js.map → query_akash-PHV3I4FY.js.map} +0 -0
  932. /package/dist/esm/{query_akash-ZPJ6T5NI.js.map → query_akash-R56L5MUM.js.map} +0 -0
  933. /package/dist/esm/{query_akash-FU3ACWAO.js.map → query_akash-RD35JDTQ.js.map} +0 -0
  934. /package/dist/esm/{query_akash-GYTMDAAY.js.map → query_akash-RTN5FSVE.js.map} +0 -0
  935. /package/dist/esm/{query_akash-QD6WT5TA.js.map → query_akash-VBNTBJ4X.js.map} +0 -0
  936. /package/dist/esm/{query_akash-ERHU5RE6.js.map → query_akash-VROGQREQ.js.map} +0 -0
  937. /package/dist/esm/{query_akash-JGZ2VS5H.js.map → query_akash-W4BJ4POV.js.map} +0 -0
  938. /package/dist/esm/{query_akash-U6FTSX7A.js.map → query_akash-W4ZF5YWV.js.map} +0 -0
  939. /package/dist/esm/{query_akash-YR4WN3VM.js.map → query_akash-WO3VA2M4.js.map} +0 -0
  940. /package/dist/esm/{query_akash-QTSSWL6T.js.map → query_akash-X7PUV6VH.js.map} +0 -0
  941. /package/dist/esm/{query_akash-YADYAEYF.js.map → query_akash-YQGCM43Y.js.map} +0 -0
  942. /package/dist/esm/{query_akash-ASZNXGQS.js.map → query_akash-Z3P44PK4.js.map} +0 -0
  943. /package/dist/esm/{query_akash-RNOEMF2J.js.map → query_akash-ZOFX3LDD.js.map} +0 -0
  944. /package/dist/esm/{reflection_akash-YHEVUIB6.js.map → reflection_akash-55R7RR6F.js.map} +0 -0
  945. /package/dist/esm/{reflection_akash-QXZHFUVK.js.map → reflection_akash-AYB47VR6.js.map} +0 -0
  946. /package/dist/esm/{reflection_akash-7N6IBKOV.js.map → reflection_akash-USHDV3ND.js.map} +0 -0
  947. /package/dist/esm/{service_akash-5O4BYIF2.js.map → service_akash-4E5T2NBN.js.map} +0 -0
  948. /package/dist/esm/{service_akash-LJSRCT2X.js.map → service_akash-5RIOE2CY.js.map} +0 -0
  949. /package/dist/esm/{service_akash-7YFQQXNZ.js.map → service_akash-72OGQL3K.js.map} +0 -0
  950. /package/dist/esm/{service_akash-VU4ZMTYD.js.map → service_akash-75BSSLOB.js.map} +0 -0
  951. /package/dist/esm/{service_akash-VOFSDZEK.js.map → service_akash-AAROYIZB.js.map} +0 -0
  952. /package/dist/esm/{service_akash-BLDT6YCO.js.map → service_akash-DRQ4AZDN.js.map} +0 -0
  953. /package/dist/esm/{service_akash-3DIKTIOI.js.map → service_akash-FYP5KPKK.js.map} +0 -0
  954. /package/dist/esm/{service_akash-CM7RP67D.js.map → service_akash-IIJXIY5F.js.map} +0 -0
  955. /package/dist/esm/{service_akash-KKV7TGYK.js.map → service_akash-J6SMUDU2.js.map} +0 -0
  956. /package/dist/esm/{service_akash-2CH5FJ4J.js.map → service_akash-M6EVF47T.js.map} +0 -0
  957. /package/dist/esm/{service_akash-DSFYKCTK.js.map → service_akash-MBRBAO32.js.map} +0 -0
  958. /package/dist/esm/{service_akash-VYA7TLGK.js.map → service_akash-TR2VOZJ6.js.map} +0 -0
  959. /package/dist/esm/{service_akash-B5XMI26Q.js.map → service_akash-UEJ5EEHX.js.map} +0 -0
  960. /package/dist/esm/{service_akash-EJTYKJTM.js.map → service_akash-UIAI3RVE.js.map} +0 -0
  961. /package/dist/esm/{service_akash-DZETPXWM.js.map → service_akash-WSF23IIV.js.map} +0 -0
  962. /package/dist/esm/{service_akash-K7FWCKUQ.js.map → service_akash-YQHPTMAJ.js.map} +0 -0
  963. /package/dist/esm/{tx_akash-7ZQ464ZM.js.map → tx_akash-4CBMSDVD.js.map} +0 -0
  964. /package/dist/esm/{tx_akash-XQRCTZUO.js.map → tx_akash-52RLR735.js.map} +0 -0
  965. /package/dist/esm/{tx_akash-A37CN5OX.js.map → tx_akash-CGQ76PHQ.js.map} +0 -0
  966. /package/dist/esm/{tx_akash-3ZAQZWMP.js.map → tx_akash-CRFZ2LEI.js.map} +0 -0
  967. /package/dist/esm/{tx_akash-ZTQQ7B6W.js.map → tx_akash-DAOXBHIW.js.map} +0 -0
  968. /package/dist/esm/{tx_akash-3YCJMS6Y.js.map → tx_akash-DCBE4ZKR.js.map} +0 -0
  969. /package/dist/esm/{tx_akash-A6JLTFE3.js.map → tx_akash-EMGTHF6K.js.map} +0 -0
  970. /package/dist/esm/{tx_akash-K4GE3YDZ.js.map → tx_akash-EOLXR5GA.js.map} +0 -0
  971. /package/dist/esm/{tx_akash-ACY5H4V3.js.map → tx_akash-GQTWDYP4.js.map} +0 -0
  972. /package/dist/esm/{tx_akash-GBMTXRJ5.js.map → tx_akash-JI3KPA4Z.js.map} +0 -0
  973. /package/dist/esm/{tx_akash-PJAUGODB.js.map → tx_akash-KJH2DXCP.js.map} +0 -0
  974. /package/dist/esm/{tx_akash-XMYD5SGR.js.map → tx_akash-MBWEK34W.js.map} +0 -0
  975. /package/dist/esm/{tx_akash-RUUUEZS3.js.map → tx_akash-MIMTHJOL.js.map} +0 -0
  976. /package/dist/esm/{tx_akash-PAKHDTTZ.js.map → tx_akash-NAU6E2WW.js.map} +0 -0
  977. /package/dist/esm/{tx_akash-FCS2KVR7.js.map → tx_akash-OPLZZHM2.js.map} +0 -0
  978. /package/dist/esm/{tx_akash-L42YNERM.js.map → tx_akash-STQBDJ3U.js.map} +0 -0
  979. /package/dist/esm/{tx_akash-MFMRS2ID.js.map → tx_akash-SWAHMFCG.js.map} +0 -0
  980. /package/dist/esm/{tx_akash-U5ZGXJJO.js.map → tx_akash-TWDWRXZU.js.map} +0 -0
  981. /package/dist/esm/{tx_akash-YHLPPFSA.js.map → tx_akash-WYHQWU5H.js.map} +0 -0
  982. /package/dist/esm/{tx_akash-WEQYHIC3.js.map → tx_akash-XQF3ME4V.js.map} +0 -0
  983. /package/dist/esm/{tx_akash-Q5JR6ORF.js.map → tx_akash-YH4Z5PXX.js.map} +0 -0
  984. /package/dist/esm/{types_akash-LWHM4M7S.js.map → types_akash-QJJPPMKX.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/generated/protos/ibc/applications/interchain_accounts/controller/v1/controller.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/controller/v1/query.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/v1/packet.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/controller/v1/tx.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/host/v1/host.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/genesis/v1/genesis.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/host/v1/query.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/host/v1/tx.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/v1/account.ts", "../../../../src/generated/protos/ibc/applications/interchain_accounts/v1/metadata.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/authz.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/denomtrace.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/transfer.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/token.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/genesis.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/packet.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/query.ts", "../../../../src/generated/protos/ibc/applications/transfer/v1/tx.ts", "../../../../src/generated/protos/ibc/core/channel/v1/genesis.ts", "../../../../src/generated/protos/ibc/core/channel/v1/query.ts", "../../../../src/generated/protos/ibc/core/channel/v1/tx.ts", "../../../../src/generated/protos/ibc/core/client/v1/genesis.ts", "../../../../src/generated/protos/ibc/core/client/v1/query.ts", "../../../../src/generated/protos/ibc/core/client/v1/tx.ts", "../../../../src/generated/protos/ibc/core/connection/v1/genesis.ts", "../../../../src/generated/protos/ibc/core/connection/v1/query.ts", "../../../../src/generated/protos/ibc/core/connection/v1/tx.ts", "../../../../src/generated/protos/ibc/core/types/v1/genesis.ts", "../../../../src/generated/protos/ibc/lightclients/tendermint/v1/tendermint.ts", "../../../../src/generated/protos/ibc/lightclients/wasm/v1/genesis.ts", "../../../../src/generated/protos/ibc/lightclients/wasm/v1/query.ts", "../../../../src/generated/protos/ibc/lightclients/wasm/v1/tx.ts", "../../../../src/generated/protos/ibc/lightclients/wasm/v1/wasm.ts"],
4
- "sourcesContent": ["import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/controller.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of on-chain interchain accounts parameters.\n * The following parameters may be used to disable the controller submodule.\n */\nexport interface Params {\n /** controller_enabled enables or disables the controller submodule. */\n controllerEnabled: boolean;\n}\n\nfunction createBaseParams(): Params {\n return { controllerEnabled: false };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.interchain_accounts.controller.v1.Params\"> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.controllerEnabled !== false) {\n writer.uint32(8).bool(message.controllerEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.controllerEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n controllerEnabled: isSet(object.controller_enabled) ? globalThis.Boolean(object.controller_enabled) : false,\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.controllerEnabled !== false) {\n obj.controller_enabled = message.controllerEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.controllerEnabled = object.controllerEnabled ?? false;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"./controller.ts\";\n\n/** QueryInterchainAccountRequest is the request type for the Query/InterchainAccount RPC method. */\nexport interface QueryInterchainAccountRequest {\n owner: string;\n connectionId: string;\n}\n\n/** QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method. */\nexport interface QueryInterchainAccountResponse {\n address: string;\n}\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryInterchainAccountRequest(): QueryInterchainAccountRequest {\n return { owner: \"\", connectionId: \"\" };\n}\n\nexport const QueryInterchainAccountRequest: MessageFns<\n QueryInterchainAccountRequest,\n \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest\" as const,\n\n encode(message: QueryInterchainAccountRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryInterchainAccountRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryInterchainAccountRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryInterchainAccountRequest {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n };\n },\n\n toJSON(message: QueryInterchainAccountRequest): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryInterchainAccountRequest>): QueryInterchainAccountRequest {\n const message = createBaseQueryInterchainAccountRequest();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryInterchainAccountResponse(): QueryInterchainAccountResponse {\n return { address: \"\" };\n}\n\nexport const QueryInterchainAccountResponse: MessageFns<\n QueryInterchainAccountResponse,\n \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse\" as const,\n\n encode(message: QueryInterchainAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryInterchainAccountResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryInterchainAccountResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryInterchainAccountResponse {\n return { address: isSet(object.address) ? globalThis.String(object.address) : \"\" };\n },\n\n toJSON(message: QueryInterchainAccountResponse): unknown {\n const obj: any = {};\n if (message.address !== \"\") {\n obj.address = message.address;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryInterchainAccountResponse>): QueryInterchainAccountResponse {\n const message = createBaseQueryInterchainAccountResponse();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<\n QueryParamsRequest,\n \"ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<\n QueryParamsResponse,\n \"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/packet.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\n\n/**\n * Type defines a classification of message issued from a controller chain to its associated interchain accounts\n * host\n */\nexport enum Type {\n /** TYPE_UNSPECIFIED - Default zero value enumeration */\n TYPE_UNSPECIFIED = 0,\n /** TYPE_EXECUTE_TX - Execute a transaction on an interchain accounts host chain */\n TYPE_EXECUTE_TX = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function typeFromJSON(object: any): Type {\n switch (object) {\n case 0:\n case \"TYPE_UNSPECIFIED\":\n return Type.TYPE_UNSPECIFIED;\n case 1:\n case \"TYPE_EXECUTE_TX\":\n return Type.TYPE_EXECUTE_TX;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return Type.UNRECOGNIZED;\n }\n}\n\nexport function typeToJSON(object: Type): string {\n switch (object) {\n case Type.TYPE_UNSPECIFIED:\n return \"TYPE_UNSPECIFIED\";\n case Type.TYPE_EXECUTE_TX:\n return \"TYPE_EXECUTE_TX\";\n case Type.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\n/** InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. */\nexport interface InterchainAccountPacketData {\n type: Type;\n data: Uint8Array;\n memo: string;\n}\n\n/** CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. */\nexport interface CosmosTx {\n messages: Any[];\n}\n\nfunction createBaseInterchainAccountPacketData(): InterchainAccountPacketData {\n return { type: 0, data: new Uint8Array(0), memo: \"\" };\n}\n\nexport const InterchainAccountPacketData: MessageFns<\n InterchainAccountPacketData,\n \"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData\"\n> = {\n $type: \"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData\" as const,\n\n encode(message: InterchainAccountPacketData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.type !== 0) {\n writer.uint32(8).int32(message.type);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n if (message.memo !== \"\") {\n writer.uint32(26).string(message.memo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InterchainAccountPacketData {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInterchainAccountPacketData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.type = reader.int32() as any;\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InterchainAccountPacketData {\n return {\n type: isSet(object.type) ? typeFromJSON(object.type) : 0,\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n };\n },\n\n toJSON(message: InterchainAccountPacketData): unknown {\n const obj: any = {};\n if (message.type !== 0) {\n obj.type = typeToJSON(message.type);\n }\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<InterchainAccountPacketData>): InterchainAccountPacketData {\n const message = createBaseInterchainAccountPacketData();\n message.type = object.type ?? 0;\n message.data = object.data ?? new Uint8Array(0);\n message.memo = object.memo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseCosmosTx(): CosmosTx {\n return { messages: [] };\n}\n\nexport const CosmosTx: MessageFns<CosmosTx, \"ibc.applications.interchain_accounts.v1.CosmosTx\"> = {\n $type: \"ibc.applications.interchain_accounts.v1.CosmosTx\" as const,\n\n encode(message: CosmosTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.messages) {\n Any.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CosmosTx {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCosmosTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messages.push(Any.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CosmosTx {\n return {\n messages: globalThis.Array.isArray(object?.messages) ? object.messages.map((e: any) => Any.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: CosmosTx): unknown {\n const obj: any = {};\n if (message.messages?.length) {\n obj.messages = message.messages.map((e) => Any.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<CosmosTx>): CosmosTx {\n const message = createBaseCosmosTx();\n message.messages = object.messages?.map((e) => Any.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Order, orderFromJSON, orderToJSON } from \"../../../../core/channel/v1/channel.ts\";\nimport { InterchainAccountPacketData } from \"../../v1/packet.ts\";\nimport { Params } from \"./controller.ts\";\n\n/** MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount */\nexport interface MsgRegisterInterchainAccount {\n owner: string;\n connectionId: string;\n version: string;\n ordering: Order;\n}\n\n/** MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount */\nexport interface MsgRegisterInterchainAccountResponse {\n channelId: string;\n portId: string;\n}\n\n/** MsgSendTx defines the payload for Msg/SendTx */\nexport interface MsgSendTx {\n owner: string;\n connectionId: string;\n packetData:\n | InterchainAccountPacketData\n | undefined;\n /**\n * Relative timeout timestamp provided will be added to the current block time during transaction execution.\n * The timeout timestamp must be non-zero.\n */\n relativeTimeout: Long;\n}\n\n/** MsgSendTxResponse defines the response for MsgSendTx */\nexport interface MsgSendTxResponse {\n sequence: Long;\n}\n\n/** MsgUpdateParams defines the payload for Msg/UpdateParams */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the 27-interchain-accounts/controller parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the response for Msg/UpdateParams */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgRegisterInterchainAccount(): MsgRegisterInterchainAccount {\n return { owner: \"\", connectionId: \"\", version: \"\", ordering: 0 };\n}\n\nexport const MsgRegisterInterchainAccount: MessageFns<\n MsgRegisterInterchainAccount,\n \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount\" as const,\n\n encode(message: MsgRegisterInterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n if (message.ordering !== 0) {\n writer.uint32(32).int32(message.ordering);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterInterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.ordering = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRegisterInterchainAccount {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n ordering: isSet(object.ordering) ? orderFromJSON(object.ordering) : 0,\n };\n },\n\n toJSON(message: MsgRegisterInterchainAccount): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.ordering !== 0) {\n obj.ordering = orderToJSON(message.ordering);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRegisterInterchainAccount>): MsgRegisterInterchainAccount {\n const message = createBaseMsgRegisterInterchainAccount();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n message.version = object.version ?? \"\";\n message.ordering = object.ordering ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgRegisterInterchainAccountResponse(): MsgRegisterInterchainAccountResponse {\n return { channelId: \"\", portId: \"\" };\n}\n\nexport const MsgRegisterInterchainAccountResponse: MessageFns<\n MsgRegisterInterchainAccountResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse\" as const,\n\n encode(message: MsgRegisterInterchainAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channelId !== \"\") {\n writer.uint32(10).string(message.channelId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterInterchainAccountResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterInterchainAccountResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRegisterInterchainAccountResponse {\n return {\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n };\n },\n\n toJSON(message: MsgRegisterInterchainAccountResponse): unknown {\n const obj: any = {};\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRegisterInterchainAccountResponse>): MsgRegisterInterchainAccountResponse {\n const message = createBaseMsgRegisterInterchainAccountResponse();\n message.channelId = object.channelId ?? \"\";\n message.portId = object.portId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSendTx(): MsgSendTx {\n return { owner: \"\", connectionId: \"\", packetData: undefined, relativeTimeout: Long.UZERO };\n}\n\nexport const MsgSendTx: MessageFns<MsgSendTx, \"ibc.applications.interchain_accounts.controller.v1.MsgSendTx\"> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgSendTx\" as const,\n\n encode(message: MsgSendTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n if (message.packetData !== undefined) {\n InterchainAccountPacketData.encode(message.packetData, writer.uint32(26).fork()).join();\n }\n if (!message.relativeTimeout.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.relativeTimeout.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSendTx {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSendTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.packetData = InterchainAccountPacketData.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.relativeTimeout = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSendTx {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n packetData: isSet(object.packet_data) ? InterchainAccountPacketData.fromJSON(object.packet_data) : undefined,\n relativeTimeout: isSet(object.relative_timeout) ? Long.fromValue(object.relative_timeout) : Long.UZERO,\n };\n },\n\n toJSON(message: MsgSendTx): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.packetData !== undefined) {\n obj.packet_data = InterchainAccountPacketData.toJSON(message.packetData);\n }\n if (!message.relativeTimeout.equals(Long.UZERO)) {\n obj.relative_timeout = (message.relativeTimeout || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSendTx>): MsgSendTx {\n const message = createBaseMsgSendTx();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n message.packetData = (object.packetData !== undefined && object.packetData !== null)\n ? InterchainAccountPacketData.fromPartial(object.packetData)\n : undefined;\n message.relativeTimeout = (object.relativeTimeout !== undefined && object.relativeTimeout !== null)\n ? Long.fromValue(object.relativeTimeout)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseMsgSendTxResponse(): MsgSendTxResponse {\n return { sequence: Long.UZERO };\n}\n\nexport const MsgSendTxResponse: MessageFns<\n MsgSendTxResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse\" as const,\n\n encode(message: MsgSendTxResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSendTxResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSendTxResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSendTxResponse {\n return { sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO };\n },\n\n toJSON(message: MsgSendTxResponse): unknown {\n const obj: any = {};\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSendTxResponse>): MsgSendTxResponse {\n const message = createBaseMsgSendTxResponse();\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<\n MsgUpdateParams,\n \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/host.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of on-chain interchain accounts parameters.\n * The following parameters may be used to disable the host submodule.\n */\nexport interface Params {\n /** host_enabled enables or disables the host submodule. */\n hostEnabled: boolean;\n /** allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. */\n allowMessages: string[];\n}\n\n/**\n * QueryRequest defines the parameters for a particular query request\n * by an interchain account.\n */\nexport interface QueryRequest {\n /**\n * path defines the path of the query request as defined by ADR-021.\n * https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing\n */\n path: string;\n /**\n * data defines the payload of the query request as defined by ADR-021.\n * https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing\n */\n data: Uint8Array;\n}\n\nfunction createBaseParams(): Params {\n return { hostEnabled: false, allowMessages: [] };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.interchain_accounts.host.v1.Params\"> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hostEnabled !== false) {\n writer.uint32(8).bool(message.hostEnabled);\n }\n for (const v of message.allowMessages) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.hostEnabled = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.allowMessages.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n hostEnabled: isSet(object.host_enabled) ? globalThis.Boolean(object.host_enabled) : false,\n allowMessages: globalThis.Array.isArray(object?.allow_messages)\n ? object.allow_messages.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.hostEnabled !== false) {\n obj.host_enabled = message.hostEnabled;\n }\n if (message.allowMessages?.length) {\n obj.allow_messages = message.allowMessages;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.hostEnabled = object.hostEnabled ?? false;\n message.allowMessages = object.allowMessages?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseQueryRequest(): QueryRequest {\n return { path: \"\", data: new Uint8Array(0) };\n}\n\nexport const QueryRequest: MessageFns<QueryRequest, \"ibc.applications.interchain_accounts.host.v1.QueryRequest\"> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryRequest\" as const,\n\n encode(message: QueryRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryRequest {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n };\n },\n\n toJSON(message: QueryRequest): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryRequest>): QueryRequest {\n const message = createBaseQueryRequest();\n message.path = object.path ?? \"\";\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/genesis/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"../../controller/v1/controller.ts\";\nimport { Params as Params1 } from \"../../host/v1/host.ts\";\n\n/** GenesisState defines the interchain accounts genesis state */\nexport interface GenesisState {\n controllerGenesisState: ControllerGenesisState | undefined;\n hostGenesisState: HostGenesisState | undefined;\n}\n\n/** ControllerGenesisState defines the interchain accounts controller genesis state */\nexport interface ControllerGenesisState {\n activeChannels: ActiveChannel[];\n interchainAccounts: RegisteredInterchainAccount[];\n ports: string[];\n params: Params | undefined;\n}\n\n/** HostGenesisState defines the interchain accounts host genesis state */\nexport interface HostGenesisState {\n activeChannels: ActiveChannel[];\n interchainAccounts: RegisteredInterchainAccount[];\n port: string;\n params: Params1 | undefined;\n}\n\n/**\n * ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to\n * indicate if the channel is middleware enabled\n */\nexport interface ActiveChannel {\n connectionId: string;\n portId: string;\n channelId: string;\n isMiddlewareEnabled: boolean;\n}\n\n/** RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address */\nexport interface RegisteredInterchainAccount {\n connectionId: string;\n portId: string;\n accountAddress: string;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { controllerGenesisState: undefined, hostGenesisState: undefined };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.applications.interchain_accounts.genesis.v1.GenesisState\"> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.controllerGenesisState !== undefined) {\n ControllerGenesisState.encode(message.controllerGenesisState, writer.uint32(10).fork()).join();\n }\n if (message.hostGenesisState !== undefined) {\n HostGenesisState.encode(message.hostGenesisState, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.controllerGenesisState = ControllerGenesisState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.hostGenesisState = HostGenesisState.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n controllerGenesisState: isSet(object.controller_genesis_state)\n ? ControllerGenesisState.fromJSON(object.controller_genesis_state)\n : undefined,\n hostGenesisState: isSet(object.host_genesis_state)\n ? HostGenesisState.fromJSON(object.host_genesis_state)\n : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.controllerGenesisState !== undefined) {\n obj.controller_genesis_state = ControllerGenesisState.toJSON(message.controllerGenesisState);\n }\n if (message.hostGenesisState !== undefined) {\n obj.host_genesis_state = HostGenesisState.toJSON(message.hostGenesisState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.controllerGenesisState =\n (object.controllerGenesisState !== undefined && object.controllerGenesisState !== null)\n ? ControllerGenesisState.fromPartial(object.controllerGenesisState)\n : undefined;\n message.hostGenesisState = (object.hostGenesisState !== undefined && object.hostGenesisState !== null)\n ? HostGenesisState.fromPartial(object.hostGenesisState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseControllerGenesisState(): ControllerGenesisState {\n return { activeChannels: [], interchainAccounts: [], ports: [], params: undefined };\n}\n\nexport const ControllerGenesisState: MessageFns<\n ControllerGenesisState,\n \"ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState\" as const,\n\n encode(message: ControllerGenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.activeChannels) {\n ActiveChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.interchainAccounts) {\n RegisteredInterchainAccount.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.ports) {\n writer.uint32(26).string(v!);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ControllerGenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseControllerGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.activeChannels.push(ActiveChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.interchainAccounts.push(RegisteredInterchainAccount.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.ports.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ControllerGenesisState {\n return {\n activeChannels: globalThis.Array.isArray(object?.active_channels)\n ? object.active_channels.map((e: any) => ActiveChannel.fromJSON(e))\n : [],\n interchainAccounts: globalThis.Array.isArray(object?.interchain_accounts)\n ? object.interchain_accounts.map((e: any) => RegisteredInterchainAccount.fromJSON(e))\n : [],\n ports: globalThis.Array.isArray(object?.ports) ? object.ports.map((e: any) => globalThis.String(e)) : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: ControllerGenesisState): unknown {\n const obj: any = {};\n if (message.activeChannels?.length) {\n obj.active_channels = message.activeChannels.map((e) => ActiveChannel.toJSON(e));\n }\n if (message.interchainAccounts?.length) {\n obj.interchain_accounts = message.interchainAccounts.map((e) => RegisteredInterchainAccount.toJSON(e));\n }\n if (message.ports?.length) {\n obj.ports = message.ports;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ControllerGenesisState>): ControllerGenesisState {\n const message = createBaseControllerGenesisState();\n message.activeChannels = object.activeChannels?.map((e) => ActiveChannel.fromPartial(e)) || [];\n message.interchainAccounts = object.interchainAccounts?.map((e) => RegisteredInterchainAccount.fromPartial(e)) ||\n [];\n message.ports = object.ports?.map((e) => e) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseHostGenesisState(): HostGenesisState {\n return { activeChannels: [], interchainAccounts: [], port: \"\", params: undefined };\n}\n\nexport const HostGenesisState: MessageFns<\n HostGenesisState,\n \"ibc.applications.interchain_accounts.genesis.v1.HostGenesisState\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.HostGenesisState\" as const,\n\n encode(message: HostGenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.activeChannels) {\n ActiveChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.interchainAccounts) {\n RegisteredInterchainAccount.encode(v!, writer.uint32(18).fork()).join();\n }\n if (message.port !== \"\") {\n writer.uint32(26).string(message.port);\n }\n if (message.params !== undefined) {\n Params1.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): HostGenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHostGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.activeChannels.push(ActiveChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.interchainAccounts.push(RegisteredInterchainAccount.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.port = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params1.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): HostGenesisState {\n return {\n activeChannels: globalThis.Array.isArray(object?.active_channels)\n ? object.active_channels.map((e: any) => ActiveChannel.fromJSON(e))\n : [],\n interchainAccounts: globalThis.Array.isArray(object?.interchain_accounts)\n ? object.interchain_accounts.map((e: any) => RegisteredInterchainAccount.fromJSON(e))\n : [],\n port: isSet(object.port) ? globalThis.String(object.port) : \"\",\n params: isSet(object.params) ? Params1.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: HostGenesisState): unknown {\n const obj: any = {};\n if (message.activeChannels?.length) {\n obj.active_channels = message.activeChannels.map((e) => ActiveChannel.toJSON(e));\n }\n if (message.interchainAccounts?.length) {\n obj.interchain_accounts = message.interchainAccounts.map((e) => RegisteredInterchainAccount.toJSON(e));\n }\n if (message.port !== \"\") {\n obj.port = message.port;\n }\n if (message.params !== undefined) {\n obj.params = Params1.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<HostGenesisState>): HostGenesisState {\n const message = createBaseHostGenesisState();\n message.activeChannels = object.activeChannels?.map((e) => ActiveChannel.fromPartial(e)) || [];\n message.interchainAccounts = object.interchainAccounts?.map((e) => RegisteredInterchainAccount.fromPartial(e)) ||\n [];\n message.port = object.port ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params1.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseActiveChannel(): ActiveChannel {\n return { connectionId: \"\", portId: \"\", channelId: \"\", isMiddlewareEnabled: false };\n}\n\nexport const ActiveChannel: MessageFns<ActiveChannel, \"ibc.applications.interchain_accounts.genesis.v1.ActiveChannel\"> =\n {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.ActiveChannel\" as const,\n\n encode(message: ActiveChannel, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(26).string(message.channelId);\n }\n if (message.isMiddlewareEnabled !== false) {\n writer.uint32(32).bool(message.isMiddlewareEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ActiveChannel {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseActiveChannel();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.isMiddlewareEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ActiveChannel {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n isMiddlewareEnabled: isSet(object.is_middleware_enabled)\n ? globalThis.Boolean(object.is_middleware_enabled)\n : false,\n };\n },\n\n toJSON(message: ActiveChannel): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.isMiddlewareEnabled !== false) {\n obj.is_middleware_enabled = message.isMiddlewareEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ActiveChannel>): ActiveChannel {\n const message = createBaseActiveChannel();\n message.connectionId = object.connectionId ?? \"\";\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.isMiddlewareEnabled = object.isMiddlewareEnabled ?? false;\n return message;\n },\n };\n\nfunction createBaseRegisteredInterchainAccount(): RegisteredInterchainAccount {\n return { connectionId: \"\", portId: \"\", accountAddress: \"\" };\n}\n\nexport const RegisteredInterchainAccount: MessageFns<\n RegisteredInterchainAccount,\n \"ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount\" as const,\n\n encode(message: RegisteredInterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n if (message.accountAddress !== \"\") {\n writer.uint32(26).string(message.accountAddress);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisteredInterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisteredInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.accountAddress = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisteredInterchainAccount {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n accountAddress: isSet(object.account_address) ? globalThis.String(object.account_address) : \"\",\n };\n },\n\n toJSON(message: RegisteredInterchainAccount): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.accountAddress !== \"\") {\n obj.account_address = message.accountAddress;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<RegisteredInterchainAccount>): RegisteredInterchainAccount {\n const message = createBaseRegisteredInterchainAccount();\n message.connectionId = object.connectionId ?? \"\";\n message.portId = object.portId ?? \"\";\n message.accountAddress = object.accountAddress ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"./host.ts\";\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<\n QueryParamsRequest,\n \"ibc.applications.interchain_accounts.host.v1.QueryParamsRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<\n QueryParamsResponse,\n \"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params, QueryRequest } from \"./host.ts\";\n\n/** MsgUpdateParams defines the payload for Msg/UpdateParams */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the 27-interchain-accounts/host parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the response for Msg/UpdateParams */\nexport interface MsgUpdateParamsResponse {\n}\n\n/** MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe */\nexport interface MsgModuleQuerySafe {\n /** signer address */\n signer: string;\n /** requests defines the module safe queries to execute. */\n requests: QueryRequest[];\n}\n\n/** MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe */\nexport interface MsgModuleQuerySafeResponse {\n /** height at which the responses were queried */\n height: Long;\n /** protobuf encoded responses for each query */\n responses: Uint8Array[];\n}\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<\n MsgUpdateParams,\n \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction createBaseMsgModuleQuerySafe(): MsgModuleQuerySafe {\n return { signer: \"\", requests: [] };\n}\n\nexport const MsgModuleQuerySafe: MessageFns<\n MsgModuleQuerySafe,\n \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe\" as const,\n\n encode(message: MsgModuleQuerySafe, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n for (const v of message.requests) {\n QueryRequest.encode(v!, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafe {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgModuleQuerySafe();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.requests.push(QueryRequest.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgModuleQuerySafe {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n requests: globalThis.Array.isArray(object?.requests)\n ? object.requests.map((e: any) => QueryRequest.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: MsgModuleQuerySafe): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.requests?.length) {\n obj.requests = message.requests.map((e) => QueryRequest.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgModuleQuerySafe>): MsgModuleQuerySafe {\n const message = createBaseMsgModuleQuerySafe();\n message.signer = object.signer ?? \"\";\n message.requests = object.requests?.map((e) => QueryRequest.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseMsgModuleQuerySafeResponse(): MsgModuleQuerySafeResponse {\n return { height: Long.UZERO, responses: [] };\n}\n\nexport const MsgModuleQuerySafeResponse: MessageFns<\n MsgModuleQuerySafeResponse,\n \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse\" as const,\n\n encode(message: MsgModuleQuerySafeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.height.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.height.toString());\n }\n for (const v of message.responses) {\n writer.uint32(18).bytes(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgModuleQuerySafeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.height = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.responses.push(reader.bytes());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgModuleQuerySafeResponse {\n return {\n height: isSet(object.height) ? Long.fromValue(object.height) : Long.UZERO,\n responses: globalThis.Array.isArray(object?.responses)\n ? object.responses.map((e: any) => bytesFromBase64(e))\n : [],\n };\n },\n\n toJSON(message: MsgModuleQuerySafeResponse): unknown {\n const obj: any = {};\n if (!message.height.equals(Long.UZERO)) {\n obj.height = (message.height || Long.UZERO).toString();\n }\n if (message.responses?.length) {\n obj.responses = message.responses.map((e) => base64FromBytes(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgModuleQuerySafeResponse>): MsgModuleQuerySafeResponse {\n const message = createBaseMsgModuleQuerySafeResponse();\n message.height = (object.height !== undefined && object.height !== null)\n ? Long.fromValue(object.height)\n : Long.UZERO;\n message.responses = object.responses?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/account.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { BaseAccount } from \"../../../../cosmos/auth/v1beta1/auth.ts\";\n\n/** An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain */\nexport interface InterchainAccount {\n baseAccount: BaseAccount | undefined;\n accountOwner: string;\n}\n\nfunction createBaseInterchainAccount(): InterchainAccount {\n return { baseAccount: undefined, accountOwner: \"\" };\n}\n\nexport const InterchainAccount: MessageFns<\n InterchainAccount,\n \"ibc.applications.interchain_accounts.v1.InterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.v1.InterchainAccount\" as const,\n\n encode(message: InterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.baseAccount !== undefined) {\n BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).join();\n }\n if (message.accountOwner !== \"\") {\n writer.uint32(18).string(message.accountOwner);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.baseAccount = BaseAccount.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.accountOwner = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InterchainAccount {\n return {\n baseAccount: isSet(object.base_account) ? BaseAccount.fromJSON(object.base_account) : undefined,\n accountOwner: isSet(object.account_owner) ? globalThis.String(object.account_owner) : \"\",\n };\n },\n\n toJSON(message: InterchainAccount): unknown {\n const obj: any = {};\n if (message.baseAccount !== undefined) {\n obj.base_account = BaseAccount.toJSON(message.baseAccount);\n }\n if (message.accountOwner !== \"\") {\n obj.account_owner = message.accountOwner;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<InterchainAccount>): InterchainAccount {\n const message = createBaseInterchainAccount();\n message.baseAccount = (object.baseAccount !== undefined && object.baseAccount !== null)\n ? BaseAccount.fromPartial(object.baseAccount)\n : undefined;\n message.accountOwner = object.accountOwner ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/metadata.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring\n * See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning\n */\nexport interface Metadata {\n /** version defines the ICS27 protocol version */\n version: string;\n /** controller_connection_id is the connection identifier associated with the controller chain */\n controllerConnectionId: string;\n /** host_connection_id is the connection identifier associated with the host chain */\n hostConnectionId: string;\n /**\n * address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step\n * NOTE: the address field is empty on the OnChanOpenInit handshake step\n */\n address: string;\n /** encoding defines the supported codec format */\n encoding: string;\n /** tx_type defines the type of transactions the interchain account can execute */\n txType: string;\n}\n\nfunction createBaseMetadata(): Metadata {\n return { version: \"\", controllerConnectionId: \"\", hostConnectionId: \"\", address: \"\", encoding: \"\", txType: \"\" };\n}\n\nexport const Metadata: MessageFns<Metadata, \"ibc.applications.interchain_accounts.v1.Metadata\"> = {\n $type: \"ibc.applications.interchain_accounts.v1.Metadata\" as const,\n\n encode(message: Metadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.version !== \"\") {\n writer.uint32(10).string(message.version);\n }\n if (message.controllerConnectionId !== \"\") {\n writer.uint32(18).string(message.controllerConnectionId);\n }\n if (message.hostConnectionId !== \"\") {\n writer.uint32(26).string(message.hostConnectionId);\n }\n if (message.address !== \"\") {\n writer.uint32(34).string(message.address);\n }\n if (message.encoding !== \"\") {\n writer.uint32(42).string(message.encoding);\n }\n if (message.txType !== \"\") {\n writer.uint32(50).string(message.txType);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Metadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.controllerConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.hostConnectionId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.encoding = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.txType = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Metadata {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n controllerConnectionId: isSet(object.controller_connection_id)\n ? globalThis.String(object.controller_connection_id)\n : \"\",\n hostConnectionId: isSet(object.host_connection_id) ? globalThis.String(object.host_connection_id) : \"\",\n address: isSet(object.address) ? globalThis.String(object.address) : \"\",\n encoding: isSet(object.encoding) ? globalThis.String(object.encoding) : \"\",\n txType: isSet(object.tx_type) ? globalThis.String(object.tx_type) : \"\",\n };\n },\n\n toJSON(message: Metadata): unknown {\n const obj: any = {};\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.controllerConnectionId !== \"\") {\n obj.controller_connection_id = message.controllerConnectionId;\n }\n if (message.hostConnectionId !== \"\") {\n obj.host_connection_id = message.hostConnectionId;\n }\n if (message.address !== \"\") {\n obj.address = message.address;\n }\n if (message.encoding !== \"\") {\n obj.encoding = message.encoding;\n }\n if (message.txType !== \"\") {\n obj.tx_type = message.txType;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Metadata>): Metadata {\n const message = createBaseMetadata();\n message.version = object.version ?? \"\";\n message.controllerConnectionId = object.controllerConnectionId ?? \"\";\n message.hostConnectionId = object.hostConnectionId ?? \"\";\n message.address = object.address ?? \"\";\n message.encoding = object.encoding ?? \"\";\n message.txType = object.txType ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/authz.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\n\n/** Allocation defines the spend limit for a particular port and channel */\nexport interface Allocation {\n /** the port on which the packet will be sent */\n sourcePort: string;\n /** the channel by which the packet will be sent */\n sourceChannel: string;\n /** spend limitation on the channel */\n spendLimit: Coin[];\n /** allow list of receivers, an empty allow list permits any receiver address */\n allowList: string[];\n /**\n * allow list of memo strings, an empty list prohibits all memo strings;\n * a list only with \"*\" permits any memo string\n */\n allowedPacketData: string[];\n}\n\n/**\n * TransferAuthorization allows the grantee to spend up to spend_limit coins from\n * the granter's account for ibc transfer on a specific channel\n */\nexport interface TransferAuthorization {\n /** port and channel amounts */\n allocations: Allocation[];\n}\n\nfunction createBaseAllocation(): Allocation {\n return { sourcePort: \"\", sourceChannel: \"\", spendLimit: [], allowList: [], allowedPacketData: [] };\n}\n\nexport const Allocation: MessageFns<Allocation, \"ibc.applications.transfer.v1.Allocation\"> = {\n $type: \"ibc.applications.transfer.v1.Allocation\" as const,\n\n encode(message: Allocation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sourcePort !== \"\") {\n writer.uint32(10).string(message.sourcePort);\n }\n if (message.sourceChannel !== \"\") {\n writer.uint32(18).string(message.sourceChannel);\n }\n for (const v of message.spendLimit) {\n Coin.encode(v!, writer.uint32(26).fork()).join();\n }\n for (const v of message.allowList) {\n writer.uint32(34).string(v!);\n }\n for (const v of message.allowedPacketData) {\n writer.uint32(42).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Allocation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAllocation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sourcePort = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sourceChannel = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.spendLimit.push(Coin.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.allowList.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.allowedPacketData.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Allocation {\n return {\n sourcePort: isSet(object.source_port) ? globalThis.String(object.source_port) : \"\",\n sourceChannel: isSet(object.source_channel) ? globalThis.String(object.source_channel) : \"\",\n spendLimit: globalThis.Array.isArray(object?.spend_limit)\n ? object.spend_limit.map((e: any) => Coin.fromJSON(e))\n : [],\n allowList: globalThis.Array.isArray(object?.allow_list)\n ? object.allow_list.map((e: any) => globalThis.String(e))\n : [],\n allowedPacketData: globalThis.Array.isArray(object?.allowed_packet_data)\n ? object.allowed_packet_data.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Allocation): unknown {\n const obj: any = {};\n if (message.sourcePort !== \"\") {\n obj.source_port = message.sourcePort;\n }\n if (message.sourceChannel !== \"\") {\n obj.source_channel = message.sourceChannel;\n }\n if (message.spendLimit?.length) {\n obj.spend_limit = message.spendLimit.map((e) => Coin.toJSON(e));\n }\n if (message.allowList?.length) {\n obj.allow_list = message.allowList;\n }\n if (message.allowedPacketData?.length) {\n obj.allowed_packet_data = message.allowedPacketData;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Allocation>): Allocation {\n const message = createBaseAllocation();\n message.sourcePort = object.sourcePort ?? \"\";\n message.sourceChannel = object.sourceChannel ?? \"\";\n message.spendLimit = object.spendLimit?.map((e) => Coin.fromPartial(e)) || [];\n message.allowList = object.allowList?.map((e) => e) || [];\n message.allowedPacketData = object.allowedPacketData?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseTransferAuthorization(): TransferAuthorization {\n return { allocations: [] };\n}\n\nexport const TransferAuthorization: MessageFns<\n TransferAuthorization,\n \"ibc.applications.transfer.v1.TransferAuthorization\"\n> = {\n $type: \"ibc.applications.transfer.v1.TransferAuthorization\" as const,\n\n encode(message: TransferAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.allocations) {\n Allocation.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TransferAuthorization {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransferAuthorization();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.allocations.push(Allocation.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TransferAuthorization {\n return {\n allocations: globalThis.Array.isArray(object?.allocations)\n ? object.allocations.map((e: any) => Allocation.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: TransferAuthorization): unknown {\n const obj: any = {};\n if (message.allocations?.length) {\n obj.allocations = message.allocations.map((e) => Allocation.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<TransferAuthorization>): TransferAuthorization {\n const message = createBaseTransferAuthorization();\n message.allocations = object.allocations?.map((e) => Allocation.fromPartial(e)) || [];\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/denomtrace.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * DenomTrace contains the base denomination for ICS20 fungible tokens and the\n * source tracing information path.\n *\n * @deprecated\n */\nexport interface DenomTrace {\n /**\n * path defines the chain of port/channel identifiers used for tracing the\n * source of the fungible token.\n */\n path: string;\n /** base denomination of the relayed fungible token. */\n baseDenom: string;\n}\n\nfunction createBaseDenomTrace(): DenomTrace {\n return { path: \"\", baseDenom: \"\" };\n}\n\nexport const DenomTrace: MessageFns<DenomTrace, \"ibc.applications.transfer.v1.DenomTrace\"> = {\n $type: \"ibc.applications.transfer.v1.DenomTrace\" as const,\n\n encode(message: DenomTrace, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.baseDenom !== \"\") {\n writer.uint32(18).string(message.baseDenom);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DenomTrace {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDenomTrace();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.baseDenom = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DenomTrace {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n baseDenom: isSet(object.base_denom) ? globalThis.String(object.base_denom) : \"\",\n };\n },\n\n toJSON(message: DenomTrace): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.baseDenom !== \"\") {\n obj.base_denom = message.baseDenom;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<DenomTrace>): DenomTrace {\n const message = createBaseDenomTrace();\n message.path = object.path ?? \"\";\n message.baseDenom = object.baseDenom ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/transfer.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of IBC transfer parameters.\n * NOTE: To prevent a single token from being transferred, set the\n * TransfersEnabled parameter to true and then set the bank module's SendEnabled\n * parameter for the denomination to false.\n */\nexport interface Params {\n /**\n * send_enabled enables or disables all cross-chain token transfers from this\n * chain.\n */\n sendEnabled: boolean;\n /**\n * receive_enabled enables or disables all cross-chain token transfers to this\n * chain.\n */\n receiveEnabled: boolean;\n}\n\nfunction createBaseParams(): Params {\n return { sendEnabled: false, receiveEnabled: false };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.transfer.v1.Params\"> = {\n $type: \"ibc.applications.transfer.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sendEnabled !== false) {\n writer.uint32(8).bool(message.sendEnabled);\n }\n if (message.receiveEnabled !== false) {\n writer.uint32(16).bool(message.receiveEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sendEnabled = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.receiveEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n sendEnabled: isSet(object.send_enabled) ? globalThis.Boolean(object.send_enabled) : false,\n receiveEnabled: isSet(object.receive_enabled) ? globalThis.Boolean(object.receive_enabled) : false,\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.sendEnabled !== false) {\n obj.send_enabled = message.sendEnabled;\n }\n if (message.receiveEnabled !== false) {\n obj.receive_enabled = message.receiveEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.sendEnabled = object.sendEnabled ?? false;\n message.receiveEnabled = object.receiveEnabled ?? false;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/token.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** Token defines a struct which represents a token to be transferred. */\nexport interface Token {\n /** the token denomination */\n denom:\n | Denom\n | undefined;\n /** the token amount to be transferred */\n amount: string;\n}\n\n/** Denom holds the base denom of a Token and a trace of the chains it was sent through. */\nexport interface Denom {\n /** the base token denomination */\n base: string;\n /** the trace of the token */\n trace: Hop[];\n}\n\n/** Hop defines a port ID, channel ID pair specifying a unique \"hop\" in a trace */\nexport interface Hop {\n portId: string;\n channelId: string;\n}\n\nfunction createBaseToken(): Token {\n return { denom: undefined, amount: \"\" };\n}\n\nexport const Token: MessageFns<Token, \"ibc.applications.transfer.v1.Token\"> = {\n $type: \"ibc.applications.transfer.v1.Token\" as const,\n\n encode(message: Token, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== undefined) {\n Denom.encode(message.denom, writer.uint32(10).fork()).join();\n }\n if (message.amount !== \"\") {\n writer.uint32(18).string(message.amount);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Token {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseToken();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = Denom.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Token {\n return {\n denom: isSet(object.denom) ? Denom.fromJSON(object.denom) : undefined,\n amount: isSet(object.amount) ? globalThis.String(object.amount) : \"\",\n };\n },\n\n toJSON(message: Token): unknown {\n const obj: any = {};\n if (message.denom !== undefined) {\n obj.denom = Denom.toJSON(message.denom);\n }\n if (message.amount !== \"\") {\n obj.amount = message.amount;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Token>): Token {\n const message = createBaseToken();\n message.denom = (object.denom !== undefined && object.denom !== null) ? Denom.fromPartial(object.denom) : undefined;\n message.amount = object.amount ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDenom(): Denom {\n return { base: \"\", trace: [] };\n}\n\nexport const Denom: MessageFns<Denom, \"ibc.applications.transfer.v1.Denom\"> = {\n $type: \"ibc.applications.transfer.v1.Denom\" as const,\n\n encode(message: Denom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.base !== \"\") {\n writer.uint32(10).string(message.base);\n }\n for (const v of message.trace) {\n Hop.encode(v!, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Denom {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDenom();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.base = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trace.push(Hop.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Denom {\n return {\n base: isSet(object.base) ? globalThis.String(object.base) : \"\",\n trace: globalThis.Array.isArray(object?.trace) ? object.trace.map((e: any) => Hop.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: Denom): unknown {\n const obj: any = {};\n if (message.base !== \"\") {\n obj.base = message.base;\n }\n if (message.trace?.length) {\n obj.trace = message.trace.map((e) => Hop.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Denom>): Denom {\n const message = createBaseDenom();\n message.base = object.base ?? \"\";\n message.trace = object.trace?.map((e) => Hop.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseHop(): Hop {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const Hop: MessageFns<Hop, \"ibc.applications.transfer.v1.Hop\"> = {\n $type: \"ibc.applications.transfer.v1.Hop\" as const,\n\n encode(message: Hop, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Hop {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHop();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Hop {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: Hop): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Hop>): Hop {\n const message = createBaseHop();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Denom } from \"./token.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/** GenesisState defines the ibc-transfer genesis state */\nexport interface GenesisState {\n portId: string;\n denoms: Denom[];\n params:\n | Params\n | undefined;\n /**\n * total_escrowed contains the total amount of tokens escrowed\n * by the transfer module\n */\n totalEscrowed: Coin[];\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { portId: \"\", denoms: [], params: undefined, totalEscrowed: [] };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.applications.transfer.v1.GenesisState\"> = {\n $type: \"ibc.applications.transfer.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n for (const v of message.denoms) {\n Denom.encode(v!, writer.uint32(18).fork()).join();\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(26).fork()).join();\n }\n for (const v of message.totalEscrowed) {\n Coin.encode(v!, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.denoms.push(Denom.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.totalEscrowed.push(Coin.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n denoms: globalThis.Array.isArray(object?.denoms) ? object.denoms.map((e: any) => Denom.fromJSON(e)) : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n totalEscrowed: globalThis.Array.isArray(object?.total_escrowed)\n ? object.total_escrowed.map((e: any) => Coin.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.denoms?.length) {\n obj.denoms = message.denoms.map((e) => Denom.toJSON(e));\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n if (message.totalEscrowed?.length) {\n obj.total_escrowed = message.totalEscrowed.map((e) => Coin.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.portId = object.portId ?? \"\";\n message.denoms = object.denoms?.map((e) => Denom.fromPartial(e)) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n message.totalEscrowed = object.totalEscrowed?.map((e) => Coin.fromPartial(e)) || [];\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/packet.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * FungibleTokenPacketData defines a struct for the packet payload\n * See FungibleTokenPacketData spec:\n * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures\n */\nexport interface FungibleTokenPacketData {\n /** the token denomination to be transferred */\n denom: string;\n /** the token amount to be transferred */\n amount: string;\n /** the sender address */\n sender: string;\n /** the recipient address on the destination chain */\n receiver: string;\n /** optional memo */\n memo: string;\n}\n\nfunction createBaseFungibleTokenPacketData(): FungibleTokenPacketData {\n return { denom: \"\", amount: \"\", sender: \"\", receiver: \"\", memo: \"\" };\n}\n\nexport const FungibleTokenPacketData: MessageFns<\n FungibleTokenPacketData,\n \"ibc.applications.transfer.v1.FungibleTokenPacketData\"\n> = {\n $type: \"ibc.applications.transfer.v1.FungibleTokenPacketData\" as const,\n\n encode(message: FungibleTokenPacketData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== \"\") {\n writer.uint32(10).string(message.denom);\n }\n if (message.amount !== \"\") {\n writer.uint32(18).string(message.amount);\n }\n if (message.sender !== \"\") {\n writer.uint32(26).string(message.sender);\n }\n if (message.receiver !== \"\") {\n writer.uint32(34).string(message.receiver);\n }\n if (message.memo !== \"\") {\n writer.uint32(42).string(message.memo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FungibleTokenPacketData {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFungibleTokenPacketData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.receiver = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FungibleTokenPacketData {\n return {\n denom: isSet(object.denom) ? globalThis.String(object.denom) : \"\",\n amount: isSet(object.amount) ? globalThis.String(object.amount) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : \"\",\n receiver: isSet(object.receiver) ? globalThis.String(object.receiver) : \"\",\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n };\n },\n\n toJSON(message: FungibleTokenPacketData): unknown {\n const obj: any = {};\n if (message.denom !== \"\") {\n obj.denom = message.denom;\n }\n if (message.amount !== \"\") {\n obj.amount = message.amount;\n }\n if (message.sender !== \"\") {\n obj.sender = message.sender;\n }\n if (message.receiver !== \"\") {\n obj.receiver = message.receiver;\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<FungibleTokenPacketData>): FungibleTokenPacketData {\n const message = createBaseFungibleTokenPacketData();\n message.denom = object.denom ?? \"\";\n message.amount = object.amount ?? \"\";\n message.sender = object.sender ?? \"\";\n message.receiver = object.receiver ?? \"\";\n message.memo = object.memo ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Denom } from \"./token.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\n/**\n * QueryDenomRequest is the request type for the Query/Denom RPC\n * method\n */\nexport interface QueryDenomRequest {\n /** hash (in hex format) or denom (full denom with ibc prefix) of the on chain denomination. */\n hash: string;\n}\n\n/**\n * QueryDenomResponse is the response type for the Query/Denom RPC\n * method.\n */\nexport interface QueryDenomResponse {\n /** denom returns the requested denomination. */\n denom: Denom | undefined;\n}\n\n/**\n * QueryDenomsRequest is the request type for the Query/Denoms RPC\n * method\n */\nexport interface QueryDenomsRequest {\n /** pagination defines an optional pagination for the request. */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryDenomsResponse is the response type for the Query/Denoms RPC\n * method.\n */\nexport interface QueryDenomsResponse {\n /** denoms returns all denominations. */\n denoms: Denom[];\n /** pagination defines the pagination in the response. */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryDenomHashRequest is the request type for the Query/DenomHash RPC\n * method\n */\nexport interface QueryDenomHashRequest {\n /** The denomination trace ([port_id]/[channel_id])+/[denom] */\n trace: string;\n}\n\n/**\n * QueryDenomHashResponse is the response type for the Query/DenomHash RPC\n * method.\n */\nexport interface QueryDenomHashResponse {\n /** hash (in hex format) of the denomination trace information. */\n hash: string;\n}\n\n/** QueryEscrowAddressRequest is the request type for the EscrowAddress RPC method. */\nexport interface QueryEscrowAddressRequest {\n /** unique port identifier */\n portId: string;\n /** unique channel identifier */\n channelId: string;\n}\n\n/** QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method. */\nexport interface QueryEscrowAddressResponse {\n /** the escrow account address */\n escrowAddress: string;\n}\n\n/** QueryTotalEscrowForDenomRequest is the request type for TotalEscrowForDenom RPC method. */\nexport interface QueryTotalEscrowForDenomRequest {\n denom: string;\n}\n\n/** QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method. */\nexport interface QueryTotalEscrowForDenomResponse {\n amount: Coin | undefined;\n}\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<QueryParamsRequest, \"ibc.applications.transfer.v1.QueryParamsRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<QueryParamsResponse, \"ibc.applications.transfer.v1.QueryParamsResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n };\n\nfunction createBaseQueryDenomRequest(): QueryDenomRequest {\n return { hash: \"\" };\n}\n\nexport const QueryDenomRequest: MessageFns<QueryDenomRequest, \"ibc.applications.transfer.v1.QueryDenomRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomRequest\" as const,\n\n encode(message: QueryDenomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hash !== \"\") {\n writer.uint32(10).string(message.hash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.hash = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomRequest {\n return { hash: isSet(object.hash) ? globalThis.String(object.hash) : \"\" };\n },\n\n toJSON(message: QueryDenomRequest): unknown {\n const obj: any = {};\n if (message.hash !== \"\") {\n obj.hash = message.hash;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomRequest>): QueryDenomRequest {\n const message = createBaseQueryDenomRequest();\n message.hash = object.hash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryDenomResponse(): QueryDenomResponse {\n return { denom: undefined };\n}\n\nexport const QueryDenomResponse: MessageFns<QueryDenomResponse, \"ibc.applications.transfer.v1.QueryDenomResponse\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomResponse\" as const,\n\n encode(message: QueryDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== undefined) {\n Denom.encode(message.denom, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = Denom.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomResponse {\n return { denom: isSet(object.denom) ? Denom.fromJSON(object.denom) : undefined };\n },\n\n toJSON(message: QueryDenomResponse): unknown {\n const obj: any = {};\n if (message.denom !== undefined) {\n obj.denom = Denom.toJSON(message.denom);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomResponse>): QueryDenomResponse {\n const message = createBaseQueryDenomResponse();\n message.denom = (object.denom !== undefined && object.denom !== null) ? Denom.fromPartial(object.denom) : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryDenomsRequest(): QueryDenomsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryDenomsRequest: MessageFns<QueryDenomsRequest, \"ibc.applications.transfer.v1.QueryDenomsRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomsRequest\" as const,\n\n encode(message: QueryDenomsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryDenomsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomsRequest>): QueryDenomsRequest {\n const message = createBaseQueryDenomsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryDenomsResponse(): QueryDenomsResponse {\n return { denoms: [], pagination: undefined };\n}\n\nexport const QueryDenomsResponse: MessageFns<QueryDenomsResponse, \"ibc.applications.transfer.v1.QueryDenomsResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.QueryDenomsResponse\" as const,\n\n encode(message: QueryDenomsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.denoms) {\n Denom.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denoms.push(Denom.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomsResponse {\n return {\n denoms: globalThis.Array.isArray(object?.denoms) ? object.denoms.map((e: any) => Denom.fromJSON(e)) : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryDenomsResponse): unknown {\n const obj: any = {};\n if (message.denoms?.length) {\n obj.denoms = message.denoms.map((e) => Denom.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomsResponse>): QueryDenomsResponse {\n const message = createBaseQueryDenomsResponse();\n message.denoms = object.denoms?.map((e) => Denom.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n };\n\nfunction createBaseQueryDenomHashRequest(): QueryDenomHashRequest {\n return { trace: \"\" };\n}\n\nexport const QueryDenomHashRequest: MessageFns<\n QueryDenomHashRequest,\n \"ibc.applications.transfer.v1.QueryDenomHashRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomHashRequest\" as const,\n\n encode(message: QueryDenomHashRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.trace !== \"\") {\n writer.uint32(10).string(message.trace);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomHashRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomHashRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.trace = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomHashRequest {\n return { trace: isSet(object.trace) ? globalThis.String(object.trace) : \"\" };\n },\n\n toJSON(message: QueryDenomHashRequest): unknown {\n const obj: any = {};\n if (message.trace !== \"\") {\n obj.trace = message.trace;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomHashRequest>): QueryDenomHashRequest {\n const message = createBaseQueryDenomHashRequest();\n message.trace = object.trace ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryDenomHashResponse(): QueryDenomHashResponse {\n return { hash: \"\" };\n}\n\nexport const QueryDenomHashResponse: MessageFns<\n QueryDenomHashResponse,\n \"ibc.applications.transfer.v1.QueryDenomHashResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomHashResponse\" as const,\n\n encode(message: QueryDenomHashResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hash !== \"\") {\n writer.uint32(10).string(message.hash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomHashResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomHashResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.hash = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomHashResponse {\n return { hash: isSet(object.hash) ? globalThis.String(object.hash) : \"\" };\n },\n\n toJSON(message: QueryDenomHashResponse): unknown {\n const obj: any = {};\n if (message.hash !== \"\") {\n obj.hash = message.hash;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomHashResponse>): QueryDenomHashResponse {\n const message = createBaseQueryDenomHashResponse();\n message.hash = object.hash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryEscrowAddressRequest(): QueryEscrowAddressRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryEscrowAddressRequest: MessageFns<\n QueryEscrowAddressRequest,\n \"ibc.applications.transfer.v1.QueryEscrowAddressRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryEscrowAddressRequest\" as const,\n\n encode(message: QueryEscrowAddressRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryEscrowAddressRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryEscrowAddressRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryEscrowAddressRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryEscrowAddressRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryEscrowAddressRequest>): QueryEscrowAddressRequest {\n const message = createBaseQueryEscrowAddressRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryEscrowAddressResponse(): QueryEscrowAddressResponse {\n return { escrowAddress: \"\" };\n}\n\nexport const QueryEscrowAddressResponse: MessageFns<\n QueryEscrowAddressResponse,\n \"ibc.applications.transfer.v1.QueryEscrowAddressResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryEscrowAddressResponse\" as const,\n\n encode(message: QueryEscrowAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.escrowAddress !== \"\") {\n writer.uint32(10).string(message.escrowAddress);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryEscrowAddressResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryEscrowAddressResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.escrowAddress = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryEscrowAddressResponse {\n return { escrowAddress: isSet(object.escrow_address) ? globalThis.String(object.escrow_address) : \"\" };\n },\n\n toJSON(message: QueryEscrowAddressResponse): unknown {\n const obj: any = {};\n if (message.escrowAddress !== \"\") {\n obj.escrow_address = message.escrowAddress;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryEscrowAddressResponse>): QueryEscrowAddressResponse {\n const message = createBaseQueryEscrowAddressResponse();\n message.escrowAddress = object.escrowAddress ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryTotalEscrowForDenomRequest(): QueryTotalEscrowForDenomRequest {\n return { denom: \"\" };\n}\n\nexport const QueryTotalEscrowForDenomRequest: MessageFns<\n QueryTotalEscrowForDenomRequest,\n \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest\" as const,\n\n encode(message: QueryTotalEscrowForDenomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== \"\") {\n writer.uint32(10).string(message.denom);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalEscrowForDenomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryTotalEscrowForDenomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryTotalEscrowForDenomRequest {\n return { denom: isSet(object.denom) ? globalThis.String(object.denom) : \"\" };\n },\n\n toJSON(message: QueryTotalEscrowForDenomRequest): unknown {\n const obj: any = {};\n if (message.denom !== \"\") {\n obj.denom = message.denom;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryTotalEscrowForDenomRequest>): QueryTotalEscrowForDenomRequest {\n const message = createBaseQueryTotalEscrowForDenomRequest();\n message.denom = object.denom ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryTotalEscrowForDenomResponse(): QueryTotalEscrowForDenomResponse {\n return { amount: undefined };\n}\n\nexport const QueryTotalEscrowForDenomResponse: MessageFns<\n QueryTotalEscrowForDenomResponse,\n \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse\" as const,\n\n encode(message: QueryTotalEscrowForDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.amount !== undefined) {\n Coin.encode(message.amount, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalEscrowForDenomResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryTotalEscrowForDenomResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.amount = Coin.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryTotalEscrowForDenomResponse {\n return { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined };\n },\n\n toJSON(message: QueryTotalEscrowForDenomResponse): unknown {\n const obj: any = {};\n if (message.amount !== undefined) {\n obj.amount = Coin.toJSON(message.amount);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryTotalEscrowForDenomResponse>): QueryTotalEscrowForDenomResponse {\n const message = createBaseQueryTotalEscrowForDenomResponse();\n message.amount = (object.amount !== undefined && object.amount !== null)\n ? Coin.fromPartial(object.amount)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/applications/transfer/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/**\n * MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\n * ICS20 enabled chains. See ICS Spec here:\n * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures\n */\nexport interface MsgTransfer {\n /** the port on which the packet will be sent */\n sourcePort: string;\n /** the channel by which the packet will be sent */\n sourceChannel: string;\n /** token to be transferred */\n token:\n | Coin\n | undefined;\n /** the sender address */\n sender: string;\n /** the recipient address on the destination chain */\n receiver: string;\n /**\n * Timeout height relative to the current block height.\n * If you are sending with IBC v1 protocol, either timeout_height or timeout_timestamp must be set.\n * If you are sending with IBC v2 protocol, timeout_timestamp must be set, and timeout_height must be omitted.\n */\n timeoutHeight:\n | Height\n | undefined;\n /**\n * Timeout timestamp in absolute nanoseconds since unix epoch.\n * If you are sending with IBC v1 protocol, either timeout_height or timeout_timestamp must be set.\n * If you are sending with IBC v2 protocol, timeout_timestamp must be set.\n */\n timeoutTimestamp: Long;\n /** optional memo */\n memo: string;\n /** optional encoding */\n encoding: string;\n}\n\n/** MsgTransferResponse defines the Msg/Transfer response type. */\nexport interface MsgTransferResponse {\n /** sequence number of the transfer packet sent */\n sequence: Long;\n}\n\n/** MsgUpdateParams is the Msg/UpdateParams request type. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the transfer parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/**\n * MsgUpdateParamsResponse defines the response structure for executing a\n * MsgUpdateParams message.\n */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgTransfer(): MsgTransfer {\n return {\n sourcePort: \"\",\n sourceChannel: \"\",\n token: undefined,\n sender: \"\",\n receiver: \"\",\n timeoutHeight: undefined,\n timeoutTimestamp: Long.UZERO,\n memo: \"\",\n encoding: \"\",\n };\n}\n\nexport const MsgTransfer: MessageFns<MsgTransfer, \"ibc.applications.transfer.v1.MsgTransfer\"> = {\n $type: \"ibc.applications.transfer.v1.MsgTransfer\" as const,\n\n encode(message: MsgTransfer, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sourcePort !== \"\") {\n writer.uint32(10).string(message.sourcePort);\n }\n if (message.sourceChannel !== \"\") {\n writer.uint32(18).string(message.sourceChannel);\n }\n if (message.token !== undefined) {\n Coin.encode(message.token, writer.uint32(26).fork()).join();\n }\n if (message.sender !== \"\") {\n writer.uint32(34).string(message.sender);\n }\n if (message.receiver !== \"\") {\n writer.uint32(42).string(message.receiver);\n }\n if (message.timeoutHeight !== undefined) {\n Height.encode(message.timeoutHeight, writer.uint32(50).fork()).join();\n }\n if (!message.timeoutTimestamp.equals(Long.UZERO)) {\n writer.uint32(56).uint64(message.timeoutTimestamp.toString());\n }\n if (message.memo !== \"\") {\n writer.uint32(66).string(message.memo);\n }\n if (message.encoding !== \"\") {\n writer.uint32(74).string(message.encoding);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTransfer {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTransfer();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sourcePort = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sourceChannel = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.token = Coin.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.receiver = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.timeoutHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.timeoutTimestamp = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.encoding = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTransfer {\n return {\n sourcePort: isSet(object.source_port) ? globalThis.String(object.source_port) : \"\",\n sourceChannel: isSet(object.source_channel) ? globalThis.String(object.source_channel) : \"\",\n token: isSet(object.token) ? Coin.fromJSON(object.token) : undefined,\n sender: isSet(object.sender) ? globalThis.String(object.sender) : \"\",\n receiver: isSet(object.receiver) ? globalThis.String(object.receiver) : \"\",\n timeoutHeight: isSet(object.timeout_height) ? Height.fromJSON(object.timeout_height) : undefined,\n timeoutTimestamp: isSet(object.timeout_timestamp) ? Long.fromValue(object.timeout_timestamp) : Long.UZERO,\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n encoding: isSet(object.encoding) ? globalThis.String(object.encoding) : \"\",\n };\n },\n\n toJSON(message: MsgTransfer): unknown {\n const obj: any = {};\n if (message.sourcePort !== \"\") {\n obj.source_port = message.sourcePort;\n }\n if (message.sourceChannel !== \"\") {\n obj.source_channel = message.sourceChannel;\n }\n if (message.token !== undefined) {\n obj.token = Coin.toJSON(message.token);\n }\n if (message.sender !== \"\") {\n obj.sender = message.sender;\n }\n if (message.receiver !== \"\") {\n obj.receiver = message.receiver;\n }\n if (message.timeoutHeight !== undefined) {\n obj.timeout_height = Height.toJSON(message.timeoutHeight);\n }\n if (!message.timeoutTimestamp.equals(Long.UZERO)) {\n obj.timeout_timestamp = (message.timeoutTimestamp || Long.UZERO).toString();\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n if (message.encoding !== \"\") {\n obj.encoding = message.encoding;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTransfer>): MsgTransfer {\n const message = createBaseMsgTransfer();\n message.sourcePort = object.sourcePort ?? \"\";\n message.sourceChannel = object.sourceChannel ?? \"\";\n message.token = (object.token !== undefined && object.token !== null) ? Coin.fromPartial(object.token) : undefined;\n message.sender = object.sender ?? \"\";\n message.receiver = object.receiver ?? \"\";\n message.timeoutHeight = (object.timeoutHeight !== undefined && object.timeoutHeight !== null)\n ? Height.fromPartial(object.timeoutHeight)\n : undefined;\n message.timeoutTimestamp = (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null)\n ? Long.fromValue(object.timeoutTimestamp)\n : Long.UZERO;\n message.memo = object.memo ?? \"\";\n message.encoding = object.encoding ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTransferResponse(): MsgTransferResponse {\n return { sequence: Long.UZERO };\n}\n\nexport const MsgTransferResponse: MessageFns<MsgTransferResponse, \"ibc.applications.transfer.v1.MsgTransferResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.MsgTransferResponse\" as const,\n\n encode(message: MsgTransferResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTransferResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTransferResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTransferResponse {\n return { sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO };\n },\n\n toJSON(message: MsgTransferResponse): unknown {\n const obj: any = {};\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTransferResponse>): MsgTransferResponse {\n const message = createBaseMsgTransferResponse();\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n };\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.applications.transfer.v1.MsgUpdateParams\"> = {\n $type: \"ibc.applications.transfer.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.transfer.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/channel/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { IdentifiedChannel, PacketState } from \"./channel.ts\";\n\n/** GenesisState defines the ibc channel submodule's genesis state. */\nexport interface GenesisState {\n channels: IdentifiedChannel[];\n acknowledgements: PacketState[];\n commitments: PacketState[];\n receipts: PacketState[];\n sendSequences: PacketSequence[];\n recvSequences: PacketSequence[];\n ackSequences: PacketSequence[];\n /** the sequence for the next generated channel identifier */\n nextChannelSequence: Long;\n}\n\n/**\n * PacketSequence defines the genesis type necessary to retrieve and store\n * next send and receive sequences.\n */\nexport interface PacketSequence {\n portId: string;\n channelId: string;\n sequence: Long;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n channels: [],\n acknowledgements: [],\n commitments: [],\n receipts: [],\n sendSequences: [],\n recvSequences: [],\n ackSequences: [],\n nextChannelSequence: Long.UZERO,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.channel.v1.GenesisState\"> = {\n $type: \"ibc.core.channel.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.acknowledgements) {\n PacketState.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.commitments) {\n PacketState.encode(v!, writer.uint32(26).fork()).join();\n }\n for (const v of message.receipts) {\n PacketState.encode(v!, writer.uint32(34).fork()).join();\n }\n for (const v of message.sendSequences) {\n PacketSequence.encode(v!, writer.uint32(42).fork()).join();\n }\n for (const v of message.recvSequences) {\n PacketSequence.encode(v!, writer.uint32(50).fork()).join();\n }\n for (const v of message.ackSequences) {\n PacketSequence.encode(v!, writer.uint32(58).fork()).join();\n }\n if (!message.nextChannelSequence.equals(Long.UZERO)) {\n writer.uint32(64).uint64(message.nextChannelSequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.acknowledgements.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.commitments.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.receipts.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sendSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.recvSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.ackSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 64) {\n break;\n }\n\n message.nextChannelSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n acknowledgements: globalThis.Array.isArray(object?.acknowledgements)\n ? object.acknowledgements.map((e: any) => PacketState.fromJSON(e))\n : [],\n commitments: globalThis.Array.isArray(object?.commitments)\n ? object.commitments.map((e: any) => PacketState.fromJSON(e))\n : [],\n receipts: globalThis.Array.isArray(object?.receipts)\n ? object.receipts.map((e: any) => PacketState.fromJSON(e))\n : [],\n sendSequences: globalThis.Array.isArray(object?.send_sequences)\n ? object.send_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n recvSequences: globalThis.Array.isArray(object?.recv_sequences)\n ? object.recv_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n ackSequences: globalThis.Array.isArray(object?.ack_sequences)\n ? object.ack_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n nextChannelSequence: isSet(object.next_channel_sequence)\n ? Long.fromValue(object.next_channel_sequence)\n : Long.UZERO,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.acknowledgements?.length) {\n obj.acknowledgements = message.acknowledgements.map((e) => PacketState.toJSON(e));\n }\n if (message.commitments?.length) {\n obj.commitments = message.commitments.map((e) => PacketState.toJSON(e));\n }\n if (message.receipts?.length) {\n obj.receipts = message.receipts.map((e) => PacketState.toJSON(e));\n }\n if (message.sendSequences?.length) {\n obj.send_sequences = message.sendSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (message.recvSequences?.length) {\n obj.recv_sequences = message.recvSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (message.ackSequences?.length) {\n obj.ack_sequences = message.ackSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (!message.nextChannelSequence.equals(Long.UZERO)) {\n obj.next_channel_sequence = (message.nextChannelSequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.acknowledgements = object.acknowledgements?.map((e) => PacketState.fromPartial(e)) || [];\n message.commitments = object.commitments?.map((e) => PacketState.fromPartial(e)) || [];\n message.receipts = object.receipts?.map((e) => PacketState.fromPartial(e)) || [];\n message.sendSequences = object.sendSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.recvSequences = object.recvSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.ackSequences = object.ackSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.nextChannelSequence = (object.nextChannelSequence !== undefined && object.nextChannelSequence !== null)\n ? Long.fromValue(object.nextChannelSequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBasePacketSequence(): PacketSequence {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const PacketSequence: MessageFns<PacketSequence, \"ibc.core.channel.v1.PacketSequence\"> = {\n $type: \"ibc.core.channel.v1.PacketSequence\" as const,\n\n encode(message: PacketSequence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PacketSequence {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePacketSequence();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PacketSequence {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: PacketSequence): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<PacketSequence>): PacketSequence {\n const message = createBasePacketSequence();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/channel/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height, IdentifiedClientState } from \"../../client/v1/client.ts\";\nimport { Channel, IdentifiedChannel, PacketState } from \"./channel.ts\";\n\n/** QueryChannelRequest is the request type for the Query/Channel RPC method */\nexport interface QueryChannelRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryChannelResponse is the response type for the Query/Channel RPC method.\n * Besides the Channel end, it includes a proof and the height from which the\n * proof was retrieved.\n */\nexport interface QueryChannelResponse {\n /** channel associated with the request identifiers */\n channel:\n | Channel\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/** QueryChannelsRequest is the request type for the Query/Channels RPC method */\nexport interface QueryChannelsRequest {\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/** QueryChannelsResponse is the response type for the Query/Channels RPC method. */\nexport interface QueryChannelsResponse {\n /** list of stored channels of the chain. */\n channels: IdentifiedChannel[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryConnectionChannelsRequest is the request type for the\n * Query/QueryConnectionChannels RPC method\n */\nexport interface QueryConnectionChannelsRequest {\n /** connection unique identifier */\n connection: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConnectionChannelsResponse is the Response type for the\n * Query/QueryConnectionChannels RPC method\n */\nexport interface QueryConnectionChannelsResponse {\n /** list of channels associated with a connection. */\n channels: IdentifiedChannel[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryChannelClientStateRequest is the request type for the Query/ClientState\n * RPC method\n */\nexport interface QueryChannelClientStateRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryChannelClientStateResponse is the Response type for the\n * Query/QueryChannelClientState RPC method\n */\nexport interface QueryChannelClientStateResponse {\n /** client state associated with the channel */\n identifiedClientState:\n | IdentifiedClientState\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryChannelConsensusStateRequest is the request type for the\n * Query/ConsensusState RPC method\n */\nexport interface QueryChannelConsensusStateRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** revision number of the consensus state */\n revisionNumber: Long;\n /** revision height of the consensus state */\n revisionHeight: Long;\n}\n\n/**\n * QueryChannelClientStateResponse is the Response type for the\n * Query/QueryChannelClientState RPC method\n */\nexport interface QueryChannelConsensusStateResponse {\n /** consensus state associated with the channel */\n consensusState:\n | Any\n | undefined;\n /** client ID associated with the consensus state */\n clientId: string;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketCommitmentRequest is the request type for the\n * Query/PacketCommitment RPC method\n */\nexport interface QueryPacketCommitmentRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketCommitmentResponse defines the client query response for a packet\n * which also includes a proof and the height from which the proof was\n * retrieved\n */\nexport interface QueryPacketCommitmentResponse {\n /** packet associated with the request fields */\n commitment: Uint8Array;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketCommitmentsRequest is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketCommitmentsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryPacketCommitmentsResponse is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketCommitmentsResponse {\n commitments: PacketState[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryPacketReceiptRequest is the request type for the\n * Query/PacketReceipt RPC method\n */\nexport interface QueryPacketReceiptRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketReceiptResponse defines the client query response for a packet\n * receipt which also includes a proof, and the height from which the proof was\n * retrieved\n */\nexport interface QueryPacketReceiptResponse {\n /** success flag for if receipt exists */\n received: boolean;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketAcknowledgementRequest is the request type for the\n * Query/PacketAcknowledgement RPC method\n */\nexport interface QueryPacketAcknowledgementRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketAcknowledgementResponse defines the client query response for a\n * packet which also includes a proof and the height from which the\n * proof was retrieved\n */\nexport interface QueryPacketAcknowledgementResponse {\n /** packet associated with the request fields */\n acknowledgement: Uint8Array;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketAcknowledgementsRequest is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketAcknowledgementsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** pagination request */\n pagination:\n | PageRequest\n | undefined;\n /** list of packet sequences */\n packetCommitmentSequences: Long[];\n}\n\n/**\n * QueryPacketAcknowledgemetsResponse is the request type for the\n * Query/QueryPacketAcknowledgements RPC method\n */\nexport interface QueryPacketAcknowledgementsResponse {\n acknowledgements: PacketState[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryUnreceivedPacketsRequest is the request type for the\n * Query/UnreceivedPackets RPC method\n */\nexport interface QueryUnreceivedPacketsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** list of packet sequences */\n packetCommitmentSequences: Long[];\n}\n\n/**\n * QueryUnreceivedPacketsResponse is the response type for the\n * Query/UnreceivedPacketCommitments RPC method\n */\nexport interface QueryUnreceivedPacketsResponse {\n /** list of unreceived packet sequences */\n sequences: Long[];\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryUnreceivedAcks is the request type for the\n * Query/UnreceivedAcks RPC method\n */\nexport interface QueryUnreceivedAcksRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** list of acknowledgement sequences */\n packetAckSequences: Long[];\n}\n\n/**\n * QueryUnreceivedAcksResponse is the response type for the\n * Query/UnreceivedAcks RPC method\n */\nexport interface QueryUnreceivedAcksResponse {\n /** list of unreceived acknowledgement sequences */\n sequences: Long[];\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryNextSequenceReceiveRequest is the request type for the\n * Query/QueryNextSequenceReceiveRequest RPC method\n */\nexport interface QueryNextSequenceReceiveRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QuerySequenceResponse is the response type for the\n * Query/QueryNextSequenceReceiveResponse RPC method\n */\nexport interface QueryNextSequenceReceiveResponse {\n /** next sequence receive number */\n nextSequenceReceive: Long;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryNextSequenceSendRequest is the request type for the\n * Query/QueryNextSequenceSend RPC method\n */\nexport interface QueryNextSequenceSendRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryNextSequenceSendResponse is the request type for the\n * Query/QueryNextSequenceSend RPC method\n */\nexport interface QueryNextSequenceSendResponse {\n /** next sequence send number */\n nextSequenceSend: Long;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\nfunction createBaseQueryChannelRequest(): QueryChannelRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryChannelRequest: MessageFns<QueryChannelRequest, \"ibc.core.channel.v1.QueryChannelRequest\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelRequest\" as const,\n\n encode(message: QueryChannelRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryChannelRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelRequest>): QueryChannelRequest {\n const message = createBaseQueryChannelRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryChannelResponse(): QueryChannelResponse {\n return { channel: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelResponse: MessageFns<QueryChannelResponse, \"ibc.core.channel.v1.QueryChannelResponse\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelResponse\" as const,\n\n encode(message: QueryChannelResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelResponse {\n return {\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelResponse): unknown {\n const obj: any = {};\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelResponse>): QueryChannelResponse {\n const message = createBaseQueryChannelResponse();\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelsRequest(): QueryChannelsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryChannelsRequest: MessageFns<QueryChannelsRequest, \"ibc.core.channel.v1.QueryChannelsRequest\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelsRequest\" as const,\n\n encode(message: QueryChannelsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryChannelsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelsRequest>): QueryChannelsRequest {\n const message = createBaseQueryChannelsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelsResponse(): QueryChannelsResponse {\n return { channels: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryChannelsResponse: MessageFns<QueryChannelsResponse, \"ibc.core.channel.v1.QueryChannelsResponse\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelsResponse\" as const,\n\n encode(message: QueryChannelsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelsResponse {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelsResponse): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelsResponse>): QueryChannelsResponse {\n const message = createBaseQueryChannelsResponse();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionChannelsRequest(): QueryConnectionChannelsRequest {\n return { connection: \"\", pagination: undefined };\n}\n\nexport const QueryConnectionChannelsRequest: MessageFns<\n QueryConnectionChannelsRequest,\n \"ibc.core.channel.v1.QueryConnectionChannelsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryConnectionChannelsRequest\" as const,\n\n encode(message: QueryConnectionChannelsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connection !== \"\") {\n writer.uint32(10).string(message.connection);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionChannelsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionChannelsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connection = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionChannelsRequest {\n return {\n connection: isSet(object.connection) ? globalThis.String(object.connection) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionChannelsRequest): unknown {\n const obj: any = {};\n if (message.connection !== \"\") {\n obj.connection = message.connection;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionChannelsRequest>): QueryConnectionChannelsRequest {\n const message = createBaseQueryConnectionChannelsRequest();\n message.connection = object.connection ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionChannelsResponse(): QueryConnectionChannelsResponse {\n return { channels: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryConnectionChannelsResponse: MessageFns<\n QueryConnectionChannelsResponse,\n \"ibc.core.channel.v1.QueryConnectionChannelsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryConnectionChannelsResponse\" as const,\n\n encode(message: QueryConnectionChannelsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionChannelsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionChannelsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionChannelsResponse {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionChannelsResponse): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionChannelsResponse>): QueryConnectionChannelsResponse {\n const message = createBaseQueryConnectionChannelsResponse();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelClientStateRequest(): QueryChannelClientStateRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryChannelClientStateRequest: MessageFns<\n QueryChannelClientStateRequest,\n \"ibc.core.channel.v1.QueryChannelClientStateRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelClientStateRequest\" as const,\n\n encode(message: QueryChannelClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelClientStateRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryChannelClientStateRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelClientStateRequest>): QueryChannelClientStateRequest {\n const message = createBaseQueryChannelClientStateRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryChannelClientStateResponse(): QueryChannelClientStateResponse {\n return { identifiedClientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelClientStateResponse: MessageFns<\n QueryChannelClientStateResponse,\n \"ibc.core.channel.v1.QueryChannelClientStateResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelClientStateResponse\" as const,\n\n encode(message: QueryChannelClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.identifiedClientState !== undefined) {\n IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.identifiedClientState = IdentifiedClientState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelClientStateResponse {\n return {\n identifiedClientState: isSet(object.identified_client_state)\n ? IdentifiedClientState.fromJSON(object.identified_client_state)\n : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelClientStateResponse): unknown {\n const obj: any = {};\n if (message.identifiedClientState !== undefined) {\n obj.identified_client_state = IdentifiedClientState.toJSON(message.identifiedClientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelClientStateResponse>): QueryChannelClientStateResponse {\n const message = createBaseQueryChannelClientStateResponse();\n message.identifiedClientState =\n (object.identifiedClientState !== undefined && object.identifiedClientState !== null)\n ? IdentifiedClientState.fromPartial(object.identifiedClientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelConsensusStateRequest(): QueryChannelConsensusStateRequest {\n return { portId: \"\", channelId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO };\n}\n\nexport const QueryChannelConsensusStateRequest: MessageFns<\n QueryChannelConsensusStateRequest,\n \"ibc.core.channel.v1.QueryChannelConsensusStateRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelConsensusStateRequest\" as const,\n\n encode(message: QueryChannelConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.revisionHeight.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelConsensusStateRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryChannelConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelConsensusStateRequest>): QueryChannelConsensusStateRequest {\n const message = createBaseQueryChannelConsensusStateRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryChannelConsensusStateResponse(): QueryChannelConsensusStateResponse {\n return { consensusState: undefined, clientId: \"\", proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelConsensusStateResponse: MessageFns<\n QueryChannelConsensusStateResponse,\n \"ibc.core.channel.v1.QueryChannelConsensusStateResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelConsensusStateResponse\" as const,\n\n encode(message: QueryChannelConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelConsensusStateResponse>): QueryChannelConsensusStateResponse {\n const message = createBaseQueryChannelConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentRequest(): QueryPacketCommitmentRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketCommitmentRequest: MessageFns<\n QueryPacketCommitmentRequest,\n \"ibc.core.channel.v1.QueryPacketCommitmentRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentRequest\" as const,\n\n encode(message: QueryPacketCommitmentRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketCommitmentRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentRequest>): QueryPacketCommitmentRequest {\n const message = createBaseQueryPacketCommitmentRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentResponse(): QueryPacketCommitmentResponse {\n return { commitment: new Uint8Array(0), proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketCommitmentResponse: MessageFns<\n QueryPacketCommitmentResponse,\n \"ibc.core.channel.v1.QueryPacketCommitmentResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentResponse\" as const,\n\n encode(message: QueryPacketCommitmentResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.commitment.length !== 0) {\n writer.uint32(10).bytes(message.commitment);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.commitment = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentResponse {\n return {\n commitment: isSet(object.commitment) ? bytesFromBase64(object.commitment) : new Uint8Array(0),\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentResponse): unknown {\n const obj: any = {};\n if (message.commitment.length !== 0) {\n obj.commitment = base64FromBytes(message.commitment);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentResponse>): QueryPacketCommitmentResponse {\n const message = createBaseQueryPacketCommitmentResponse();\n message.commitment = object.commitment ?? new Uint8Array(0);\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentsRequest(): QueryPacketCommitmentsRequest {\n return { portId: \"\", channelId: \"\", pagination: undefined };\n}\n\nexport const QueryPacketCommitmentsRequest: MessageFns<\n QueryPacketCommitmentsRequest,\n \"ibc.core.channel.v1.QueryPacketCommitmentsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentsRequest\" as const,\n\n encode(message: QueryPacketCommitmentsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentsRequest>): QueryPacketCommitmentsRequest {\n const message = createBaseQueryPacketCommitmentsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentsResponse(): QueryPacketCommitmentsResponse {\n return { commitments: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryPacketCommitmentsResponse: MessageFns<\n QueryPacketCommitmentsResponse,\n \"ibc.core.channel.v1.QueryPacketCommitmentsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentsResponse\" as const,\n\n encode(message: QueryPacketCommitmentsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.commitments) {\n PacketState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.commitments.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentsResponse {\n return {\n commitments: globalThis.Array.isArray(object?.commitments)\n ? object.commitments.map((e: any) => PacketState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentsResponse): unknown {\n const obj: any = {};\n if (message.commitments?.length) {\n obj.commitments = message.commitments.map((e) => PacketState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentsResponse>): QueryPacketCommitmentsResponse {\n const message = createBaseQueryPacketCommitmentsResponse();\n message.commitments = object.commitments?.map((e) => PacketState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketReceiptRequest(): QueryPacketReceiptRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketReceiptRequest: MessageFns<\n QueryPacketReceiptRequest,\n \"ibc.core.channel.v1.QueryPacketReceiptRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketReceiptRequest\" as const,\n\n encode(message: QueryPacketReceiptRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketReceiptRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketReceiptRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketReceiptRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketReceiptRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketReceiptRequest>): QueryPacketReceiptRequest {\n const message = createBaseQueryPacketReceiptRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketReceiptResponse(): QueryPacketReceiptResponse {\n return { received: false, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketReceiptResponse: MessageFns<\n QueryPacketReceiptResponse,\n \"ibc.core.channel.v1.QueryPacketReceiptResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketReceiptResponse\" as const,\n\n encode(message: QueryPacketReceiptResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.received !== false) {\n writer.uint32(16).bool(message.received);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketReceiptResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketReceiptResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.received = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketReceiptResponse {\n return {\n received: isSet(object.received) ? globalThis.Boolean(object.received) : false,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketReceiptResponse): unknown {\n const obj: any = {};\n if (message.received !== false) {\n obj.received = message.received;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketReceiptResponse>): QueryPacketReceiptResponse {\n const message = createBaseQueryPacketReceiptResponse();\n message.received = object.received ?? false;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementRequest(): QueryPacketAcknowledgementRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketAcknowledgementRequest: MessageFns<\n QueryPacketAcknowledgementRequest,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementRequest\" as const,\n\n encode(message: QueryPacketAcknowledgementRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementRequest>): QueryPacketAcknowledgementRequest {\n const message = createBaseQueryPacketAcknowledgementRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementResponse(): QueryPacketAcknowledgementResponse {\n return { acknowledgement: new Uint8Array(0), proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketAcknowledgementResponse: MessageFns<\n QueryPacketAcknowledgementResponse,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementResponse\" as const,\n\n encode(message: QueryPacketAcknowledgementResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.acknowledgement.length !== 0) {\n writer.uint32(10).bytes(message.acknowledgement);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.acknowledgement = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementResponse {\n return {\n acknowledgement: isSet(object.acknowledgement) ? bytesFromBase64(object.acknowledgement) : new Uint8Array(0),\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementResponse): unknown {\n const obj: any = {};\n if (message.acknowledgement.length !== 0) {\n obj.acknowledgement = base64FromBytes(message.acknowledgement);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementResponse>): QueryPacketAcknowledgementResponse {\n const message = createBaseQueryPacketAcknowledgementResponse();\n message.acknowledgement = object.acknowledgement ?? new Uint8Array(0);\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementsRequest(): QueryPacketAcknowledgementsRequest {\n return { portId: \"\", channelId: \"\", pagination: undefined, packetCommitmentSequences: [] };\n}\n\nexport const QueryPacketAcknowledgementsRequest: MessageFns<\n QueryPacketAcknowledgementsRequest,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementsRequest\" as const,\n\n encode(message: QueryPacketAcknowledgementsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(26).fork()).join();\n }\n writer.uint32(34).fork();\n for (const v of message.packetCommitmentSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag === 32) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 34) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n packetCommitmentSequences: globalThis.Array.isArray(object?.packet_commitment_sequences)\n ? object.packet_commitment_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n if (message.packetCommitmentSequences?.length) {\n obj.packet_commitment_sequences = message.packetCommitmentSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementsRequest>): QueryPacketAcknowledgementsRequest {\n const message = createBaseQueryPacketAcknowledgementsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n message.packetCommitmentSequences = object.packetCommitmentSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementsResponse(): QueryPacketAcknowledgementsResponse {\n return { acknowledgements: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryPacketAcknowledgementsResponse: MessageFns<\n QueryPacketAcknowledgementsResponse,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse\" as const,\n\n encode(message: QueryPacketAcknowledgementsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.acknowledgements) {\n PacketState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.acknowledgements.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementsResponse {\n return {\n acknowledgements: globalThis.Array.isArray(object?.acknowledgements)\n ? object.acknowledgements.map((e: any) => PacketState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementsResponse): unknown {\n const obj: any = {};\n if (message.acknowledgements?.length) {\n obj.acknowledgements = message.acknowledgements.map((e) => PacketState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementsResponse>): QueryPacketAcknowledgementsResponse {\n const message = createBaseQueryPacketAcknowledgementsResponse();\n message.acknowledgements = object.acknowledgements?.map((e) => PacketState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedPacketsRequest(): QueryUnreceivedPacketsRequest {\n return { portId: \"\", channelId: \"\", packetCommitmentSequences: [] };\n}\n\nexport const QueryUnreceivedPacketsRequest: MessageFns<\n QueryUnreceivedPacketsRequest,\n \"ibc.core.channel.v1.QueryUnreceivedPacketsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedPacketsRequest\" as const,\n\n encode(message: QueryUnreceivedPacketsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n writer.uint32(26).fork();\n for (const v of message.packetCommitmentSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedPacketsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedPacketsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag === 24) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 26) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedPacketsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n packetCommitmentSequences: globalThis.Array.isArray(object?.packet_commitment_sequences)\n ? object.packet_commitment_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryUnreceivedPacketsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.packetCommitmentSequences?.length) {\n obj.packet_commitment_sequences = message.packetCommitmentSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedPacketsRequest>): QueryUnreceivedPacketsRequest {\n const message = createBaseQueryUnreceivedPacketsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.packetCommitmentSequences = object.packetCommitmentSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedPacketsResponse(): QueryUnreceivedPacketsResponse {\n return { sequences: [], height: undefined };\n}\n\nexport const QueryUnreceivedPacketsResponse: MessageFns<\n QueryUnreceivedPacketsResponse,\n \"ibc.core.channel.v1.QueryUnreceivedPacketsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedPacketsResponse\" as const,\n\n encode(message: QueryUnreceivedPacketsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n writer.uint32(10).fork();\n for (const v of message.sequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedPacketsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedPacketsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag === 8) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedPacketsResponse {\n return {\n sequences: globalThis.Array.isArray(object?.sequences) ? object.sequences.map((e: any) => Long.fromValue(e)) : [],\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryUnreceivedPacketsResponse): unknown {\n const obj: any = {};\n if (message.sequences?.length) {\n obj.sequences = message.sequences.map((e) => (e || Long.UZERO).toString());\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedPacketsResponse>): QueryUnreceivedPacketsResponse {\n const message = createBaseQueryUnreceivedPacketsResponse();\n message.sequences = object.sequences?.map((e) => Long.fromValue(e)) || [];\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedAcksRequest(): QueryUnreceivedAcksRequest {\n return { portId: \"\", channelId: \"\", packetAckSequences: [] };\n}\n\nexport const QueryUnreceivedAcksRequest: MessageFns<\n QueryUnreceivedAcksRequest,\n \"ibc.core.channel.v1.QueryUnreceivedAcksRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedAcksRequest\" as const,\n\n encode(message: QueryUnreceivedAcksRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n writer.uint32(26).fork();\n for (const v of message.packetAckSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedAcksRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedAcksRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag === 24) {\n message.packetAckSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 26) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetAckSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedAcksRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n packetAckSequences: globalThis.Array.isArray(object?.packet_ack_sequences)\n ? object.packet_ack_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryUnreceivedAcksRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.packetAckSequences?.length) {\n obj.packet_ack_sequences = message.packetAckSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedAcksRequest>): QueryUnreceivedAcksRequest {\n const message = createBaseQueryUnreceivedAcksRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.packetAckSequences = object.packetAckSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedAcksResponse(): QueryUnreceivedAcksResponse {\n return { sequences: [], height: undefined };\n}\n\nexport const QueryUnreceivedAcksResponse: MessageFns<\n QueryUnreceivedAcksResponse,\n \"ibc.core.channel.v1.QueryUnreceivedAcksResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedAcksResponse\" as const,\n\n encode(message: QueryUnreceivedAcksResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n writer.uint32(10).fork();\n for (const v of message.sequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedAcksResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedAcksResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag === 8) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedAcksResponse {\n return {\n sequences: globalThis.Array.isArray(object?.sequences) ? object.sequences.map((e: any) => Long.fromValue(e)) : [],\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryUnreceivedAcksResponse): unknown {\n const obj: any = {};\n if (message.sequences?.length) {\n obj.sequences = message.sequences.map((e) => (e || Long.UZERO).toString());\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedAcksResponse>): QueryUnreceivedAcksResponse {\n const message = createBaseQueryUnreceivedAcksResponse();\n message.sequences = object.sequences?.map((e) => Long.fromValue(e)) || [];\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceReceiveRequest(): QueryNextSequenceReceiveRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryNextSequenceReceiveRequest: MessageFns<\n QueryNextSequenceReceiveRequest,\n \"ibc.core.channel.v1.QueryNextSequenceReceiveRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceReceiveRequest\" as const,\n\n encode(message: QueryNextSequenceReceiveRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceReceiveRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceReceiveRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceReceiveRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryNextSequenceReceiveRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceReceiveRequest>): QueryNextSequenceReceiveRequest {\n const message = createBaseQueryNextSequenceReceiveRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceReceiveResponse(): QueryNextSequenceReceiveResponse {\n return { nextSequenceReceive: Long.UZERO, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryNextSequenceReceiveResponse: MessageFns<\n QueryNextSequenceReceiveResponse,\n \"ibc.core.channel.v1.QueryNextSequenceReceiveResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceReceiveResponse\" as const,\n\n encode(message: QueryNextSequenceReceiveResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.nextSequenceReceive.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.nextSequenceReceive.toString());\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceReceiveResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceReceiveResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.nextSequenceReceive = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceReceiveResponse {\n return {\n nextSequenceReceive: isSet(object.next_sequence_receive)\n ? Long.fromValue(object.next_sequence_receive)\n : Long.UZERO,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryNextSequenceReceiveResponse): unknown {\n const obj: any = {};\n if (!message.nextSequenceReceive.equals(Long.UZERO)) {\n obj.next_sequence_receive = (message.nextSequenceReceive || Long.UZERO).toString();\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceReceiveResponse>): QueryNextSequenceReceiveResponse {\n const message = createBaseQueryNextSequenceReceiveResponse();\n message.nextSequenceReceive = (object.nextSequenceReceive !== undefined && object.nextSequenceReceive !== null)\n ? Long.fromValue(object.nextSequenceReceive)\n : Long.UZERO;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceSendRequest(): QueryNextSequenceSendRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryNextSequenceSendRequest: MessageFns<\n QueryNextSequenceSendRequest,\n \"ibc.core.channel.v1.QueryNextSequenceSendRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceSendRequest\" as const,\n\n encode(message: QueryNextSequenceSendRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceSendRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceSendRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceSendRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryNextSequenceSendRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceSendRequest>): QueryNextSequenceSendRequest {\n const message = createBaseQueryNextSequenceSendRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceSendResponse(): QueryNextSequenceSendResponse {\n return { nextSequenceSend: Long.UZERO, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryNextSequenceSendResponse: MessageFns<\n QueryNextSequenceSendResponse,\n \"ibc.core.channel.v1.QueryNextSequenceSendResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceSendResponse\" as const,\n\n encode(message: QueryNextSequenceSendResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.nextSequenceSend.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.nextSequenceSend.toString());\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceSendResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceSendResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.nextSequenceSend = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceSendResponse {\n return {\n nextSequenceSend: isSet(object.next_sequence_send) ? Long.fromValue(object.next_sequence_send) : Long.UZERO,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryNextSequenceSendResponse): unknown {\n const obj: any = {};\n if (!message.nextSequenceSend.equals(Long.UZERO)) {\n obj.next_sequence_send = (message.nextSequenceSend || Long.UZERO).toString();\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceSendResponse>): QueryNextSequenceSendResponse {\n const message = createBaseQueryNextSequenceSendResponse();\n message.nextSequenceSend = (object.nextSequenceSend !== undefined && object.nextSequenceSend !== null)\n ? Long.fromValue(object.nextSequenceSend)\n : Long.UZERO;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/channel/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Height } from \"../../client/v1/client.ts\";\nimport { Channel, Packet } from \"./channel.ts\";\n\n/** ResponseResultType defines the possible outcomes of the execution of a message */\nexport enum ResponseResultType {\n /** RESPONSE_RESULT_TYPE_UNSPECIFIED - Default zero value enumeration */\n RESPONSE_RESULT_TYPE_UNSPECIFIED = 0,\n /** RESPONSE_RESULT_TYPE_NOOP - The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) */\n RESPONSE_RESULT_TYPE_NOOP = 1,\n /** RESPONSE_RESULT_TYPE_SUCCESS - The message was executed successfully */\n RESPONSE_RESULT_TYPE_SUCCESS = 2,\n /** RESPONSE_RESULT_TYPE_FAILURE - The message was executed unsuccessfully */\n RESPONSE_RESULT_TYPE_FAILURE = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function responseResultTypeFromJSON(object: any): ResponseResultType {\n switch (object) {\n case 0:\n case \"RESPONSE_RESULT_TYPE_UNSPECIFIED\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_UNSPECIFIED;\n case 1:\n case \"RESPONSE_RESULT_TYPE_NOOP\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_NOOP;\n case 2:\n case \"RESPONSE_RESULT_TYPE_SUCCESS\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_SUCCESS;\n case 3:\n case \"RESPONSE_RESULT_TYPE_FAILURE\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_FAILURE;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return ResponseResultType.UNRECOGNIZED;\n }\n}\n\nexport function responseResultTypeToJSON(object: ResponseResultType): string {\n switch (object) {\n case ResponseResultType.RESPONSE_RESULT_TYPE_UNSPECIFIED:\n return \"RESPONSE_RESULT_TYPE_UNSPECIFIED\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_NOOP:\n return \"RESPONSE_RESULT_TYPE_NOOP\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_SUCCESS:\n return \"RESPONSE_RESULT_TYPE_SUCCESS\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_FAILURE:\n return \"RESPONSE_RESULT_TYPE_FAILURE\";\n case ResponseResultType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\n/**\n * MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\n * is called by a relayer on Chain A.\n */\nexport interface MsgChannelOpenInit {\n portId: string;\n channel: Channel | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. */\nexport interface MsgChannelOpenInitResponse {\n channelId: string;\n version: string;\n}\n\n/**\n * MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\n * on Chain B. The version field within the Channel field has been deprecated. Its\n * value will be ignored by core IBC.\n */\nexport interface MsgChannelOpenTry {\n portId: string;\n /**\n * Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.\n *\n * @deprecated\n */\n previousChannelId: string;\n /** NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. */\n channel: Channel | undefined;\n counterpartyVersion: string;\n proofInit: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. */\nexport interface MsgChannelOpenTryResponse {\n version: string;\n channelId: string;\n}\n\n/**\n * MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\n * the change of channel state to TRYOPEN on Chain B.\n */\nexport interface MsgChannelOpenAck {\n portId: string;\n channelId: string;\n counterpartyChannelId: string;\n counterpartyVersion: string;\n proofTry: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. */\nexport interface MsgChannelOpenAckResponse {\n}\n\n/**\n * MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\n * acknowledge the change of channel state to OPEN on Chain A.\n */\nexport interface MsgChannelOpenConfirm {\n portId: string;\n channelId: string;\n proofAck: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\n * type.\n */\nexport interface MsgChannelOpenConfirmResponse {\n}\n\n/**\n * MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\n * to close a channel with Chain B.\n */\nexport interface MsgChannelCloseInit {\n portId: string;\n channelId: string;\n signer: string;\n}\n\n/** MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. */\nexport interface MsgChannelCloseInitResponse {\n}\n\n/**\n * MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\n * to acknowledge the change of channel state to CLOSED on Chain A.\n */\nexport interface MsgChannelCloseConfirm {\n portId: string;\n channelId: string;\n proofInit: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\n * type.\n */\nexport interface MsgChannelCloseConfirmResponse {\n}\n\n/** MsgRecvPacket receives incoming IBC packet */\nexport interface MsgRecvPacket {\n packet: Packet | undefined;\n proofCommitment: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgRecvPacketResponse defines the Msg/RecvPacket response type. */\nexport interface MsgRecvPacketResponse {\n result: ResponseResultType;\n}\n\n/** MsgTimeout receives timed-out packet */\nexport interface MsgTimeout {\n packet: Packet | undefined;\n proofUnreceived: Uint8Array;\n proofHeight: Height | undefined;\n nextSequenceRecv: Long;\n signer: string;\n}\n\n/** MsgTimeoutResponse defines the Msg/Timeout response type. */\nexport interface MsgTimeoutResponse {\n result: ResponseResultType;\n}\n\n/** MsgTimeoutOnClose timed-out packet upon counterparty channel closure. */\nexport interface MsgTimeoutOnClose {\n packet: Packet | undefined;\n proofUnreceived: Uint8Array;\n proofClose: Uint8Array;\n proofHeight: Height | undefined;\n nextSequenceRecv: Long;\n signer: string;\n}\n\n/** MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. */\nexport interface MsgTimeoutOnCloseResponse {\n result: ResponseResultType;\n}\n\n/** MsgAcknowledgement receives incoming IBC acknowledgement */\nexport interface MsgAcknowledgement {\n packet: Packet | undefined;\n acknowledgement: Uint8Array;\n proofAcked: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. */\nexport interface MsgAcknowledgementResponse {\n result: ResponseResultType;\n}\n\nfunction createBaseMsgChannelOpenInit(): MsgChannelOpenInit {\n return { portId: \"\", channel: undefined, signer: \"\" };\n}\n\nexport const MsgChannelOpenInit: MessageFns<MsgChannelOpenInit, \"ibc.core.channel.v1.MsgChannelOpenInit\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenInit\" as const,\n\n encode(message: MsgChannelOpenInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenInit {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenInit): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenInit>): MsgChannelOpenInit {\n const message = createBaseMsgChannelOpenInit();\n message.portId = object.portId ?? \"\";\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenInitResponse(): MsgChannelOpenInitResponse {\n return { channelId: \"\", version: \"\" };\n}\n\nexport const MsgChannelOpenInitResponse: MessageFns<\n MsgChannelOpenInitResponse,\n \"ibc.core.channel.v1.MsgChannelOpenInitResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenInitResponse\" as const,\n\n encode(message: MsgChannelOpenInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channelId !== \"\") {\n writer.uint32(10).string(message.channelId);\n }\n if (message.version !== \"\") {\n writer.uint32(18).string(message.version);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenInitResponse {\n return {\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenInitResponse): unknown {\n const obj: any = {};\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenInitResponse>): MsgChannelOpenInitResponse {\n const message = createBaseMsgChannelOpenInitResponse();\n message.channelId = object.channelId ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenTry(): MsgChannelOpenTry {\n return {\n portId: \"\",\n previousChannelId: \"\",\n channel: undefined,\n counterpartyVersion: \"\",\n proofInit: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgChannelOpenTry: MessageFns<MsgChannelOpenTry, \"ibc.core.channel.v1.MsgChannelOpenTry\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenTry\" as const,\n\n encode(message: MsgChannelOpenTry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.previousChannelId !== \"\") {\n writer.uint32(18).string(message.previousChannelId);\n }\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(26).fork()).join();\n }\n if (message.counterpartyVersion !== \"\") {\n writer.uint32(34).string(message.counterpartyVersion);\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(42).bytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(50).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(58).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenTry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenTry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.previousChannelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterpartyVersion = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenTry {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n previousChannelId: isSet(object.previous_channel_id) ? globalThis.String(object.previous_channel_id) : \"\",\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n counterpartyVersion: isSet(object.counterparty_version) ? globalThis.String(object.counterparty_version) : \"\",\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenTry): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.previousChannelId !== \"\") {\n obj.previous_channel_id = message.previousChannelId;\n }\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.counterpartyVersion !== \"\") {\n obj.counterparty_version = message.counterpartyVersion;\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenTry>): MsgChannelOpenTry {\n const message = createBaseMsgChannelOpenTry();\n message.portId = object.portId ?? \"\";\n message.previousChannelId = object.previousChannelId ?? \"\";\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.counterpartyVersion = object.counterpartyVersion ?? \"\";\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenTryResponse(): MsgChannelOpenTryResponse {\n return { version: \"\", channelId: \"\" };\n}\n\nexport const MsgChannelOpenTryResponse: MessageFns<\n MsgChannelOpenTryResponse,\n \"ibc.core.channel.v1.MsgChannelOpenTryResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenTryResponse\" as const,\n\n encode(message: MsgChannelOpenTryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.version !== \"\") {\n writer.uint32(10).string(message.version);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenTryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenTryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenTryResponse {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenTryResponse): unknown {\n const obj: any = {};\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenTryResponse>): MsgChannelOpenTryResponse {\n const message = createBaseMsgChannelOpenTryResponse();\n message.version = object.version ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenAck(): MsgChannelOpenAck {\n return {\n portId: \"\",\n channelId: \"\",\n counterpartyChannelId: \"\",\n counterpartyVersion: \"\",\n proofTry: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgChannelOpenAck: MessageFns<MsgChannelOpenAck, \"ibc.core.channel.v1.MsgChannelOpenAck\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenAck\" as const,\n\n encode(message: MsgChannelOpenAck, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.counterpartyChannelId !== \"\") {\n writer.uint32(26).string(message.counterpartyChannelId);\n }\n if (message.counterpartyVersion !== \"\") {\n writer.uint32(34).string(message.counterpartyVersion);\n }\n if (message.proofTry.length !== 0) {\n writer.uint32(42).bytes(message.proofTry);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(50).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(58).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenAck {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenAck();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.counterpartyChannelId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterpartyVersion = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofTry = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenAck {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n counterpartyChannelId: isSet(object.counterparty_channel_id)\n ? globalThis.String(object.counterparty_channel_id)\n : \"\",\n counterpartyVersion: isSet(object.counterparty_version) ? globalThis.String(object.counterparty_version) : \"\",\n proofTry: isSet(object.proof_try) ? bytesFromBase64(object.proof_try) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenAck): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.counterpartyChannelId !== \"\") {\n obj.counterparty_channel_id = message.counterpartyChannelId;\n }\n if (message.counterpartyVersion !== \"\") {\n obj.counterparty_version = message.counterpartyVersion;\n }\n if (message.proofTry.length !== 0) {\n obj.proof_try = base64FromBytes(message.proofTry);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenAck>): MsgChannelOpenAck {\n const message = createBaseMsgChannelOpenAck();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.counterpartyChannelId = object.counterpartyChannelId ?? \"\";\n message.counterpartyVersion = object.counterpartyVersion ?? \"\";\n message.proofTry = object.proofTry ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenAckResponse(): MsgChannelOpenAckResponse {\n return {};\n}\n\nexport const MsgChannelOpenAckResponse: MessageFns<\n MsgChannelOpenAckResponse,\n \"ibc.core.channel.v1.MsgChannelOpenAckResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenAckResponse\" as const,\n\n encode(_: MsgChannelOpenAckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenAckResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenAckResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelOpenAckResponse {\n return {};\n },\n\n toJSON(_: MsgChannelOpenAckResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelOpenAckResponse>): MsgChannelOpenAckResponse {\n const message = createBaseMsgChannelOpenAckResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenConfirm(): MsgChannelOpenConfirm {\n return { portId: \"\", channelId: \"\", proofAck: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgChannelOpenConfirm: MessageFns<MsgChannelOpenConfirm, \"ibc.core.channel.v1.MsgChannelOpenConfirm\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenConfirm\" as const,\n\n encode(message: MsgChannelOpenConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.proofAck.length !== 0) {\n writer.uint32(26).bytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofAck = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenConfirm {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n proofAck: isSet(object.proof_ack) ? bytesFromBase64(object.proof_ack) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenConfirm): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.proofAck.length !== 0) {\n obj.proof_ack = base64FromBytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenConfirm>): MsgChannelOpenConfirm {\n const message = createBaseMsgChannelOpenConfirm();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.proofAck = object.proofAck ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenConfirmResponse(): MsgChannelOpenConfirmResponse {\n return {};\n}\n\nexport const MsgChannelOpenConfirmResponse: MessageFns<\n MsgChannelOpenConfirmResponse,\n \"ibc.core.channel.v1.MsgChannelOpenConfirmResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenConfirmResponse\" as const,\n\n encode(_: MsgChannelOpenConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelOpenConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgChannelOpenConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelOpenConfirmResponse>): MsgChannelOpenConfirmResponse {\n const message = createBaseMsgChannelOpenConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseInit(): MsgChannelCloseInit {\n return { portId: \"\", channelId: \"\", signer: \"\" };\n}\n\nexport const MsgChannelCloseInit: MessageFns<MsgChannelCloseInit, \"ibc.core.channel.v1.MsgChannelCloseInit\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseInit\" as const,\n\n encode(message: MsgChannelCloseInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelCloseInit {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelCloseInit): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelCloseInit>): MsgChannelCloseInit {\n const message = createBaseMsgChannelCloseInit();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseInitResponse(): MsgChannelCloseInitResponse {\n return {};\n}\n\nexport const MsgChannelCloseInitResponse: MessageFns<\n MsgChannelCloseInitResponse,\n \"ibc.core.channel.v1.MsgChannelCloseInitResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseInitResponse\" as const,\n\n encode(_: MsgChannelCloseInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelCloseInitResponse {\n return {};\n },\n\n toJSON(_: MsgChannelCloseInitResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelCloseInitResponse>): MsgChannelCloseInitResponse {\n const message = createBaseMsgChannelCloseInitResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseConfirm(): MsgChannelCloseConfirm {\n return { portId: \"\", channelId: \"\", proofInit: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgChannelCloseConfirm: MessageFns<MsgChannelCloseConfirm, \"ibc.core.channel.v1.MsgChannelCloseConfirm\"> =\n {\n $type: \"ibc.core.channel.v1.MsgChannelCloseConfirm\" as const,\n\n encode(message: MsgChannelCloseConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(26).bytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelCloseConfirm {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelCloseConfirm): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelCloseConfirm>): MsgChannelCloseConfirm {\n const message = createBaseMsgChannelCloseConfirm();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n };\n\nfunction createBaseMsgChannelCloseConfirmResponse(): MsgChannelCloseConfirmResponse {\n return {};\n}\n\nexport const MsgChannelCloseConfirmResponse: MessageFns<\n MsgChannelCloseConfirmResponse,\n \"ibc.core.channel.v1.MsgChannelCloseConfirmResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseConfirmResponse\" as const,\n\n encode(_: MsgChannelCloseConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelCloseConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgChannelCloseConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelCloseConfirmResponse>): MsgChannelCloseConfirmResponse {\n const message = createBaseMsgChannelCloseConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRecvPacket(): MsgRecvPacket {\n return { packet: undefined, proofCommitment: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgRecvPacket: MessageFns<MsgRecvPacket, \"ibc.core.channel.v1.MsgRecvPacket\"> = {\n $type: \"ibc.core.channel.v1.MsgRecvPacket\" as const,\n\n encode(message: MsgRecvPacket, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofCommitment.length !== 0) {\n writer.uint32(18).bytes(message.proofCommitment);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(34).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecvPacket {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecvPacket();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofCommitment = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecvPacket {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofCommitment: isSet(object.proof_commitment) ? bytesFromBase64(object.proof_commitment) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgRecvPacket): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofCommitment.length !== 0) {\n obj.proof_commitment = base64FromBytes(message.proofCommitment);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecvPacket>): MsgRecvPacket {\n const message = createBaseMsgRecvPacket();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofCommitment = object.proofCommitment ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRecvPacketResponse(): MsgRecvPacketResponse {\n return { result: 0 };\n}\n\nexport const MsgRecvPacketResponse: MessageFns<MsgRecvPacketResponse, \"ibc.core.channel.v1.MsgRecvPacketResponse\"> = {\n $type: \"ibc.core.channel.v1.MsgRecvPacketResponse\" as const,\n\n encode(message: MsgRecvPacketResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecvPacketResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecvPacketResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecvPacketResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgRecvPacketResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecvPacketResponse>): MsgRecvPacketResponse {\n const message = createBaseMsgRecvPacketResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgTimeout(): MsgTimeout {\n return {\n packet: undefined,\n proofUnreceived: new Uint8Array(0),\n proofHeight: undefined,\n nextSequenceRecv: Long.UZERO,\n signer: \"\",\n };\n}\n\nexport const MsgTimeout: MessageFns<MsgTimeout, \"ibc.core.channel.v1.MsgTimeout\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeout\" as const,\n\n encode(message: MsgTimeout, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofUnreceived.length !== 0) {\n writer.uint32(18).bytes(message.proofUnreceived);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.nextSequenceRecv.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeout {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeout();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofUnreceived = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.nextSequenceRecv = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeout {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofUnreceived: isSet(object.proof_unreceived) ? bytesFromBase64(object.proof_unreceived) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n nextSequenceRecv: isSet(object.next_sequence_recv) ? Long.fromValue(object.next_sequence_recv) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgTimeout): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofUnreceived.length !== 0) {\n obj.proof_unreceived = base64FromBytes(message.proofUnreceived);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n obj.next_sequence_recv = (message.nextSequenceRecv || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeout>): MsgTimeout {\n const message = createBaseMsgTimeout();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofUnreceived = object.proofUnreceived ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.nextSequenceRecv = (object.nextSequenceRecv !== undefined && object.nextSequenceRecv !== null)\n ? Long.fromValue(object.nextSequenceRecv)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutResponse(): MsgTimeoutResponse {\n return { result: 0 };\n}\n\nexport const MsgTimeoutResponse: MessageFns<MsgTimeoutResponse, \"ibc.core.channel.v1.MsgTimeoutResponse\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutResponse\" as const,\n\n encode(message: MsgTimeoutResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgTimeoutResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutResponse>): MsgTimeoutResponse {\n const message = createBaseMsgTimeoutResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutOnClose(): MsgTimeoutOnClose {\n return {\n packet: undefined,\n proofUnreceived: new Uint8Array(0),\n proofClose: new Uint8Array(0),\n proofHeight: undefined,\n nextSequenceRecv: Long.UZERO,\n signer: \"\",\n };\n}\n\nexport const MsgTimeoutOnClose: MessageFns<MsgTimeoutOnClose, \"ibc.core.channel.v1.MsgTimeoutOnClose\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutOnClose\" as const,\n\n encode(message: MsgTimeoutOnClose, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofUnreceived.length !== 0) {\n writer.uint32(18).bytes(message.proofUnreceived);\n }\n if (message.proofClose.length !== 0) {\n writer.uint32(26).bytes(message.proofClose);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n writer.uint32(40).uint64(message.nextSequenceRecv.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(50).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutOnClose {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutOnClose();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofUnreceived = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofClose = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.nextSequenceRecv = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutOnClose {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofUnreceived: isSet(object.proof_unreceived) ? bytesFromBase64(object.proof_unreceived) : new Uint8Array(0),\n proofClose: isSet(object.proof_close) ? bytesFromBase64(object.proof_close) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n nextSequenceRecv: isSet(object.next_sequence_recv) ? Long.fromValue(object.next_sequence_recv) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgTimeoutOnClose): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofUnreceived.length !== 0) {\n obj.proof_unreceived = base64FromBytes(message.proofUnreceived);\n }\n if (message.proofClose.length !== 0) {\n obj.proof_close = base64FromBytes(message.proofClose);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n obj.next_sequence_recv = (message.nextSequenceRecv || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutOnClose>): MsgTimeoutOnClose {\n const message = createBaseMsgTimeoutOnClose();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofUnreceived = object.proofUnreceived ?? new Uint8Array(0);\n message.proofClose = object.proofClose ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.nextSequenceRecv = (object.nextSequenceRecv !== undefined && object.nextSequenceRecv !== null)\n ? Long.fromValue(object.nextSequenceRecv)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutOnCloseResponse(): MsgTimeoutOnCloseResponse {\n return { result: 0 };\n}\n\nexport const MsgTimeoutOnCloseResponse: MessageFns<\n MsgTimeoutOnCloseResponse,\n \"ibc.core.channel.v1.MsgTimeoutOnCloseResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutOnCloseResponse\" as const,\n\n encode(message: MsgTimeoutOnCloseResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutOnCloseResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutOnCloseResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutOnCloseResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgTimeoutOnCloseResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutOnCloseResponse>): MsgTimeoutOnCloseResponse {\n const message = createBaseMsgTimeoutOnCloseResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgAcknowledgement(): MsgAcknowledgement {\n return {\n packet: undefined,\n acknowledgement: new Uint8Array(0),\n proofAcked: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgAcknowledgement: MessageFns<MsgAcknowledgement, \"ibc.core.channel.v1.MsgAcknowledgement\"> = {\n $type: \"ibc.core.channel.v1.MsgAcknowledgement\" as const,\n\n encode(message: MsgAcknowledgement, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.acknowledgement.length !== 0) {\n writer.uint32(18).bytes(message.acknowledgement);\n }\n if (message.proofAcked.length !== 0) {\n writer.uint32(26).bytes(message.proofAcked);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgAcknowledgement {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgAcknowledgement();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.acknowledgement = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofAcked = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgAcknowledgement {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n acknowledgement: isSet(object.acknowledgement) ? bytesFromBase64(object.acknowledgement) : new Uint8Array(0),\n proofAcked: isSet(object.proof_acked) ? bytesFromBase64(object.proof_acked) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgAcknowledgement): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.acknowledgement.length !== 0) {\n obj.acknowledgement = base64FromBytes(message.acknowledgement);\n }\n if (message.proofAcked.length !== 0) {\n obj.proof_acked = base64FromBytes(message.proofAcked);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgAcknowledgement>): MsgAcknowledgement {\n const message = createBaseMsgAcknowledgement();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.acknowledgement = object.acknowledgement ?? new Uint8Array(0);\n message.proofAcked = object.proofAcked ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgAcknowledgementResponse(): MsgAcknowledgementResponse {\n return { result: 0 };\n}\n\nexport const MsgAcknowledgementResponse: MessageFns<\n MsgAcknowledgementResponse,\n \"ibc.core.channel.v1.MsgAcknowledgementResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgAcknowledgementResponse\" as const,\n\n encode(message: MsgAcknowledgementResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgAcknowledgementResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgAcknowledgementResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgAcknowledgementResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgAcknowledgementResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgAcknowledgementResponse>): MsgAcknowledgementResponse {\n const message = createBaseMsgAcknowledgementResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/client/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ClientConsensusStates, IdentifiedClientState, Params } from \"./client.ts\";\n\n/** GenesisState defines the ibc client submodule's genesis state. */\nexport interface GenesisState {\n /** client states with their corresponding identifiers */\n clients: IdentifiedClientState[];\n /** consensus states from each client */\n clientsConsensus: ClientConsensusStates[];\n /** metadata from each client */\n clientsMetadata: IdentifiedGenesisMetadata[];\n params:\n | Params\n | undefined;\n /**\n * Deprecated: create_localhost has been deprecated.\n * The localhost client is automatically created at genesis.\n *\n * @deprecated\n */\n createLocalhost: boolean;\n /** the sequence for the next generated client identifier */\n nextClientSequence: Long;\n}\n\n/**\n * GenesisMetadata defines the genesis type for metadata that will be used\n * to export all client store keys that are not client or consensus states.\n */\nexport interface GenesisMetadata {\n /** store key of metadata without clientID-prefix */\n key: Uint8Array;\n /** metadata value */\n value: Uint8Array;\n}\n\n/**\n * IdentifiedGenesisMetadata has the client metadata with the corresponding\n * client id.\n */\nexport interface IdentifiedGenesisMetadata {\n clientId: string;\n clientMetadata: GenesisMetadata[];\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n clients: [],\n clientsConsensus: [],\n clientsMetadata: [],\n params: undefined,\n createLocalhost: false,\n nextClientSequence: Long.UZERO,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.client.v1.GenesisState\"> = {\n $type: \"ibc.core.client.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.clients) {\n IdentifiedClientState.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.clientsConsensus) {\n ClientConsensusStates.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.clientsMetadata) {\n IdentifiedGenesisMetadata.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n if (message.createLocalhost !== false) {\n writer.uint32(40).bool(message.createLocalhost);\n }\n if (!message.nextClientSequence.equals(Long.UZERO)) {\n writer.uint32(48).uint64(message.nextClientSequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clients.push(IdentifiedClientState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientsConsensus.push(ClientConsensusStates.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.clientsMetadata.push(IdentifiedGenesisMetadata.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.createLocalhost = reader.bool();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.nextClientSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n clients: globalThis.Array.isArray(object?.clients)\n ? object.clients.map((e: any) => IdentifiedClientState.fromJSON(e))\n : [],\n clientsConsensus: globalThis.Array.isArray(object?.clients_consensus)\n ? object.clients_consensus.map((e: any) => ClientConsensusStates.fromJSON(e))\n : [],\n clientsMetadata: globalThis.Array.isArray(object?.clients_metadata)\n ? object.clients_metadata.map((e: any) => IdentifiedGenesisMetadata.fromJSON(e))\n : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n createLocalhost: isSet(object.create_localhost) ? globalThis.Boolean(object.create_localhost) : false,\n nextClientSequence: isSet(object.next_client_sequence) ? Long.fromValue(object.next_client_sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.clients?.length) {\n obj.clients = message.clients.map((e) => IdentifiedClientState.toJSON(e));\n }\n if (message.clientsConsensus?.length) {\n obj.clients_consensus = message.clientsConsensus.map((e) => ClientConsensusStates.toJSON(e));\n }\n if (message.clientsMetadata?.length) {\n obj.clients_metadata = message.clientsMetadata.map((e) => IdentifiedGenesisMetadata.toJSON(e));\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n if (message.createLocalhost !== false) {\n obj.create_localhost = message.createLocalhost;\n }\n if (!message.nextClientSequence.equals(Long.UZERO)) {\n obj.next_client_sequence = (message.nextClientSequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.clients = object.clients?.map((e) => IdentifiedClientState.fromPartial(e)) || [];\n message.clientsConsensus = object.clientsConsensus?.map((e) => ClientConsensusStates.fromPartial(e)) || [];\n message.clientsMetadata = object.clientsMetadata?.map((e) => IdentifiedGenesisMetadata.fromPartial(e)) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n message.createLocalhost = object.createLocalhost ?? false;\n message.nextClientSequence = (object.nextClientSequence !== undefined && object.nextClientSequence !== null)\n ? Long.fromValue(object.nextClientSequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseGenesisMetadata(): GenesisMetadata {\n return { key: new Uint8Array(0), value: new Uint8Array(0) };\n}\n\nexport const GenesisMetadata: MessageFns<GenesisMetadata, \"ibc.core.client.v1.GenesisMetadata\"> = {\n $type: \"ibc.core.client.v1.GenesisMetadata\" as const,\n\n encode(message: GenesisMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.key.length !== 0) {\n writer.uint32(10).bytes(message.key);\n }\n if (message.value.length !== 0) {\n writer.uint32(18).bytes(message.value);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisMetadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.value = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisMetadata {\n return {\n key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0),\n value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0),\n };\n },\n\n toJSON(message: GenesisMetadata): unknown {\n const obj: any = {};\n if (message.key.length !== 0) {\n obj.key = base64FromBytes(message.key);\n }\n if (message.value.length !== 0) {\n obj.value = base64FromBytes(message.value);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisMetadata>): GenesisMetadata {\n const message = createBaseGenesisMetadata();\n message.key = object.key ?? new Uint8Array(0);\n message.value = object.value ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseIdentifiedGenesisMetadata(): IdentifiedGenesisMetadata {\n return { clientId: \"\", clientMetadata: [] };\n}\n\nexport const IdentifiedGenesisMetadata: MessageFns<\n IdentifiedGenesisMetadata,\n \"ibc.core.client.v1.IdentifiedGenesisMetadata\"\n> = {\n $type: \"ibc.core.client.v1.IdentifiedGenesisMetadata\" as const,\n\n encode(message: IdentifiedGenesisMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n for (const v of message.clientMetadata) {\n GenesisMetadata.encode(v!, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): IdentifiedGenesisMetadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseIdentifiedGenesisMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientMetadata.push(GenesisMetadata.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): IdentifiedGenesisMetadata {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientMetadata: globalThis.Array.isArray(object?.client_metadata)\n ? object.client_metadata.map((e: any) => GenesisMetadata.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: IdentifiedGenesisMetadata): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientMetadata?.length) {\n obj.client_metadata = message.clientMetadata.map((e) => GenesisMetadata.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<IdentifiedGenesisMetadata>): IdentifiedGenesisMetadata {\n const message = createBaseIdentifiedGenesisMetadata();\n message.clientId = object.clientId ?? \"\";\n message.clientMetadata = object.clientMetadata?.map((e) => GenesisMetadata.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/client/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { MerklePath } from \"../../commitment/v2/commitment.ts\";\nimport { ConsensusStateWithHeight, Height, IdentifiedClientState, Params } from \"./client.ts\";\n\n/**\n * QueryClientStateRequest is the request type for the Query/ClientState RPC\n * method\n */\nexport interface QueryClientStateRequest {\n /** client state unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientStateResponse is the response type for the Query/ClientState RPC\n * method. Besides the client state, it includes a proof and the height from\n * which the proof was retrieved.\n */\nexport interface QueryClientStateResponse {\n /** client state associated with the request identifier */\n clientState:\n | Any\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryClientStatesRequest is the request type for the Query/ClientStates RPC\n * method\n */\nexport interface QueryClientStatesRequest {\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryClientStatesResponse is the response type for the Query/ClientStates RPC\n * method.\n */\nexport interface QueryClientStatesResponse {\n /** list of stored ClientStates of the chain. */\n clientStates: IdentifiedClientState[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryConsensusStateRequest is the request type for the Query/ConsensusState\n * RPC method. Besides the consensus state, it includes a proof and the height\n * from which the proof was retrieved.\n */\nexport interface QueryConsensusStateRequest {\n /** client identifier */\n clientId: string;\n /** consensus state revision number */\n revisionNumber: Long;\n /** consensus state revision height */\n revisionHeight: Long;\n /**\n * latest_height overrides the height field and queries the latest stored\n * ConsensusState\n */\n latestHeight: boolean;\n}\n\n/**\n * QueryConsensusStateResponse is the response type for the Query/ConsensusState\n * RPC method\n */\nexport interface QueryConsensusStateResponse {\n /** consensus state associated with the client identifier at the given height */\n consensusState:\n | Any\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConsensusStatesRequest is the request type for the Query/ConsensusStates\n * RPC method.\n */\nexport interface QueryConsensusStatesRequest {\n /** client identifier */\n clientId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConsensusStatesResponse is the response type for the\n * Query/ConsensusStates RPC method\n */\nexport interface QueryConsensusStatesResponse {\n /** consensus states associated with the identifier */\n consensusStates: ConsensusStateWithHeight[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryConsensusStateHeightsRequest is the request type for Query/ConsensusStateHeights\n * RPC method.\n */\nexport interface QueryConsensusStateHeightsRequest {\n /** client identifier */\n clientId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConsensusStateHeightsResponse is the response type for the\n * Query/ConsensusStateHeights RPC method\n */\nexport interface QueryConsensusStateHeightsResponse {\n /** consensus state heights */\n consensusStateHeights: Height[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryClientStatusRequest is the request type for the Query/ClientStatus RPC\n * method\n */\nexport interface QueryClientStatusRequest {\n /** client unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\n * method. It returns the current status of the IBC client.\n */\nexport interface QueryClientStatusResponse {\n status: string;\n}\n\n/**\n * QueryClientParamsRequest is the request type for the Query/ClientParams RPC\n * method.\n */\nexport interface QueryClientParamsRequest {\n}\n\n/**\n * QueryClientParamsResponse is the response type for the Query/ClientParams RPC\n * method.\n */\nexport interface QueryClientParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\n/**\n * QueryClientCreatorRequest is the request type for the Query/ClientCreator RPC\n * method.\n */\nexport interface QueryClientCreatorRequest {\n /** client unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientCreatorResponse is the response type for the Query/ClientCreator RPC\n * method.\n */\nexport interface QueryClientCreatorResponse {\n /** creator of the client */\n creator: string;\n}\n\n/**\n * QueryUpgradedClientStateRequest is the request type for the\n * Query/UpgradedClientState RPC method\n */\nexport interface QueryUpgradedClientStateRequest {\n}\n\n/**\n * QueryUpgradedClientStateResponse is the response type for the\n * Query/UpgradedClientState RPC method.\n */\nexport interface QueryUpgradedClientStateResponse {\n /** client state associated with the request identifier */\n upgradedClientState: Any | undefined;\n}\n\n/**\n * QueryUpgradedConsensusStateRequest is the request type for the\n * Query/UpgradedConsensusState RPC method\n */\nexport interface QueryUpgradedConsensusStateRequest {\n}\n\n/**\n * QueryUpgradedConsensusStateResponse is the response type for the\n * Query/UpgradedConsensusState RPC method.\n */\nexport interface QueryUpgradedConsensusStateResponse {\n /** Consensus state associated with the request identifier */\n upgradedConsensusState: Any | undefined;\n}\n\n/** QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method */\nexport interface QueryVerifyMembershipRequest {\n /** client unique identifier. */\n clientId: string;\n /** the proof to be verified by the client. */\n proof: Uint8Array;\n /** the height of the commitment root at which the proof is verified. */\n proofHeight:\n | Height\n | undefined;\n /** the value which is proven. */\n value: Uint8Array;\n /** optional time delay */\n timeDelay: Long;\n /** optional block delay */\n blockDelay: Long;\n /** the commitment key path. */\n merklePath: MerklePath | undefined;\n}\n\n/** QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method */\nexport interface QueryVerifyMembershipResponse {\n /** boolean indicating success or failure of proof verification. */\n success: boolean;\n}\n\nfunction createBaseQueryClientStateRequest(): QueryClientStateRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientStateRequest: MessageFns<\n QueryClientStateRequest,\n \"ibc.core.client.v1.QueryClientStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStateRequest\" as const,\n\n encode(message: QueryClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStateRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientStateRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStateRequest>): QueryClientStateRequest {\n const message = createBaseQueryClientStateRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientStateResponse(): QueryClientStateResponse {\n return { clientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryClientStateResponse: MessageFns<\n QueryClientStateResponse,\n \"ibc.core.client.v1.QueryClientStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStateResponse\" as const,\n\n encode(message: QueryClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStateResponse {\n return {\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryClientStateResponse): unknown {\n const obj: any = {};\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStateResponse>): QueryClientStateResponse {\n const message = createBaseQueryClientStateResponse();\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatesRequest(): QueryClientStatesRequest {\n return { pagination: undefined };\n}\n\nexport const QueryClientStatesRequest: MessageFns<\n QueryClientStatesRequest,\n \"ibc.core.client.v1.QueryClientStatesRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatesRequest\" as const,\n\n encode(message: QueryClientStatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatesRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryClientStatesRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatesRequest>): QueryClientStatesRequest {\n const message = createBaseQueryClientStatesRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatesResponse(): QueryClientStatesResponse {\n return { clientStates: [], pagination: undefined };\n}\n\nexport const QueryClientStatesResponse: MessageFns<\n QueryClientStatesResponse,\n \"ibc.core.client.v1.QueryClientStatesResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatesResponse\" as const,\n\n encode(message: QueryClientStatesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.clientStates) {\n IdentifiedClientState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientStates.push(IdentifiedClientState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatesResponse {\n return {\n clientStates: globalThis.Array.isArray(object?.client_states)\n ? object.client_states.map((e: any) => IdentifiedClientState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryClientStatesResponse): unknown {\n const obj: any = {};\n if (message.clientStates?.length) {\n obj.client_states = message.clientStates.map((e) => IdentifiedClientState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatesResponse>): QueryClientStatesResponse {\n const message = createBaseQueryClientStatesResponse();\n message.clientStates = object.clientStates?.map((e) => IdentifiedClientState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateRequest(): QueryConsensusStateRequest {\n return { clientId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO, latestHeight: false };\n}\n\nexport const QueryConsensusStateRequest: MessageFns<\n QueryConsensusStateRequest,\n \"ibc.core.client.v1.QueryConsensusStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateRequest\" as const,\n\n encode(message: QueryConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionHeight.toString());\n }\n if (message.latestHeight !== false) {\n writer.uint32(32).bool(message.latestHeight);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.latestHeight = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n latestHeight: isSet(object.latest_height) ? globalThis.Boolean(object.latest_height) : false,\n };\n },\n\n toJSON(message: QueryConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n if (message.latestHeight !== false) {\n obj.latest_height = message.latestHeight;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateRequest>): QueryConsensusStateRequest {\n const message = createBaseQueryConsensusStateRequest();\n message.clientId = object.clientId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n message.latestHeight = object.latestHeight ?? false;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateResponse(): QueryConsensusStateResponse {\n return { consensusState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConsensusStateResponse: MessageFns<\n QueryConsensusStateResponse,\n \"ibc.core.client.v1.QueryConsensusStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateResponse\" as const,\n\n encode(message: QueryConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateResponse>): QueryConsensusStateResponse {\n const message = createBaseQueryConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStatesRequest(): QueryConsensusStatesRequest {\n return { clientId: \"\", pagination: undefined };\n}\n\nexport const QueryConsensusStatesRequest: MessageFns<\n QueryConsensusStatesRequest,\n \"ibc.core.client.v1.QueryConsensusStatesRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStatesRequest\" as const,\n\n encode(message: QueryConsensusStatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStatesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStatesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStatesRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStatesRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStatesRequest>): QueryConsensusStatesRequest {\n const message = createBaseQueryConsensusStatesRequest();\n message.clientId = object.clientId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStatesResponse(): QueryConsensusStatesResponse {\n return { consensusStates: [], pagination: undefined };\n}\n\nexport const QueryConsensusStatesResponse: MessageFns<\n QueryConsensusStatesResponse,\n \"ibc.core.client.v1.QueryConsensusStatesResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStatesResponse\" as const,\n\n encode(message: QueryConsensusStatesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.consensusStates) {\n ConsensusStateWithHeight.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStatesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStatesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusStates.push(ConsensusStateWithHeight.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStatesResponse {\n return {\n consensusStates: globalThis.Array.isArray(object?.consensus_states)\n ? object.consensus_states.map((e: any) => ConsensusStateWithHeight.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStatesResponse): unknown {\n const obj: any = {};\n if (message.consensusStates?.length) {\n obj.consensus_states = message.consensusStates.map((e) => ConsensusStateWithHeight.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStatesResponse>): QueryConsensusStatesResponse {\n const message = createBaseQueryConsensusStatesResponse();\n message.consensusStates = object.consensusStates?.map((e) => ConsensusStateWithHeight.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateHeightsRequest(): QueryConsensusStateHeightsRequest {\n return { clientId: \"\", pagination: undefined };\n}\n\nexport const QueryConsensusStateHeightsRequest: MessageFns<\n QueryConsensusStateHeightsRequest,\n \"ibc.core.client.v1.QueryConsensusStateHeightsRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateHeightsRequest\" as const,\n\n encode(message: QueryConsensusStateHeightsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateHeightsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateHeightsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateHeightsRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateHeightsRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateHeightsRequest>): QueryConsensusStateHeightsRequest {\n const message = createBaseQueryConsensusStateHeightsRequest();\n message.clientId = object.clientId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateHeightsResponse(): QueryConsensusStateHeightsResponse {\n return { consensusStateHeights: [], pagination: undefined };\n}\n\nexport const QueryConsensusStateHeightsResponse: MessageFns<\n QueryConsensusStateHeightsResponse,\n \"ibc.core.client.v1.QueryConsensusStateHeightsResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateHeightsResponse\" as const,\n\n encode(message: QueryConsensusStateHeightsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.consensusStateHeights) {\n Height.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateHeightsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateHeightsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusStateHeights.push(Height.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateHeightsResponse {\n return {\n consensusStateHeights: globalThis.Array.isArray(object?.consensus_state_heights)\n ? object.consensus_state_heights.map((e: any) => Height.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateHeightsResponse): unknown {\n const obj: any = {};\n if (message.consensusStateHeights?.length) {\n obj.consensus_state_heights = message.consensusStateHeights.map((e) => Height.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateHeightsResponse>): QueryConsensusStateHeightsResponse {\n const message = createBaseQueryConsensusStateHeightsResponse();\n message.consensusStateHeights = object.consensusStateHeights?.map((e) => Height.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatusRequest(): QueryClientStatusRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientStatusRequest: MessageFns<\n QueryClientStatusRequest,\n \"ibc.core.client.v1.QueryClientStatusRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatusRequest\" as const,\n\n encode(message: QueryClientStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatusRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatusRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatusRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientStatusRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatusRequest>): QueryClientStatusRequest {\n const message = createBaseQueryClientStatusRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientStatusResponse(): QueryClientStatusResponse {\n return { status: \"\" };\n}\n\nexport const QueryClientStatusResponse: MessageFns<\n QueryClientStatusResponse,\n \"ibc.core.client.v1.QueryClientStatusResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatusResponse\" as const,\n\n encode(message: QueryClientStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.status !== \"\") {\n writer.uint32(10).string(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatusResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatusResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.status = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatusResponse {\n return { status: isSet(object.status) ? globalThis.String(object.status) : \"\" };\n },\n\n toJSON(message: QueryClientStatusResponse): unknown {\n const obj: any = {};\n if (message.status !== \"\") {\n obj.status = message.status;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatusResponse>): QueryClientStatusResponse {\n const message = createBaseQueryClientStatusResponse();\n message.status = object.status ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientParamsRequest(): QueryClientParamsRequest {\n return {};\n}\n\nexport const QueryClientParamsRequest: MessageFns<\n QueryClientParamsRequest,\n \"ibc.core.client.v1.QueryClientParamsRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientParamsRequest\" as const,\n\n encode(_: QueryClientParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryClientParamsRequest {\n return {};\n },\n\n toJSON(_: QueryClientParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryClientParamsRequest>): QueryClientParamsRequest {\n const message = createBaseQueryClientParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryClientParamsResponse(): QueryClientParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryClientParamsResponse: MessageFns<\n QueryClientParamsResponse,\n \"ibc.core.client.v1.QueryClientParamsResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientParamsResponse\" as const,\n\n encode(message: QueryClientParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryClientParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientParamsResponse>): QueryClientParamsResponse {\n const message = createBaseQueryClientParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientCreatorRequest(): QueryClientCreatorRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientCreatorRequest: MessageFns<\n QueryClientCreatorRequest,\n \"ibc.core.client.v1.QueryClientCreatorRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientCreatorRequest\" as const,\n\n encode(message: QueryClientCreatorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientCreatorRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientCreatorRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientCreatorRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientCreatorRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientCreatorRequest>): QueryClientCreatorRequest {\n const message = createBaseQueryClientCreatorRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientCreatorResponse(): QueryClientCreatorResponse {\n return { creator: \"\" };\n}\n\nexport const QueryClientCreatorResponse: MessageFns<\n QueryClientCreatorResponse,\n \"ibc.core.client.v1.QueryClientCreatorResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientCreatorResponse\" as const,\n\n encode(message: QueryClientCreatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.creator !== \"\") {\n writer.uint32(10).string(message.creator);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientCreatorResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientCreatorResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.creator = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientCreatorResponse {\n return { creator: isSet(object.creator) ? globalThis.String(object.creator) : \"\" };\n },\n\n toJSON(message: QueryClientCreatorResponse): unknown {\n const obj: any = {};\n if (message.creator !== \"\") {\n obj.creator = message.creator;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientCreatorResponse>): QueryClientCreatorResponse {\n const message = createBaseQueryClientCreatorResponse();\n message.creator = object.creator ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedClientStateRequest(): QueryUpgradedClientStateRequest {\n return {};\n}\n\nexport const QueryUpgradedClientStateRequest: MessageFns<\n QueryUpgradedClientStateRequest,\n \"ibc.core.client.v1.QueryUpgradedClientStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedClientStateRequest\" as const,\n\n encode(_: QueryUpgradedClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryUpgradedClientStateRequest {\n return {};\n },\n\n toJSON(_: QueryUpgradedClientStateRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryUpgradedClientStateRequest>): QueryUpgradedClientStateRequest {\n const message = createBaseQueryUpgradedClientStateRequest();\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedClientStateResponse(): QueryUpgradedClientStateResponse {\n return { upgradedClientState: undefined };\n}\n\nexport const QueryUpgradedClientStateResponse: MessageFns<\n QueryUpgradedClientStateResponse,\n \"ibc.core.client.v1.QueryUpgradedClientStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedClientStateResponse\" as const,\n\n encode(message: QueryUpgradedClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.upgradedClientState !== undefined) {\n Any.encode(message.upgradedClientState, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.upgradedClientState = Any.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUpgradedClientStateResponse {\n return {\n upgradedClientState: isSet(object.upgraded_client_state) ? Any.fromJSON(object.upgraded_client_state) : undefined,\n };\n },\n\n toJSON(message: QueryUpgradedClientStateResponse): unknown {\n const obj: any = {};\n if (message.upgradedClientState !== undefined) {\n obj.upgraded_client_state = Any.toJSON(message.upgradedClientState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUpgradedClientStateResponse>): QueryUpgradedClientStateResponse {\n const message = createBaseQueryUpgradedClientStateResponse();\n message.upgradedClientState = (object.upgradedClientState !== undefined && object.upgradedClientState !== null)\n ? Any.fromPartial(object.upgradedClientState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedConsensusStateRequest(): QueryUpgradedConsensusStateRequest {\n return {};\n}\n\nexport const QueryUpgradedConsensusStateRequest: MessageFns<\n QueryUpgradedConsensusStateRequest,\n \"ibc.core.client.v1.QueryUpgradedConsensusStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedConsensusStateRequest\" as const,\n\n encode(_: QueryUpgradedConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryUpgradedConsensusStateRequest {\n return {};\n },\n\n toJSON(_: QueryUpgradedConsensusStateRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryUpgradedConsensusStateRequest>): QueryUpgradedConsensusStateRequest {\n const message = createBaseQueryUpgradedConsensusStateRequest();\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedConsensusStateResponse(): QueryUpgradedConsensusStateResponse {\n return { upgradedConsensusState: undefined };\n}\n\nexport const QueryUpgradedConsensusStateResponse: MessageFns<\n QueryUpgradedConsensusStateResponse,\n \"ibc.core.client.v1.QueryUpgradedConsensusStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedConsensusStateResponse\" as const,\n\n encode(message: QueryUpgradedConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.upgradedConsensusState !== undefined) {\n Any.encode(message.upgradedConsensusState, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.upgradedConsensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUpgradedConsensusStateResponse {\n return {\n upgradedConsensusState: isSet(object.upgraded_consensus_state)\n ? Any.fromJSON(object.upgraded_consensus_state)\n : undefined,\n };\n },\n\n toJSON(message: QueryUpgradedConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.upgradedConsensusState !== undefined) {\n obj.upgraded_consensus_state = Any.toJSON(message.upgradedConsensusState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUpgradedConsensusStateResponse>): QueryUpgradedConsensusStateResponse {\n const message = createBaseQueryUpgradedConsensusStateResponse();\n message.upgradedConsensusState =\n (object.upgradedConsensusState !== undefined && object.upgradedConsensusState !== null)\n ? Any.fromPartial(object.upgradedConsensusState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryVerifyMembershipRequest(): QueryVerifyMembershipRequest {\n return {\n clientId: \"\",\n proof: new Uint8Array(0),\n proofHeight: undefined,\n value: new Uint8Array(0),\n timeDelay: Long.UZERO,\n blockDelay: Long.UZERO,\n merklePath: undefined,\n };\n}\n\nexport const QueryVerifyMembershipRequest: MessageFns<\n QueryVerifyMembershipRequest,\n \"ibc.core.client.v1.QueryVerifyMembershipRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryVerifyMembershipRequest\" as const,\n\n encode(message: QueryVerifyMembershipRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.value.length !== 0) {\n writer.uint32(42).bytes(message.value);\n }\n if (!message.timeDelay.equals(Long.UZERO)) {\n writer.uint32(48).uint64(message.timeDelay.toString());\n }\n if (!message.blockDelay.equals(Long.UZERO)) {\n writer.uint32(56).uint64(message.blockDelay.toString());\n }\n if (message.merklePath !== undefined) {\n MerklePath.encode(message.merklePath, writer.uint32(66).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryVerifyMembershipRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryVerifyMembershipRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.value = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.timeDelay = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.blockDelay = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.merklePath = MerklePath.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryVerifyMembershipRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0),\n timeDelay: isSet(object.time_delay) ? Long.fromValue(object.time_delay) : Long.UZERO,\n blockDelay: isSet(object.block_delay) ? Long.fromValue(object.block_delay) : Long.UZERO,\n merklePath: isSet(object.merkle_path) ? MerklePath.fromJSON(object.merkle_path) : undefined,\n };\n },\n\n toJSON(message: QueryVerifyMembershipRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.value.length !== 0) {\n obj.value = base64FromBytes(message.value);\n }\n if (!message.timeDelay.equals(Long.UZERO)) {\n obj.time_delay = (message.timeDelay || Long.UZERO).toString();\n }\n if (!message.blockDelay.equals(Long.UZERO)) {\n obj.block_delay = (message.blockDelay || Long.UZERO).toString();\n }\n if (message.merklePath !== undefined) {\n obj.merkle_path = MerklePath.toJSON(message.merklePath);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryVerifyMembershipRequest>): QueryVerifyMembershipRequest {\n const message = createBaseQueryVerifyMembershipRequest();\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.value = object.value ?? new Uint8Array(0);\n message.timeDelay = (object.timeDelay !== undefined && object.timeDelay !== null)\n ? Long.fromValue(object.timeDelay)\n : Long.UZERO;\n message.blockDelay = (object.blockDelay !== undefined && object.blockDelay !== null)\n ? Long.fromValue(object.blockDelay)\n : Long.UZERO;\n message.merklePath = (object.merklePath !== undefined && object.merklePath !== null)\n ? MerklePath.fromPartial(object.merklePath)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryVerifyMembershipResponse(): QueryVerifyMembershipResponse {\n return { success: false };\n}\n\nexport const QueryVerifyMembershipResponse: MessageFns<\n QueryVerifyMembershipResponse,\n \"ibc.core.client.v1.QueryVerifyMembershipResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryVerifyMembershipResponse\" as const,\n\n encode(message: QueryVerifyMembershipResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.success !== false) {\n writer.uint32(8).bool(message.success);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryVerifyMembershipResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryVerifyMembershipResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.success = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryVerifyMembershipResponse {\n return { success: isSet(object.success) ? globalThis.Boolean(object.success) : false };\n },\n\n toJSON(message: QueryVerifyMembershipResponse): unknown {\n const obj: any = {};\n if (message.success !== false) {\n obj.success = message.success;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryVerifyMembershipResponse>): QueryVerifyMembershipResponse {\n const message = createBaseQueryVerifyMembershipResponse();\n message.success = object.success ?? false;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/client/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Plan } from \"../../../../cosmos/upgrade/v1beta1/upgrade.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Params } from \"./client.ts\";\n\n/** MsgCreateClient defines a message to create an IBC client */\nexport interface MsgCreateClient {\n /** light client state */\n clientState:\n | Any\n | undefined;\n /**\n * consensus state associated with the client that corresponds to a given\n * height.\n */\n consensusState:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgCreateClientResponse defines the Msg/CreateClient response type. */\nexport interface MsgCreateClientResponse {\n clientId: string;\n}\n\n/**\n * MsgUpdateClient defines an sdk.Msg to update a IBC client state using\n * the given client message.\n */\nexport interface MsgUpdateClient {\n /** client unique identifier */\n clientId: string;\n /** client message to update the light client */\n clientMessage:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgUpdateClientResponse defines the Msg/UpdateClient response type. */\nexport interface MsgUpdateClientResponse {\n}\n\n/**\n * MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\n * state\n */\nexport interface MsgUpgradeClient {\n /** client unique identifier */\n clientId: string;\n /** upgraded client state */\n clientState:\n | Any\n | undefined;\n /**\n * upgraded consensus state, only contains enough information to serve as a\n * basis of trust in update logic\n */\n consensusState:\n | Any\n | undefined;\n /** proof that old chain committed to new client */\n proofUpgradeClient: Uint8Array;\n /** proof that old chain committed to new consensus state */\n proofUpgradeConsensusState: Uint8Array;\n /** signer address */\n signer: string;\n}\n\n/** MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. */\nexport interface MsgUpgradeClientResponse {\n}\n\n/**\n * MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\n * light client misbehaviour.\n * This message has been deprecated. Use MsgUpdateClient instead.\n *\n * @deprecated\n */\nexport interface MsgSubmitMisbehaviour {\n /** client unique identifier */\n clientId: string;\n /** misbehaviour used for freezing the light client */\n misbehaviour:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/**\n * MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\n * type.\n */\nexport interface MsgSubmitMisbehaviourResponse {\n}\n\n/** MsgRecoverClient defines the message used to recover a frozen or expired client. */\nexport interface MsgRecoverClient {\n /** the client identifier for the client to be updated if the proposal passes */\n subjectClientId: string;\n /**\n * the substitute client identifier for the client which will replace the subject\n * client\n */\n substituteClientId: string;\n /** signer address */\n signer: string;\n}\n\n/** MsgRecoverClientResponse defines the Msg/RecoverClient response type. */\nexport interface MsgRecoverClientResponse {\n}\n\n/** MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal */\nexport interface MsgIBCSoftwareUpgrade {\n plan:\n | Plan\n | undefined;\n /**\n * An UpgradedClientState must be provided to perform an IBC breaking upgrade.\n * This will make the chain commit to the correct upgraded (self) client state\n * before the upgrade occurs, so that connecting chains can verify that the\n * new upgraded client is valid by verifying a proof on the previous version\n * of the chain. This will allow IBC connections to persist smoothly across\n * planned chain upgrades. Correspondingly, the UpgradedClientState field has been\n * deprecated in the Cosmos SDK to allow for this logic to exist solely in\n * the 02-client module.\n */\n upgradedClientState:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type. */\nexport interface MsgIBCSoftwareUpgradeResponse {\n}\n\n/** MsgUpdateParams defines the sdk.Msg type to update the client parameters. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the client parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the MsgUpdateParams response type. */\nexport interface MsgUpdateParamsResponse {\n}\n\n/** MsgDeleteClientCreator defines a message to delete the client creator of a client */\nexport interface MsgDeleteClientCreator {\n /** client identifier */\n clientId: string;\n /** signer address */\n signer: string;\n}\n\n/** MsgDeleteClientCreatorResponse defines the Msg/DeleteClientCreator response type. */\nexport interface MsgDeleteClientCreatorResponse {\n}\n\nfunction createBaseMsgCreateClient(): MsgCreateClient {\n return { clientState: undefined, consensusState: undefined, signer: \"\" };\n}\n\nexport const MsgCreateClient: MessageFns<MsgCreateClient, \"ibc.core.client.v1.MsgCreateClient\"> = {\n $type: \"ibc.core.client.v1.MsgCreateClient\" as const,\n\n encode(message: MsgCreateClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(10).fork()).join();\n }\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCreateClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgCreateClient {\n return {\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgCreateClient): unknown {\n const obj: any = {};\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgCreateClient>): MsgCreateClient {\n const message = createBaseMsgCreateClient();\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgCreateClientResponse(): MsgCreateClientResponse {\n return { clientId: \"\" };\n}\n\nexport const MsgCreateClientResponse: MessageFns<\n MsgCreateClientResponse,\n \"ibc.core.client.v1.MsgCreateClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgCreateClientResponse\" as const,\n\n encode(message: MsgCreateClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCreateClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgCreateClientResponse {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: MsgCreateClientResponse): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgCreateClientResponse>): MsgCreateClientResponse {\n const message = createBaseMsgCreateClientResponse();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateClient(): MsgUpdateClient {\n return { clientId: \"\", clientMessage: undefined, signer: \"\" };\n}\n\nexport const MsgUpdateClient: MessageFns<MsgUpdateClient, \"ibc.core.client.v1.MsgUpdateClient\"> = {\n $type: \"ibc.core.client.v1.MsgUpdateClient\" as const,\n\n encode(message: MsgUpdateClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.clientMessage !== undefined) {\n Any.encode(message.clientMessage, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientMessage = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateClient {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientMessage: isSet(object.client_message) ? Any.fromJSON(object.client_message) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgUpdateClient): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientMessage !== undefined) {\n obj.client_message = Any.toJSON(message.clientMessage);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateClient>): MsgUpdateClient {\n const message = createBaseMsgUpdateClient();\n message.clientId = object.clientId ?? \"\";\n message.clientMessage = (object.clientMessage !== undefined && object.clientMessage !== null)\n ? Any.fromPartial(object.clientMessage)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateClientResponse(): MsgUpdateClientResponse {\n return {};\n}\n\nexport const MsgUpdateClientResponse: MessageFns<\n MsgUpdateClientResponse,\n \"ibc.core.client.v1.MsgUpdateClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpdateClientResponse\" as const,\n\n encode(_: MsgUpdateClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateClientResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateClientResponse>): MsgUpdateClientResponse {\n const message = createBaseMsgUpdateClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpgradeClient(): MsgUpgradeClient {\n return {\n clientId: \"\",\n clientState: undefined,\n consensusState: undefined,\n proofUpgradeClient: new Uint8Array(0),\n proofUpgradeConsensusState: new Uint8Array(0),\n signer: \"\",\n };\n}\n\nexport const MsgUpgradeClient: MessageFns<MsgUpgradeClient, \"ibc.core.client.v1.MsgUpgradeClient\"> = {\n $type: \"ibc.core.client.v1.MsgUpgradeClient\" as const,\n\n encode(message: MsgUpgradeClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(18).fork()).join();\n }\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(26).fork()).join();\n }\n if (message.proofUpgradeClient.length !== 0) {\n writer.uint32(34).bytes(message.proofUpgradeClient);\n }\n if (message.proofUpgradeConsensusState.length !== 0) {\n writer.uint32(42).bytes(message.proofUpgradeConsensusState);\n }\n if (message.signer !== \"\") {\n writer.uint32(50).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpgradeClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpgradeClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofUpgradeClient = reader.bytes();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofUpgradeConsensusState = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpgradeClient {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n proofUpgradeClient: isSet(object.proof_upgrade_client)\n ? bytesFromBase64(object.proof_upgrade_client)\n : new Uint8Array(0),\n proofUpgradeConsensusState: isSet(object.proof_upgrade_consensus_state)\n ? bytesFromBase64(object.proof_upgrade_consensus_state)\n : new Uint8Array(0),\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgUpgradeClient): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.proofUpgradeClient.length !== 0) {\n obj.proof_upgrade_client = base64FromBytes(message.proofUpgradeClient);\n }\n if (message.proofUpgradeConsensusState.length !== 0) {\n obj.proof_upgrade_consensus_state = base64FromBytes(message.proofUpgradeConsensusState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpgradeClient>): MsgUpgradeClient {\n const message = createBaseMsgUpgradeClient();\n message.clientId = object.clientId ?? \"\";\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.proofUpgradeClient = object.proofUpgradeClient ?? new Uint8Array(0);\n message.proofUpgradeConsensusState = object.proofUpgradeConsensusState ?? new Uint8Array(0);\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpgradeClientResponse(): MsgUpgradeClientResponse {\n return {};\n}\n\nexport const MsgUpgradeClientResponse: MessageFns<\n MsgUpgradeClientResponse,\n \"ibc.core.client.v1.MsgUpgradeClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpgradeClientResponse\" as const,\n\n encode(_: MsgUpgradeClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpgradeClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpgradeClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpgradeClientResponse {\n return {};\n },\n\n toJSON(_: MsgUpgradeClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpgradeClientResponse>): MsgUpgradeClientResponse {\n const message = createBaseMsgUpgradeClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitMisbehaviour(): MsgSubmitMisbehaviour {\n return { clientId: \"\", misbehaviour: undefined, signer: \"\" };\n}\n\nexport const MsgSubmitMisbehaviour: MessageFns<MsgSubmitMisbehaviour, \"ibc.core.client.v1.MsgSubmitMisbehaviour\"> = {\n $type: \"ibc.core.client.v1.MsgSubmitMisbehaviour\" as const,\n\n encode(message: MsgSubmitMisbehaviour, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.misbehaviour !== undefined) {\n Any.encode(message.misbehaviour, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitMisbehaviour {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitMisbehaviour();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.misbehaviour = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSubmitMisbehaviour {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n misbehaviour: isSet(object.misbehaviour) ? Any.fromJSON(object.misbehaviour) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgSubmitMisbehaviour): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.misbehaviour !== undefined) {\n obj.misbehaviour = Any.toJSON(message.misbehaviour);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSubmitMisbehaviour>): MsgSubmitMisbehaviour {\n const message = createBaseMsgSubmitMisbehaviour();\n message.clientId = object.clientId ?? \"\";\n message.misbehaviour = (object.misbehaviour !== undefined && object.misbehaviour !== null)\n ? Any.fromPartial(object.misbehaviour)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitMisbehaviourResponse(): MsgSubmitMisbehaviourResponse {\n return {};\n}\n\nexport const MsgSubmitMisbehaviourResponse: MessageFns<\n MsgSubmitMisbehaviourResponse,\n \"ibc.core.client.v1.MsgSubmitMisbehaviourResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgSubmitMisbehaviourResponse\" as const,\n\n encode(_: MsgSubmitMisbehaviourResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitMisbehaviourResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitMisbehaviourResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgSubmitMisbehaviourResponse {\n return {};\n },\n\n toJSON(_: MsgSubmitMisbehaviourResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgSubmitMisbehaviourResponse>): MsgSubmitMisbehaviourResponse {\n const message = createBaseMsgSubmitMisbehaviourResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRecoverClient(): MsgRecoverClient {\n return { subjectClientId: \"\", substituteClientId: \"\", signer: \"\" };\n}\n\nexport const MsgRecoverClient: MessageFns<MsgRecoverClient, \"ibc.core.client.v1.MsgRecoverClient\"> = {\n $type: \"ibc.core.client.v1.MsgRecoverClient\" as const,\n\n encode(message: MsgRecoverClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subjectClientId !== \"\") {\n writer.uint32(10).string(message.subjectClientId);\n }\n if (message.substituteClientId !== \"\") {\n writer.uint32(18).string(message.substituteClientId);\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecoverClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecoverClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subjectClientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.substituteClientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecoverClient {\n return {\n subjectClientId: isSet(object.subject_client_id) ? globalThis.String(object.subject_client_id) : \"\",\n substituteClientId: isSet(object.substitute_client_id) ? globalThis.String(object.substitute_client_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgRecoverClient): unknown {\n const obj: any = {};\n if (message.subjectClientId !== \"\") {\n obj.subject_client_id = message.subjectClientId;\n }\n if (message.substituteClientId !== \"\") {\n obj.substitute_client_id = message.substituteClientId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecoverClient>): MsgRecoverClient {\n const message = createBaseMsgRecoverClient();\n message.subjectClientId = object.subjectClientId ?? \"\";\n message.substituteClientId = object.substituteClientId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRecoverClientResponse(): MsgRecoverClientResponse {\n return {};\n}\n\nexport const MsgRecoverClientResponse: MessageFns<\n MsgRecoverClientResponse,\n \"ibc.core.client.v1.MsgRecoverClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgRecoverClientResponse\" as const,\n\n encode(_: MsgRecoverClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecoverClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecoverClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgRecoverClientResponse {\n return {};\n },\n\n toJSON(_: MsgRecoverClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgRecoverClientResponse>): MsgRecoverClientResponse {\n const message = createBaseMsgRecoverClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgIBCSoftwareUpgrade(): MsgIBCSoftwareUpgrade {\n return { plan: undefined, upgradedClientState: undefined, signer: \"\" };\n}\n\nexport const MsgIBCSoftwareUpgrade: MessageFns<MsgIBCSoftwareUpgrade, \"ibc.core.client.v1.MsgIBCSoftwareUpgrade\"> = {\n $type: \"ibc.core.client.v1.MsgIBCSoftwareUpgrade\" as const,\n\n encode(message: MsgIBCSoftwareUpgrade, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.plan !== undefined) {\n Plan.encode(message.plan, writer.uint32(10).fork()).join();\n }\n if (message.upgradedClientState !== undefined) {\n Any.encode(message.upgradedClientState, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIBCSoftwareUpgrade {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIBCSoftwareUpgrade();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.plan = Plan.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.upgradedClientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgIBCSoftwareUpgrade {\n return {\n plan: isSet(object.plan) ? Plan.fromJSON(object.plan) : undefined,\n upgradedClientState: isSet(object.upgraded_client_state) ? Any.fromJSON(object.upgraded_client_state) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgIBCSoftwareUpgrade): unknown {\n const obj: any = {};\n if (message.plan !== undefined) {\n obj.plan = Plan.toJSON(message.plan);\n }\n if (message.upgradedClientState !== undefined) {\n obj.upgraded_client_state = Any.toJSON(message.upgradedClientState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgIBCSoftwareUpgrade>): MsgIBCSoftwareUpgrade {\n const message = createBaseMsgIBCSoftwareUpgrade();\n message.plan = (object.plan !== undefined && object.plan !== null) ? Plan.fromPartial(object.plan) : undefined;\n message.upgradedClientState = (object.upgradedClientState !== undefined && object.upgradedClientState !== null)\n ? Any.fromPartial(object.upgradedClientState)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgIBCSoftwareUpgradeResponse(): MsgIBCSoftwareUpgradeResponse {\n return {};\n}\n\nexport const MsgIBCSoftwareUpgradeResponse: MessageFns<\n MsgIBCSoftwareUpgradeResponse,\n \"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse\" as const,\n\n encode(_: MsgIBCSoftwareUpgradeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIBCSoftwareUpgradeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIBCSoftwareUpgradeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgIBCSoftwareUpgradeResponse {\n return {};\n },\n\n toJSON(_: MsgIBCSoftwareUpgradeResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgIBCSoftwareUpgradeResponse>): MsgIBCSoftwareUpgradeResponse {\n const message = createBaseMsgIBCSoftwareUpgradeResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.core.client.v1.MsgUpdateParams\"> = {\n $type: \"ibc.core.client.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.core.client.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDeleteClientCreator(): MsgDeleteClientCreator {\n return { clientId: \"\", signer: \"\" };\n}\n\nexport const MsgDeleteClientCreator: MessageFns<MsgDeleteClientCreator, \"ibc.core.client.v1.MsgDeleteClientCreator\"> = {\n $type: \"ibc.core.client.v1.MsgDeleteClientCreator\" as const,\n\n encode(message: MsgDeleteClientCreator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.signer !== \"\") {\n writer.uint32(18).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDeleteClientCreator {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDeleteClientCreator();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgDeleteClientCreator {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgDeleteClientCreator): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgDeleteClientCreator>): MsgDeleteClientCreator {\n const message = createBaseMsgDeleteClientCreator();\n message.clientId = object.clientId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDeleteClientCreatorResponse(): MsgDeleteClientCreatorResponse {\n return {};\n}\n\nexport const MsgDeleteClientCreatorResponse: MessageFns<\n MsgDeleteClientCreatorResponse,\n \"ibc.core.client.v1.MsgDeleteClientCreatorResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgDeleteClientCreatorResponse\" as const,\n\n encode(_: MsgDeleteClientCreatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDeleteClientCreatorResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDeleteClientCreatorResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgDeleteClientCreatorResponse {\n return {};\n },\n\n toJSON(_: MsgDeleteClientCreatorResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgDeleteClientCreatorResponse>): MsgDeleteClientCreatorResponse {\n const message = createBaseMsgDeleteClientCreatorResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/connection/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ConnectionPaths, IdentifiedConnection, Params } from \"./connection.ts\";\n\n/** GenesisState defines the ibc connection submodule's genesis state. */\nexport interface GenesisState {\n connections: IdentifiedConnection[];\n clientConnectionPaths: ConnectionPaths[];\n /** the sequence for the next generated connection identifier */\n nextConnectionSequence: Long;\n params: Params | undefined;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { connections: [], clientConnectionPaths: [], nextConnectionSequence: Long.UZERO, params: undefined };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.connection.v1.GenesisState\"> = {\n $type: \"ibc.core.connection.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connections) {\n IdentifiedConnection.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.clientConnectionPaths) {\n ConnectionPaths.encode(v!, writer.uint32(18).fork()).join();\n }\n if (!message.nextConnectionSequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.nextConnectionSequence.toString());\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connections.push(IdentifiedConnection.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientConnectionPaths.push(ConnectionPaths.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.nextConnectionSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n connections: globalThis.Array.isArray(object?.connections)\n ? object.connections.map((e: any) => IdentifiedConnection.fromJSON(e))\n : [],\n clientConnectionPaths: globalThis.Array.isArray(object?.client_connection_paths)\n ? object.client_connection_paths.map((e: any) => ConnectionPaths.fromJSON(e))\n : [],\n nextConnectionSequence: isSet(object.next_connection_sequence)\n ? Long.fromValue(object.next_connection_sequence)\n : Long.UZERO,\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.connections?.length) {\n obj.connections = message.connections.map((e) => IdentifiedConnection.toJSON(e));\n }\n if (message.clientConnectionPaths?.length) {\n obj.client_connection_paths = message.clientConnectionPaths.map((e) => ConnectionPaths.toJSON(e));\n }\n if (!message.nextConnectionSequence.equals(Long.UZERO)) {\n obj.next_connection_sequence = (message.nextConnectionSequence || Long.UZERO).toString();\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.connections = object.connections?.map((e) => IdentifiedConnection.fromPartial(e)) || [];\n message.clientConnectionPaths = object.clientConnectionPaths?.map((e) => ConnectionPaths.fromPartial(e)) || [];\n message.nextConnectionSequence =\n (object.nextConnectionSequence !== undefined && object.nextConnectionSequence !== null)\n ? Long.fromValue(object.nextConnectionSequence)\n : Long.UZERO;\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/connection/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height, IdentifiedClientState } from \"../../client/v1/client.ts\";\nimport { ConnectionEnd, IdentifiedConnection, Params } from \"./connection.ts\";\n\n/**\n * QueryConnectionRequest is the request type for the Query/Connection RPC\n * method\n */\nexport interface QueryConnectionRequest {\n /** connection unique identifier */\n connectionId: string;\n}\n\n/**\n * QueryConnectionResponse is the response type for the Query/Connection RPC\n * method. Besides the connection end, it includes a proof and the height from\n * which the proof was retrieved.\n */\nexport interface QueryConnectionResponse {\n /** connection associated with the request identifier */\n connection:\n | ConnectionEnd\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionsRequest is the request type for the Query/Connections RPC\n * method\n */\nexport interface QueryConnectionsRequest {\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConnectionsResponse is the response type for the Query/Connections RPC\n * method.\n */\nexport interface QueryConnectionsResponse {\n /** list of stored connections of the chain. */\n connections: IdentifiedConnection[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryClientConnectionsRequest is the request type for the\n * Query/ClientConnections RPC method\n */\nexport interface QueryClientConnectionsRequest {\n /** client identifier associated with a connection */\n clientId: string;\n}\n\n/**\n * QueryClientConnectionsResponse is the response type for the\n * Query/ClientConnections RPC method\n */\nexport interface QueryClientConnectionsResponse {\n /** slice of all the connection paths associated with a client. */\n connectionPaths: string[];\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was generated */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionClientStateRequest is the request type for the\n * Query/ConnectionClientState RPC method\n */\nexport interface QueryConnectionClientStateRequest {\n /** connection identifier */\n connectionId: string;\n}\n\n/**\n * QueryConnectionClientStateResponse is the response type for the\n * Query/ConnectionClientState RPC method\n */\nexport interface QueryConnectionClientStateResponse {\n /** client state associated with the channel */\n identifiedClientState:\n | IdentifiedClientState\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionConsensusStateRequest is the request type for the\n * Query/ConnectionConsensusState RPC method\n */\nexport interface QueryConnectionConsensusStateRequest {\n /** connection identifier */\n connectionId: string;\n revisionNumber: Long;\n revisionHeight: Long;\n}\n\n/**\n * QueryConnectionConsensusStateResponse is the response type for the\n * Query/ConnectionConsensusState RPC method\n */\nexport interface QueryConnectionConsensusStateResponse {\n /** consensus state associated with the channel */\n consensusState:\n | Any\n | undefined;\n /** client ID associated with the consensus state */\n clientId: string;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/** QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method. */\nexport interface QueryConnectionParamsRequest {\n}\n\n/** QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method. */\nexport interface QueryConnectionParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryConnectionRequest(): QueryConnectionRequest {\n return { connectionId: \"\" };\n}\n\nexport const QueryConnectionRequest: MessageFns<\n QueryConnectionRequest,\n \"ibc.core.connection.v1.QueryConnectionRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionRequest\" as const,\n\n encode(message: QueryConnectionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionRequest {\n return { connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\" };\n },\n\n toJSON(message: QueryConnectionRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionRequest>): QueryConnectionRequest {\n const message = createBaseQueryConnectionRequest();\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryConnectionResponse(): QueryConnectionResponse {\n return { connection: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionResponse: MessageFns<\n QueryConnectionResponse,\n \"ibc.core.connection.v1.QueryConnectionResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionResponse\" as const,\n\n encode(message: QueryConnectionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connection !== undefined) {\n ConnectionEnd.encode(message.connection, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connection = ConnectionEnd.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionResponse {\n return {\n connection: isSet(object.connection) ? ConnectionEnd.fromJSON(object.connection) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionResponse): unknown {\n const obj: any = {};\n if (message.connection !== undefined) {\n obj.connection = ConnectionEnd.toJSON(message.connection);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionResponse>): QueryConnectionResponse {\n const message = createBaseQueryConnectionResponse();\n message.connection = (object.connection !== undefined && object.connection !== null)\n ? ConnectionEnd.fromPartial(object.connection)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionsRequest(): QueryConnectionsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryConnectionsRequest: MessageFns<\n QueryConnectionsRequest,\n \"ibc.core.connection.v1.QueryConnectionsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionsRequest\" as const,\n\n encode(message: QueryConnectionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryConnectionsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionsRequest>): QueryConnectionsRequest {\n const message = createBaseQueryConnectionsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionsResponse(): QueryConnectionsResponse {\n return { connections: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryConnectionsResponse: MessageFns<\n QueryConnectionsResponse,\n \"ibc.core.connection.v1.QueryConnectionsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionsResponse\" as const,\n\n encode(message: QueryConnectionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connections) {\n IdentifiedConnection.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connections.push(IdentifiedConnection.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionsResponse {\n return {\n connections: globalThis.Array.isArray(object?.connections)\n ? object.connections.map((e: any) => IdentifiedConnection.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionsResponse): unknown {\n const obj: any = {};\n if (message.connections?.length) {\n obj.connections = message.connections.map((e) => IdentifiedConnection.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionsResponse>): QueryConnectionsResponse {\n const message = createBaseQueryConnectionsResponse();\n message.connections = object.connections?.map((e) => IdentifiedConnection.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientConnectionsRequest(): QueryClientConnectionsRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientConnectionsRequest: MessageFns<\n QueryClientConnectionsRequest,\n \"ibc.core.connection.v1.QueryClientConnectionsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryClientConnectionsRequest\" as const,\n\n encode(message: QueryClientConnectionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientConnectionsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientConnectionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientConnectionsRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientConnectionsRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientConnectionsRequest>): QueryClientConnectionsRequest {\n const message = createBaseQueryClientConnectionsRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientConnectionsResponse(): QueryClientConnectionsResponse {\n return { connectionPaths: [], proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryClientConnectionsResponse: MessageFns<\n QueryClientConnectionsResponse,\n \"ibc.core.connection.v1.QueryClientConnectionsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryClientConnectionsResponse\" as const,\n\n encode(message: QueryClientConnectionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connectionPaths) {\n writer.uint32(10).string(v!);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientConnectionsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientConnectionsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionPaths.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientConnectionsResponse {\n return {\n connectionPaths: globalThis.Array.isArray(object?.connection_paths)\n ? object.connection_paths.map((e: any) => globalThis.String(e))\n : [],\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryClientConnectionsResponse): unknown {\n const obj: any = {};\n if (message.connectionPaths?.length) {\n obj.connection_paths = message.connectionPaths;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientConnectionsResponse>): QueryClientConnectionsResponse {\n const message = createBaseQueryClientConnectionsResponse();\n message.connectionPaths = object.connectionPaths?.map((e) => e) || [];\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionClientStateRequest(): QueryConnectionClientStateRequest {\n return { connectionId: \"\" };\n}\n\nexport const QueryConnectionClientStateRequest: MessageFns<\n QueryConnectionClientStateRequest,\n \"ibc.core.connection.v1.QueryConnectionClientStateRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionClientStateRequest\" as const,\n\n encode(message: QueryConnectionClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionClientStateRequest {\n return { connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\" };\n },\n\n toJSON(message: QueryConnectionClientStateRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionClientStateRequest>): QueryConnectionClientStateRequest {\n const message = createBaseQueryConnectionClientStateRequest();\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryConnectionClientStateResponse(): QueryConnectionClientStateResponse {\n return { identifiedClientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionClientStateResponse: MessageFns<\n QueryConnectionClientStateResponse,\n \"ibc.core.connection.v1.QueryConnectionClientStateResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionClientStateResponse\" as const,\n\n encode(message: QueryConnectionClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.identifiedClientState !== undefined) {\n IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.identifiedClientState = IdentifiedClientState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionClientStateResponse {\n return {\n identifiedClientState: isSet(object.identified_client_state)\n ? IdentifiedClientState.fromJSON(object.identified_client_state)\n : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionClientStateResponse): unknown {\n const obj: any = {};\n if (message.identifiedClientState !== undefined) {\n obj.identified_client_state = IdentifiedClientState.toJSON(message.identifiedClientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionClientStateResponse>): QueryConnectionClientStateResponse {\n const message = createBaseQueryConnectionClientStateResponse();\n message.identifiedClientState =\n (object.identifiedClientState !== undefined && object.identifiedClientState !== null)\n ? IdentifiedClientState.fromPartial(object.identifiedClientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionConsensusStateRequest(): QueryConnectionConsensusStateRequest {\n return { connectionId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO };\n}\n\nexport const QueryConnectionConsensusStateRequest: MessageFns<\n QueryConnectionConsensusStateRequest,\n \"ibc.core.connection.v1.QueryConnectionConsensusStateRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionConsensusStateRequest\" as const,\n\n encode(message: QueryConnectionConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionHeight.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionConsensusStateRequest {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryConnectionConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionConsensusStateRequest>): QueryConnectionConsensusStateRequest {\n const message = createBaseQueryConnectionConsensusStateRequest();\n message.connectionId = object.connectionId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionConsensusStateResponse(): QueryConnectionConsensusStateResponse {\n return { consensusState: undefined, clientId: \"\", proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionConsensusStateResponse: MessageFns<\n QueryConnectionConsensusStateResponse,\n \"ibc.core.connection.v1.QueryConnectionConsensusStateResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionConsensusStateResponse\" as const,\n\n encode(message: QueryConnectionConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionConsensusStateResponse>): QueryConnectionConsensusStateResponse {\n const message = createBaseQueryConnectionConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionParamsRequest(): QueryConnectionParamsRequest {\n return {};\n}\n\nexport const QueryConnectionParamsRequest: MessageFns<\n QueryConnectionParamsRequest,\n \"ibc.core.connection.v1.QueryConnectionParamsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionParamsRequest\" as const,\n\n encode(_: QueryConnectionParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryConnectionParamsRequest {\n return {};\n },\n\n toJSON(_: QueryConnectionParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryConnectionParamsRequest>): QueryConnectionParamsRequest {\n const message = createBaseQueryConnectionParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryConnectionParamsResponse(): QueryConnectionParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryConnectionParamsResponse: MessageFns<\n QueryConnectionParamsResponse,\n \"ibc.core.connection.v1.QueryConnectionParamsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionParamsResponse\" as const,\n\n encode(message: QueryConnectionParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryConnectionParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionParamsResponse>): QueryConnectionParamsResponse {\n const message = createBaseQueryConnectionParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/connection/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height } from \"../../client/v1/client.ts\";\nimport { Counterparty, Params, Version } from \"./connection.ts\";\n\n/**\n * MsgConnectionOpenInit defines the msg sent by an account on Chain A to\n * initialize a connection with Chain B.\n */\nexport interface MsgConnectionOpenInit {\n clientId: string;\n counterparty: Counterparty | undefined;\n version: Version | undefined;\n delayPeriod: Long;\n signer: string;\n}\n\n/**\n * MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\n * type.\n */\nexport interface MsgConnectionOpenInitResponse {\n}\n\n/**\n * MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\n * connection on Chain B.\n */\nexport interface MsgConnectionOpenTry {\n clientId: string;\n /**\n * Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.\n *\n * @deprecated\n */\n previousConnectionId: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n clientState: Any | undefined;\n counterparty: Counterparty | undefined;\n delayPeriod: Long;\n counterpartyVersions: Version[];\n proofHeight:\n | Height\n | undefined;\n /**\n * proof of the initialization the connection on Chain A: `UNINITIALIZED ->\n * INIT`\n */\n proofInit: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofClient: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofConsensus: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n consensusHeight: Height | undefined;\n signer: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n hostConsensusStateProof: Uint8Array;\n}\n\n/** MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type. */\nexport interface MsgConnectionOpenTryResponse {\n}\n\n/**\n * MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\n * acknowledge the change of connection state to TRYOPEN on Chain B.\n */\nexport interface MsgConnectionOpenAck {\n connectionId: string;\n counterpartyConnectionId: string;\n version:\n | Version\n | undefined;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n clientState: Any | undefined;\n proofHeight:\n | Height\n | undefined;\n /**\n * proof of the initialization the connection on Chain B: `UNINITIALIZED ->\n * TRYOPEN`\n */\n proofTry: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofClient: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofConsensus: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n consensusHeight: Height | undefined;\n signer: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n hostConsensusStateProof: Uint8Array;\n}\n\n/** MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type. */\nexport interface MsgConnectionOpenAckResponse {\n}\n\n/**\n * MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\n * acknowledge the change of connection state to OPEN on Chain A.\n */\nexport interface MsgConnectionOpenConfirm {\n connectionId: string;\n /** proof for the change of the connection state on Chain A: `INIT -> OPEN` */\n proofAck: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\n * response type.\n */\nexport interface MsgConnectionOpenConfirmResponse {\n}\n\n/** MsgUpdateParams defines the sdk.Msg type to update the connection parameters. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the connection parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the MsgUpdateParams response type. */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgConnectionOpenInit(): MsgConnectionOpenInit {\n return { clientId: \"\", counterparty: undefined, version: undefined, delayPeriod: Long.UZERO, signer: \"\" };\n}\n\nexport const MsgConnectionOpenInit: MessageFns<MsgConnectionOpenInit, \"ibc.core.connection.v1.MsgConnectionOpenInit\"> =\n {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenInit\" as const,\n\n encode(message: MsgConnectionOpenInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.counterparty !== undefined) {\n Counterparty.encode(message.counterparty, writer.uint32(18).fork()).join();\n }\n if (message.version !== undefined) {\n Version.encode(message.version, writer.uint32(26).fork()).join();\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.delayPeriod.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.counterparty = Counterparty.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = Version.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.delayPeriod = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenInit {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,\n version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,\n delayPeriod: isSet(object.delay_period) ? Long.fromValue(object.delay_period) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgConnectionOpenInit): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.counterparty !== undefined) {\n obj.counterparty = Counterparty.toJSON(message.counterparty);\n }\n if (message.version !== undefined) {\n obj.version = Version.toJSON(message.version);\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n obj.delay_period = (message.delayPeriod || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenInit>): MsgConnectionOpenInit {\n const message = createBaseMsgConnectionOpenInit();\n message.clientId = object.clientId ?? \"\";\n message.counterparty = (object.counterparty !== undefined && object.counterparty !== null)\n ? Counterparty.fromPartial(object.counterparty)\n : undefined;\n message.version = (object.version !== undefined && object.version !== null)\n ? Version.fromPartial(object.version)\n : undefined;\n message.delayPeriod = (object.delayPeriod !== undefined && object.delayPeriod !== null)\n ? Long.fromValue(object.delayPeriod)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n };\n\nfunction createBaseMsgConnectionOpenInitResponse(): MsgConnectionOpenInitResponse {\n return {};\n}\n\nexport const MsgConnectionOpenInitResponse: MessageFns<\n MsgConnectionOpenInitResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenInitResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenInitResponse\" as const,\n\n encode(_: MsgConnectionOpenInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenInitResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenInitResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenInitResponse>): MsgConnectionOpenInitResponse {\n const message = createBaseMsgConnectionOpenInitResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenTry(): MsgConnectionOpenTry {\n return {\n clientId: \"\",\n previousConnectionId: \"\",\n clientState: undefined,\n counterparty: undefined,\n delayPeriod: Long.UZERO,\n counterpartyVersions: [],\n proofHeight: undefined,\n proofInit: new Uint8Array(0),\n proofClient: new Uint8Array(0),\n proofConsensus: new Uint8Array(0),\n consensusHeight: undefined,\n signer: \"\",\n hostConsensusStateProof: new Uint8Array(0),\n };\n}\n\nexport const MsgConnectionOpenTry: MessageFns<MsgConnectionOpenTry, \"ibc.core.connection.v1.MsgConnectionOpenTry\"> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenTry\" as const,\n\n encode(message: MsgConnectionOpenTry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.previousConnectionId !== \"\") {\n writer.uint32(18).string(message.previousConnectionId);\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(26).fork()).join();\n }\n if (message.counterparty !== undefined) {\n Counterparty.encode(message.counterparty, writer.uint32(34).fork()).join();\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n writer.uint32(40).uint64(message.delayPeriod.toString());\n }\n for (const v of message.counterpartyVersions) {\n Version.encode(v!, writer.uint32(50).fork()).join();\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(58).fork()).join();\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(66).bytes(message.proofInit);\n }\n if (message.proofClient.length !== 0) {\n writer.uint32(74).bytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n writer.uint32(82).bytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n Height.encode(message.consensusHeight, writer.uint32(90).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(98).string(message.signer);\n }\n if (message.hostConsensusStateProof.length !== 0) {\n writer.uint32(106).bytes(message.hostConsensusStateProof);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenTry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenTry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.previousConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterparty = Counterparty.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.delayPeriod = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.counterpartyVersions.push(Version.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.proofClient = reader.bytes();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.proofConsensus = reader.bytes();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.consensusHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.hostConsensusStateProof = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenTry {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n previousConnectionId: isSet(object.previous_connection_id)\n ? globalThis.String(object.previous_connection_id)\n : \"\",\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,\n delayPeriod: isSet(object.delay_period) ? Long.fromValue(object.delay_period) : Long.UZERO,\n counterpartyVersions: globalThis.Array.isArray(object?.counterparty_versions)\n ? object.counterparty_versions.map((e: any) => Version.fromJSON(e))\n : [],\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofClient: isSet(object.proof_client) ? bytesFromBase64(object.proof_client) : new Uint8Array(0),\n proofConsensus: isSet(object.proof_consensus) ? bytesFromBase64(object.proof_consensus) : new Uint8Array(0),\n consensusHeight: isSet(object.consensus_height) ? Height.fromJSON(object.consensus_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n hostConsensusStateProof: isSet(object.host_consensus_state_proof)\n ? bytesFromBase64(object.host_consensus_state_proof)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgConnectionOpenTry): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.previousConnectionId !== \"\") {\n obj.previous_connection_id = message.previousConnectionId;\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.counterparty !== undefined) {\n obj.counterparty = Counterparty.toJSON(message.counterparty);\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n obj.delay_period = (message.delayPeriod || Long.UZERO).toString();\n }\n if (message.counterpartyVersions?.length) {\n obj.counterparty_versions = message.counterpartyVersions.map((e) => Version.toJSON(e));\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofClient.length !== 0) {\n obj.proof_client = base64FromBytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n obj.proof_consensus = base64FromBytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n obj.consensus_height = Height.toJSON(message.consensusHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.hostConsensusStateProof.length !== 0) {\n obj.host_consensus_state_proof = base64FromBytes(message.hostConsensusStateProof);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenTry>): MsgConnectionOpenTry {\n const message = createBaseMsgConnectionOpenTry();\n message.clientId = object.clientId ?? \"\";\n message.previousConnectionId = object.previousConnectionId ?? \"\";\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.counterparty = (object.counterparty !== undefined && object.counterparty !== null)\n ? Counterparty.fromPartial(object.counterparty)\n : undefined;\n message.delayPeriod = (object.delayPeriod !== undefined && object.delayPeriod !== null)\n ? Long.fromValue(object.delayPeriod)\n : Long.UZERO;\n message.counterpartyVersions = object.counterpartyVersions?.map((e) => Version.fromPartial(e)) || [];\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofClient = object.proofClient ?? new Uint8Array(0);\n message.proofConsensus = object.proofConsensus ?? new Uint8Array(0);\n message.consensusHeight = (object.consensusHeight !== undefined && object.consensusHeight !== null)\n ? Height.fromPartial(object.consensusHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n message.hostConsensusStateProof = object.hostConsensusStateProof ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenTryResponse(): MsgConnectionOpenTryResponse {\n return {};\n}\n\nexport const MsgConnectionOpenTryResponse: MessageFns<\n MsgConnectionOpenTryResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenTryResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenTryResponse\" as const,\n\n encode(_: MsgConnectionOpenTryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenTryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenTryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenTryResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenTryResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenTryResponse>): MsgConnectionOpenTryResponse {\n const message = createBaseMsgConnectionOpenTryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenAck(): MsgConnectionOpenAck {\n return {\n connectionId: \"\",\n counterpartyConnectionId: \"\",\n version: undefined,\n clientState: undefined,\n proofHeight: undefined,\n proofTry: new Uint8Array(0),\n proofClient: new Uint8Array(0),\n proofConsensus: new Uint8Array(0),\n consensusHeight: undefined,\n signer: \"\",\n hostConsensusStateProof: new Uint8Array(0),\n };\n}\n\nexport const MsgConnectionOpenAck: MessageFns<MsgConnectionOpenAck, \"ibc.core.connection.v1.MsgConnectionOpenAck\"> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenAck\" as const,\n\n encode(message: MsgConnectionOpenAck, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.counterpartyConnectionId !== \"\") {\n writer.uint32(18).string(message.counterpartyConnectionId);\n }\n if (message.version !== undefined) {\n Version.encode(message.version, writer.uint32(26).fork()).join();\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(34).fork()).join();\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(42).fork()).join();\n }\n if (message.proofTry.length !== 0) {\n writer.uint32(50).bytes(message.proofTry);\n }\n if (message.proofClient.length !== 0) {\n writer.uint32(58).bytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n writer.uint32(66).bytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n Height.encode(message.consensusHeight, writer.uint32(74).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(82).string(message.signer);\n }\n if (message.hostConsensusStateProof.length !== 0) {\n writer.uint32(90).bytes(message.hostConsensusStateProof);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenAck {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenAck();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.counterpartyConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = Version.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofTry = reader.bytes();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.proofClient = reader.bytes();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofConsensus = reader.bytes();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.consensusHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.hostConsensusStateProof = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenAck {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n counterpartyConnectionId: isSet(object.counterparty_connection_id)\n ? globalThis.String(object.counterparty_connection_id)\n : \"\",\n version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n proofTry: isSet(object.proof_try) ? bytesFromBase64(object.proof_try) : new Uint8Array(0),\n proofClient: isSet(object.proof_client) ? bytesFromBase64(object.proof_client) : new Uint8Array(0),\n proofConsensus: isSet(object.proof_consensus) ? bytesFromBase64(object.proof_consensus) : new Uint8Array(0),\n consensusHeight: isSet(object.consensus_height) ? Height.fromJSON(object.consensus_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n hostConsensusStateProof: isSet(object.host_consensus_state_proof)\n ? bytesFromBase64(object.host_consensus_state_proof)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgConnectionOpenAck): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.counterpartyConnectionId !== \"\") {\n obj.counterparty_connection_id = message.counterpartyConnectionId;\n }\n if (message.version !== undefined) {\n obj.version = Version.toJSON(message.version);\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.proofTry.length !== 0) {\n obj.proof_try = base64FromBytes(message.proofTry);\n }\n if (message.proofClient.length !== 0) {\n obj.proof_client = base64FromBytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n obj.proof_consensus = base64FromBytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n obj.consensus_height = Height.toJSON(message.consensusHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.hostConsensusStateProof.length !== 0) {\n obj.host_consensus_state_proof = base64FromBytes(message.hostConsensusStateProof);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenAck>): MsgConnectionOpenAck {\n const message = createBaseMsgConnectionOpenAck();\n message.connectionId = object.connectionId ?? \"\";\n message.counterpartyConnectionId = object.counterpartyConnectionId ?? \"\";\n message.version = (object.version !== undefined && object.version !== null)\n ? Version.fromPartial(object.version)\n : undefined;\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.proofTry = object.proofTry ?? new Uint8Array(0);\n message.proofClient = object.proofClient ?? new Uint8Array(0);\n message.proofConsensus = object.proofConsensus ?? new Uint8Array(0);\n message.consensusHeight = (object.consensusHeight !== undefined && object.consensusHeight !== null)\n ? Height.fromPartial(object.consensusHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n message.hostConsensusStateProof = object.hostConsensusStateProof ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenAckResponse(): MsgConnectionOpenAckResponse {\n return {};\n}\n\nexport const MsgConnectionOpenAckResponse: MessageFns<\n MsgConnectionOpenAckResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenAckResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenAckResponse\" as const,\n\n encode(_: MsgConnectionOpenAckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenAckResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenAckResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenAckResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenAckResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenAckResponse>): MsgConnectionOpenAckResponse {\n const message = createBaseMsgConnectionOpenAckResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenConfirm(): MsgConnectionOpenConfirm {\n return { connectionId: \"\", proofAck: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgConnectionOpenConfirm: MessageFns<\n MsgConnectionOpenConfirm,\n \"ibc.core.connection.v1.MsgConnectionOpenConfirm\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenConfirm\" as const,\n\n encode(message: MsgConnectionOpenConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.proofAck.length !== 0) {\n writer.uint32(18).bytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(34).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofAck = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenConfirm {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n proofAck: isSet(object.proof_ack) ? bytesFromBase64(object.proof_ack) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgConnectionOpenConfirm): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.proofAck.length !== 0) {\n obj.proof_ack = base64FromBytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenConfirm>): MsgConnectionOpenConfirm {\n const message = createBaseMsgConnectionOpenConfirm();\n message.connectionId = object.connectionId ?? \"\";\n message.proofAck = object.proofAck ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenConfirmResponse(): MsgConnectionOpenConfirmResponse {\n return {};\n}\n\nexport const MsgConnectionOpenConfirmResponse: MessageFns<\n MsgConnectionOpenConfirmResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse\" as const,\n\n encode(_: MsgConnectionOpenConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenConfirmResponse>): MsgConnectionOpenConfirmResponse {\n const message = createBaseMsgConnectionOpenConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.core.connection.v1.MsgUpdateParams\"> = {\n $type: \"ibc.core.connection.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.core.connection.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/core/types/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { GenesisState as GenesisState3 } from \"../../channel/v1/genesis.ts\";\nimport { GenesisState as GenesisState5 } from \"../../channel/v2/genesis.ts\";\nimport { GenesisState as GenesisState1 } from \"../../client/v1/genesis.ts\";\nimport { GenesisState as GenesisState4 } from \"../../client/v2/genesis.ts\";\nimport { GenesisState as GenesisState2 } from \"../../connection/v1/genesis.ts\";\n\n/** GenesisState defines the ibc module's genesis state. */\nexport interface GenesisState {\n /** ICS002 - Clients genesis state */\n clientGenesis:\n | GenesisState1\n | undefined;\n /** ICS003 - Connections genesis state */\n connectionGenesis:\n | GenesisState2\n | undefined;\n /** ICS004 - Channel genesis state */\n channelGenesis:\n | GenesisState3\n | undefined;\n /** ICS002 - Clients/v2 genesis state */\n clientV2Genesis:\n | GenesisState4\n | undefined;\n /** ICS004 - Channel/v2 genesis state */\n channelV2Genesis: GenesisState5 | undefined;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n clientGenesis: undefined,\n connectionGenesis: undefined,\n channelGenesis: undefined,\n clientV2Genesis: undefined,\n channelV2Genesis: undefined,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.types.v1.GenesisState\"> = {\n $type: \"ibc.core.types.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientGenesis !== undefined) {\n GenesisState1.encode(message.clientGenesis, writer.uint32(10).fork()).join();\n }\n if (message.connectionGenesis !== undefined) {\n GenesisState2.encode(message.connectionGenesis, writer.uint32(18).fork()).join();\n }\n if (message.channelGenesis !== undefined) {\n GenesisState3.encode(message.channelGenesis, writer.uint32(26).fork()).join();\n }\n if (message.clientV2Genesis !== undefined) {\n GenesisState4.encode(message.clientV2Genesis, writer.uint32(34).fork()).join();\n }\n if (message.channelV2Genesis !== undefined) {\n GenesisState5.encode(message.channelV2Genesis, writer.uint32(42).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientGenesis = GenesisState1.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionGenesis = GenesisState2.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channelGenesis = GenesisState3.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.clientV2Genesis = GenesisState4.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.channelV2Genesis = GenesisState5.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n clientGenesis: isSet(object.client_genesis) ? GenesisState1.fromJSON(object.client_genesis) : undefined,\n connectionGenesis: isSet(object.connection_genesis)\n ? GenesisState2.fromJSON(object.connection_genesis)\n : undefined,\n channelGenesis: isSet(object.channel_genesis) ? GenesisState3.fromJSON(object.channel_genesis) : undefined,\n clientV2Genesis: isSet(object.client_v2_genesis) ? GenesisState4.fromJSON(object.client_v2_genesis) : undefined,\n channelV2Genesis: isSet(object.channel_v2_genesis)\n ? GenesisState5.fromJSON(object.channel_v2_genesis)\n : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.clientGenesis !== undefined) {\n obj.client_genesis = GenesisState1.toJSON(message.clientGenesis);\n }\n if (message.connectionGenesis !== undefined) {\n obj.connection_genesis = GenesisState2.toJSON(message.connectionGenesis);\n }\n if (message.channelGenesis !== undefined) {\n obj.channel_genesis = GenesisState3.toJSON(message.channelGenesis);\n }\n if (message.clientV2Genesis !== undefined) {\n obj.client_v2_genesis = GenesisState4.toJSON(message.clientV2Genesis);\n }\n if (message.channelV2Genesis !== undefined) {\n obj.channel_v2_genesis = GenesisState5.toJSON(message.channelV2Genesis);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.clientGenesis = (object.clientGenesis !== undefined && object.clientGenesis !== null)\n ? GenesisState1.fromPartial(object.clientGenesis)\n : undefined;\n message.connectionGenesis = (object.connectionGenesis !== undefined && object.connectionGenesis !== null)\n ? GenesisState2.fromPartial(object.connectionGenesis)\n : undefined;\n message.channelGenesis = (object.channelGenesis !== undefined && object.channelGenesis !== null)\n ? GenesisState3.fromPartial(object.channelGenesis)\n : undefined;\n message.clientV2Genesis = (object.clientV2Genesis !== undefined && object.clientV2Genesis !== null)\n ? GenesisState4.fromPartial(object.clientV2Genesis)\n : undefined;\n message.channelV2Genesis = (object.channelV2Genesis !== undefined && object.channelV2Genesis !== null)\n ? GenesisState5.fromPartial(object.channelV2Genesis)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, toTimestamp, fromTimestamp, fromJsonTimestamp, numberToLong, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/lightclients/tendermint/v1/tendermint.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ProofSpec } from \"../../../../cosmos/ics23/v1/proofs.ts\";\nimport { Duration } from \"../../../../google/protobuf/duration.ts\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp.ts\";\nimport { SignedHeader } from \"../../../../tendermint/types/types.ts\";\nimport { ValidatorSet } from \"../../../../tendermint/types/validator.ts\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\nimport { MerkleRoot } from \"../../../core/commitment/v1/commitment.ts\";\n\n/**\n * ClientState from Tendermint tracks the current validator set, latest height,\n * and a possible frozen height.\n */\nexport interface ClientState {\n chainId: string;\n trustLevel:\n | Fraction\n | undefined;\n /**\n * duration of the period since the LatestTimestamp during which the\n * submitted headers are valid for upgrade\n */\n trustingPeriod:\n | Duration\n | undefined;\n /** duration of the staking unbonding period */\n unbondingPeriod:\n | Duration\n | undefined;\n /** defines how much new (untrusted) header's Time can drift into the future. */\n maxClockDrift:\n | Duration\n | undefined;\n /** Block height when the client was frozen due to a misbehaviour */\n frozenHeight:\n | Height\n | undefined;\n /** Latest height the client was updated to */\n latestHeight:\n | Height\n | undefined;\n /** Proof specifications used in verifying counterparty state */\n proofSpecs: ProofSpec[];\n /**\n * Path at which next upgraded client will be committed.\n * Each element corresponds to the key for a single CommitmentProof in the\n * chained proof. NOTE: ClientState must stored under\n * `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored\n * under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using\n * the default upgrade module, upgrade_path should be []string{\"upgrade\",\n * \"upgradedIBCState\"}`\n */\n upgradePath: string[];\n /**\n * allow_update_after_expiry is deprecated\n *\n * @deprecated\n */\n allowUpdateAfterExpiry: boolean;\n /**\n * allow_update_after_misbehaviour is deprecated\n *\n * @deprecated\n */\n allowUpdateAfterMisbehaviour: boolean;\n}\n\n/** ConsensusState defines the consensus state from Tendermint. */\nexport interface ConsensusState {\n /**\n * timestamp that corresponds to the block height in which the ConsensusState\n * was stored.\n */\n timestamp:\n | Date\n | undefined;\n /** commitment root (i.e app hash) */\n root: MerkleRoot | undefined;\n nextValidatorsHash: Uint8Array;\n}\n\n/**\n * Misbehaviour is a wrapper over two conflicting Headers\n * that implements Misbehaviour interface expected by ICS-02\n */\nexport interface Misbehaviour {\n /**\n * ClientID is deprecated\n *\n * @deprecated\n */\n clientId: string;\n header1: Header | undefined;\n header2: Header | undefined;\n}\n\n/**\n * Header defines the Tendermint client consensus Header.\n * It encapsulates all the information necessary to update from a trusted\n * Tendermint ConsensusState. The inclusion of TrustedHeight and\n * TrustedValidators allows this update to process correctly, so long as the\n * ConsensusState for the TrustedHeight exists, this removes race conditions\n * among relayers The SignedHeader and ValidatorSet are the new untrusted update\n * fields for the client. The TrustedHeight is the height of a stored\n * ConsensusState on the client that will be used to verify the new untrusted\n * header. The Trusted ConsensusState must be within the unbonding period of\n * current time in order to correctly verify, and the TrustedValidators must\n * hash to TrustedConsensusState.NextValidatorsHash since that is the last\n * trusted validator set at the TrustedHeight.\n */\nexport interface Header {\n signedHeader: SignedHeader | undefined;\n validatorSet: ValidatorSet | undefined;\n trustedHeight: Height | undefined;\n trustedValidators: ValidatorSet | undefined;\n}\n\n/**\n * Fraction defines the protobuf message type for tmmath.Fraction that only\n * supports positive values.\n */\nexport interface Fraction {\n numerator: Long;\n denominator: Long;\n}\n\nfunction createBaseClientState(): ClientState {\n return {\n chainId: \"\",\n trustLevel: undefined,\n trustingPeriod: undefined,\n unbondingPeriod: undefined,\n maxClockDrift: undefined,\n frozenHeight: undefined,\n latestHeight: undefined,\n proofSpecs: [],\n upgradePath: [],\n allowUpdateAfterExpiry: false,\n allowUpdateAfterMisbehaviour: false,\n };\n}\n\nexport const ClientState: MessageFns<ClientState, \"ibc.lightclients.tendermint.v1.ClientState\"> = {\n $type: \"ibc.lightclients.tendermint.v1.ClientState\" as const,\n\n encode(message: ClientState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n if (message.trustLevel !== undefined) {\n Fraction.encode(message.trustLevel, writer.uint32(18).fork()).join();\n }\n if (message.trustingPeriod !== undefined) {\n Duration.encode(message.trustingPeriod, writer.uint32(26).fork()).join();\n }\n if (message.unbondingPeriod !== undefined) {\n Duration.encode(message.unbondingPeriod, writer.uint32(34).fork()).join();\n }\n if (message.maxClockDrift !== undefined) {\n Duration.encode(message.maxClockDrift, writer.uint32(42).fork()).join();\n }\n if (message.frozenHeight !== undefined) {\n Height.encode(message.frozenHeight, writer.uint32(50).fork()).join();\n }\n if (message.latestHeight !== undefined) {\n Height.encode(message.latestHeight, writer.uint32(58).fork()).join();\n }\n for (const v of message.proofSpecs) {\n ProofSpec.encode(v!, writer.uint32(66).fork()).join();\n }\n for (const v of message.upgradePath) {\n writer.uint32(74).string(v!);\n }\n if (message.allowUpdateAfterExpiry !== false) {\n writer.uint32(80).bool(message.allowUpdateAfterExpiry);\n }\n if (message.allowUpdateAfterMisbehaviour !== false) {\n writer.uint32(88).bool(message.allowUpdateAfterMisbehaviour);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.chainId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.trustLevel = Fraction.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trustingPeriod = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.unbondingPeriod = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.maxClockDrift = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.frozenHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.latestHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofSpecs.push(ProofSpec.decode(reader, reader.uint32()));\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.upgradePath.push(reader.string());\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.allowUpdateAfterExpiry = reader.bool();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.allowUpdateAfterMisbehaviour = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientState {\n return {\n chainId: isSet(object.chain_id) ? globalThis.String(object.chain_id) : \"\",\n trustLevel: isSet(object.trust_level) ? Fraction.fromJSON(object.trust_level) : undefined,\n trustingPeriod: isSet(object.trusting_period) ? Duration.fromJSON(object.trusting_period) : undefined,\n unbondingPeriod: isSet(object.unbonding_period) ? Duration.fromJSON(object.unbonding_period) : undefined,\n maxClockDrift: isSet(object.max_clock_drift) ? Duration.fromJSON(object.max_clock_drift) : undefined,\n frozenHeight: isSet(object.frozen_height) ? Height.fromJSON(object.frozen_height) : undefined,\n latestHeight: isSet(object.latest_height) ? Height.fromJSON(object.latest_height) : undefined,\n proofSpecs: globalThis.Array.isArray(object?.proof_specs)\n ? object.proof_specs.map((e: any) => ProofSpec.fromJSON(e))\n : [],\n upgradePath: globalThis.Array.isArray(object?.upgrade_path)\n ? object.upgrade_path.map((e: any) => globalThis.String(e))\n : [],\n allowUpdateAfterExpiry: isSet(object.allow_update_after_expiry)\n ? globalThis.Boolean(object.allow_update_after_expiry)\n : false,\n allowUpdateAfterMisbehaviour: isSet(object.allow_update_after_misbehaviour)\n ? globalThis.Boolean(object.allow_update_after_misbehaviour)\n : false,\n };\n },\n\n toJSON(message: ClientState): unknown {\n const obj: any = {};\n if (message.chainId !== \"\") {\n obj.chain_id = message.chainId;\n }\n if (message.trustLevel !== undefined) {\n obj.trust_level = Fraction.toJSON(message.trustLevel);\n }\n if (message.trustingPeriod !== undefined) {\n obj.trusting_period = Duration.toJSON(message.trustingPeriod);\n }\n if (message.unbondingPeriod !== undefined) {\n obj.unbonding_period = Duration.toJSON(message.unbondingPeriod);\n }\n if (message.maxClockDrift !== undefined) {\n obj.max_clock_drift = Duration.toJSON(message.maxClockDrift);\n }\n if (message.frozenHeight !== undefined) {\n obj.frozen_height = Height.toJSON(message.frozenHeight);\n }\n if (message.latestHeight !== undefined) {\n obj.latest_height = Height.toJSON(message.latestHeight);\n }\n if (message.proofSpecs?.length) {\n obj.proof_specs = message.proofSpecs.map((e) => ProofSpec.toJSON(e));\n }\n if (message.upgradePath?.length) {\n obj.upgrade_path = message.upgradePath;\n }\n if (message.allowUpdateAfterExpiry !== false) {\n obj.allow_update_after_expiry = message.allowUpdateAfterExpiry;\n }\n if (message.allowUpdateAfterMisbehaviour !== false) {\n obj.allow_update_after_misbehaviour = message.allowUpdateAfterMisbehaviour;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientState>): ClientState {\n const message = createBaseClientState();\n message.chainId = object.chainId ?? \"\";\n message.trustLevel = (object.trustLevel !== undefined && object.trustLevel !== null)\n ? Fraction.fromPartial(object.trustLevel)\n : undefined;\n message.trustingPeriod = (object.trustingPeriod !== undefined && object.trustingPeriod !== null)\n ? Duration.fromPartial(object.trustingPeriod)\n : undefined;\n message.unbondingPeriod = (object.unbondingPeriod !== undefined && object.unbondingPeriod !== null)\n ? Duration.fromPartial(object.unbondingPeriod)\n : undefined;\n message.maxClockDrift = (object.maxClockDrift !== undefined && object.maxClockDrift !== null)\n ? Duration.fromPartial(object.maxClockDrift)\n : undefined;\n message.frozenHeight = (object.frozenHeight !== undefined && object.frozenHeight !== null)\n ? Height.fromPartial(object.frozenHeight)\n : undefined;\n message.latestHeight = (object.latestHeight !== undefined && object.latestHeight !== null)\n ? Height.fromPartial(object.latestHeight)\n : undefined;\n message.proofSpecs = object.proofSpecs?.map((e) => ProofSpec.fromPartial(e)) || [];\n message.upgradePath = object.upgradePath?.map((e) => e) || [];\n message.allowUpdateAfterExpiry = object.allowUpdateAfterExpiry ?? false;\n message.allowUpdateAfterMisbehaviour = object.allowUpdateAfterMisbehaviour ?? false;\n return message;\n },\n};\n\nfunction createBaseConsensusState(): ConsensusState {\n return { timestamp: undefined, root: undefined, nextValidatorsHash: new Uint8Array(0) };\n}\n\nexport const ConsensusState: MessageFns<ConsensusState, \"ibc.lightclients.tendermint.v1.ConsensusState\"> = {\n $type: \"ibc.lightclients.tendermint.v1.ConsensusState\" as const,\n\n encode(message: ConsensusState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).join();\n }\n if (message.root !== undefined) {\n MerkleRoot.encode(message.root, writer.uint32(18).fork()).join();\n }\n if (message.nextValidatorsHash.length !== 0) {\n writer.uint32(26).bytes(message.nextValidatorsHash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseConsensusState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.root = MerkleRoot.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.nextValidatorsHash = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ConsensusState {\n return {\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n root: isSet(object.root) ? MerkleRoot.fromJSON(object.root) : undefined,\n nextValidatorsHash: isSet(object.next_validators_hash)\n ? bytesFromBase64(object.next_validators_hash)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: ConsensusState): unknown {\n const obj: any = {};\n if (message.timestamp !== undefined) {\n obj.timestamp = message.timestamp.toISOString();\n }\n if (message.root !== undefined) {\n obj.root = MerkleRoot.toJSON(message.root);\n }\n if (message.nextValidatorsHash.length !== 0) {\n obj.next_validators_hash = base64FromBytes(message.nextValidatorsHash);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ConsensusState>): ConsensusState {\n const message = createBaseConsensusState();\n message.timestamp = object.timestamp ?? undefined;\n message.root = (object.root !== undefined && object.root !== null)\n ? MerkleRoot.fromPartial(object.root)\n : undefined;\n message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMisbehaviour(): Misbehaviour {\n return { clientId: \"\", header1: undefined, header2: undefined };\n}\n\nexport const Misbehaviour: MessageFns<Misbehaviour, \"ibc.lightclients.tendermint.v1.Misbehaviour\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Misbehaviour\" as const,\n\n encode(message: Misbehaviour, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.header1 !== undefined) {\n Header.encode(message.header1, writer.uint32(18).fork()).join();\n }\n if (message.header2 !== undefined) {\n Header.encode(message.header2, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Misbehaviour {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMisbehaviour();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.header1 = Header.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.header2 = Header.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Misbehaviour {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n header1: isSet(object.header_1) ? Header.fromJSON(object.header_1) : undefined,\n header2: isSet(object.header_2) ? Header.fromJSON(object.header_2) : undefined,\n };\n },\n\n toJSON(message: Misbehaviour): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.header1 !== undefined) {\n obj.header_1 = Header.toJSON(message.header1);\n }\n if (message.header2 !== undefined) {\n obj.header_2 = Header.toJSON(message.header2);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Misbehaviour>): Misbehaviour {\n const message = createBaseMisbehaviour();\n message.clientId = object.clientId ?? \"\";\n message.header1 = (object.header1 !== undefined && object.header1 !== null)\n ? Header.fromPartial(object.header1)\n : undefined;\n message.header2 = (object.header2 !== undefined && object.header2 !== null)\n ? Header.fromPartial(object.header2)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseHeader(): Header {\n return { signedHeader: undefined, validatorSet: undefined, trustedHeight: undefined, trustedValidators: undefined };\n}\n\nexport const Header: MessageFns<Header, \"ibc.lightclients.tendermint.v1.Header\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Header\" as const,\n\n encode(message: Header, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signedHeader !== undefined) {\n SignedHeader.encode(message.signedHeader, writer.uint32(10).fork()).join();\n }\n if (message.validatorSet !== undefined) {\n ValidatorSet.encode(message.validatorSet, writer.uint32(18).fork()).join();\n }\n if (message.trustedHeight !== undefined) {\n Height.encode(message.trustedHeight, writer.uint32(26).fork()).join();\n }\n if (message.trustedValidators !== undefined) {\n ValidatorSet.encode(message.trustedValidators, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Header {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHeader();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signedHeader = SignedHeader.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.validatorSet = ValidatorSet.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trustedHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.trustedValidators = ValidatorSet.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Header {\n return {\n signedHeader: isSet(object.signed_header) ? SignedHeader.fromJSON(object.signed_header) : undefined,\n validatorSet: isSet(object.validator_set) ? ValidatorSet.fromJSON(object.validator_set) : undefined,\n trustedHeight: isSet(object.trusted_height) ? Height.fromJSON(object.trusted_height) : undefined,\n trustedValidators: isSet(object.trusted_validators)\n ? ValidatorSet.fromJSON(object.trusted_validators)\n : undefined,\n };\n },\n\n toJSON(message: Header): unknown {\n const obj: any = {};\n if (message.signedHeader !== undefined) {\n obj.signed_header = SignedHeader.toJSON(message.signedHeader);\n }\n if (message.validatorSet !== undefined) {\n obj.validator_set = ValidatorSet.toJSON(message.validatorSet);\n }\n if (message.trustedHeight !== undefined) {\n obj.trusted_height = Height.toJSON(message.trustedHeight);\n }\n if (message.trustedValidators !== undefined) {\n obj.trusted_validators = ValidatorSet.toJSON(message.trustedValidators);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Header>): Header {\n const message = createBaseHeader();\n message.signedHeader = (object.signedHeader !== undefined && object.signedHeader !== null)\n ? SignedHeader.fromPartial(object.signedHeader)\n : undefined;\n message.validatorSet = (object.validatorSet !== undefined && object.validatorSet !== null)\n ? ValidatorSet.fromPartial(object.validatorSet)\n : undefined;\n message.trustedHeight = (object.trustedHeight !== undefined && object.trustedHeight !== null)\n ? Height.fromPartial(object.trustedHeight)\n : undefined;\n message.trustedValidators = (object.trustedValidators !== undefined && object.trustedValidators !== null)\n ? ValidatorSet.fromPartial(object.trustedValidators)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseFraction(): Fraction {\n return { numerator: Long.UZERO, denominator: Long.UZERO };\n}\n\nexport const Fraction: MessageFns<Fraction, \"ibc.lightclients.tendermint.v1.Fraction\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Fraction\" as const,\n\n encode(message: Fraction, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.numerator.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.numerator.toString());\n }\n if (!message.denominator.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.denominator.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Fraction {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFraction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.numerator = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.denominator = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Fraction {\n return {\n numerator: isSet(object.numerator) ? Long.fromValue(object.numerator) : Long.UZERO,\n denominator: isSet(object.denominator) ? Long.fromValue(object.denominator) : Long.UZERO,\n };\n },\n\n toJSON(message: Fraction): unknown {\n const obj: any = {};\n if (!message.numerator.equals(Long.UZERO)) {\n obj.numerator = (message.numerator || Long.UZERO).toString();\n }\n if (!message.denominator.equals(Long.UZERO)) {\n obj.denominator = (message.denominator || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Fraction>): Fraction {\n const message = createBaseFraction();\n message.numerator = (object.numerator !== undefined && object.numerator !== null)\n ? Long.fromValue(object.numerator)\n : Long.UZERO;\n message.denominator = (object.denominator !== undefined && object.denominator !== null)\n ? Long.fromValue(object.denominator)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_toTimestamp(date: Date): Timestamp {\n const seconds = numberToLong(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction _unused_fromTimestamp(t: Timestamp): Date {\n let millis = (t.seconds.toNumber() || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\nfunction _unused_fromJsonTimestamp(o: any): Date {\n if (o instanceof globalThis.Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new globalThis.Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction _unused_numberToLong(number: number) {\n return Long.fromNumber(number);\n}\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** GenesisState defines 08-wasm's keeper genesis state */\nexport interface GenesisState {\n /** uploaded light client wasm contracts */\n contracts: Contract[];\n}\n\n/** Contract stores contract code */\nexport interface Contract {\n /** contract byte code */\n codeBytes: Uint8Array;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { contracts: [] };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.lightclients.wasm.v1.GenesisState\"> = {\n $type: \"ibc.lightclients.wasm.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.contracts) {\n Contract.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.contracts.push(Contract.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n contracts: globalThis.Array.isArray(object?.contracts)\n ? object.contracts.map((e: any) => Contract.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.contracts?.length) {\n obj.contracts = message.contracts.map((e) => Contract.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.contracts = object.contracts?.map((e) => Contract.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseContract(): Contract {\n return { codeBytes: new Uint8Array(0) };\n}\n\nexport const Contract: MessageFns<Contract, \"ibc.lightclients.wasm.v1.Contract\"> = {\n $type: \"ibc.lightclients.wasm.v1.Contract\" as const,\n\n encode(message: Contract, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.codeBytes.length !== 0) {\n writer.uint32(10).bytes(message.codeBytes);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Contract {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContract();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.codeBytes = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Contract {\n return { codeBytes: isSet(object.code_bytes) ? bytesFromBase64(object.code_bytes) : new Uint8Array(0) };\n },\n\n toJSON(message: Contract): unknown {\n const obj: any = {};\n if (message.codeBytes.length !== 0) {\n obj.code_bytes = base64FromBytes(message.codeBytes);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Contract>): Contract {\n const message = createBaseContract();\n message.codeBytes = object.codeBytes ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\n\n/** QueryChecksumsRequest is the request type for the Query/Checksums RPC method. */\nexport interface QueryChecksumsRequest {\n /** pagination defines an optional pagination for the request. */\n pagination: PageRequest | undefined;\n}\n\n/** QueryChecksumsResponse is the response type for the Query/Checksums RPC method. */\nexport interface QueryChecksumsResponse {\n /** checksums is a list of the hex encoded checksums of all wasm codes stored. */\n checksums: string[];\n /** pagination defines the pagination in the response. */\n pagination: PageResponse | undefined;\n}\n\n/** QueryCodeRequest is the request type for the Query/Code RPC method. */\nexport interface QueryCodeRequest {\n /** checksum is a hex encoded string of the code stored. */\n checksum: string;\n}\n\n/** QueryCodeResponse is the response type for the Query/Code RPC method. */\nexport interface QueryCodeResponse {\n data: Uint8Array;\n}\n\nfunction createBaseQueryChecksumsRequest(): QueryChecksumsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryChecksumsRequest: MessageFns<\n QueryChecksumsRequest,\n \"ibc.lightclients.wasm.v1.QueryChecksumsRequest\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.QueryChecksumsRequest\" as const,\n\n encode(message: QueryChecksumsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChecksumsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChecksumsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChecksumsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryChecksumsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChecksumsRequest>): QueryChecksumsRequest {\n const message = createBaseQueryChecksumsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChecksumsResponse(): QueryChecksumsResponse {\n return { checksums: [], pagination: undefined };\n}\n\nexport const QueryChecksumsResponse: MessageFns<\n QueryChecksumsResponse,\n \"ibc.lightclients.wasm.v1.QueryChecksumsResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.QueryChecksumsResponse\" as const,\n\n encode(message: QueryChecksumsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.checksums) {\n writer.uint32(10).string(v!);\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChecksumsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChecksumsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksums.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChecksumsResponse {\n return {\n checksums: globalThis.Array.isArray(object?.checksums)\n ? object.checksums.map((e: any) => globalThis.String(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryChecksumsResponse): unknown {\n const obj: any = {};\n if (message.checksums?.length) {\n obj.checksums = message.checksums;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChecksumsResponse>): QueryChecksumsResponse {\n const message = createBaseQueryChecksumsResponse();\n message.checksums = object.checksums?.map((e) => e) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryCodeRequest(): QueryCodeRequest {\n return { checksum: \"\" };\n}\n\nexport const QueryCodeRequest: MessageFns<QueryCodeRequest, \"ibc.lightclients.wasm.v1.QueryCodeRequest\"> = {\n $type: \"ibc.lightclients.wasm.v1.QueryCodeRequest\" as const,\n\n encode(message: QueryCodeRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.checksum !== \"\") {\n writer.uint32(10).string(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryCodeRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryCodeRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksum = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryCodeRequest {\n return { checksum: isSet(object.checksum) ? globalThis.String(object.checksum) : \"\" };\n },\n\n toJSON(message: QueryCodeRequest): unknown {\n const obj: any = {};\n if (message.checksum !== \"\") {\n obj.checksum = message.checksum;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryCodeRequest>): QueryCodeRequest {\n const message = createBaseQueryCodeRequest();\n message.checksum = object.checksum ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryCodeResponse(): QueryCodeResponse {\n return { data: new Uint8Array(0) };\n}\n\nexport const QueryCodeResponse: MessageFns<QueryCodeResponse, \"ibc.lightclients.wasm.v1.QueryCodeResponse\"> = {\n $type: \"ibc.lightclients.wasm.v1.QueryCodeResponse\" as const,\n\n encode(message: QueryCodeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryCodeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryCodeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryCodeResponse {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: QueryCodeResponse): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryCodeResponse>): QueryCodeResponse {\n const message = createBaseQueryCodeResponse();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** MsgStoreCode defines the request type for the StoreCode rpc. */\nexport interface MsgStoreCode {\n /** signer address */\n signer: string;\n /** wasm byte code of light client contract. It can be raw or gzip compressed */\n wasmByteCode: Uint8Array;\n}\n\n/** MsgStoreCodeResponse defines the response type for the StoreCode rpc */\nexport interface MsgStoreCodeResponse {\n /** checksum is the sha256 hash of the stored code */\n checksum: Uint8Array;\n}\n\n/** MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc. */\nexport interface MsgRemoveChecksum {\n /** signer address */\n signer: string;\n /** checksum is the sha256 hash to be removed from the store */\n checksum: Uint8Array;\n}\n\n/** MsgStoreChecksumResponse defines the response type for the StoreCode rpc */\nexport interface MsgRemoveChecksumResponse {\n}\n\n/** MsgMigrateContract defines the request type for the MigrateContract rpc. */\nexport interface MsgMigrateContract {\n /** signer address */\n signer: string;\n /** the client id of the contract */\n clientId: string;\n /** checksum is the sha256 hash of the new wasm byte code for the contract */\n checksum: Uint8Array;\n /** the json encoded message to be passed to the contract on migration */\n msg: Uint8Array;\n}\n\n/** MsgMigrateContractResponse defines the response type for the MigrateContract rpc */\nexport interface MsgMigrateContractResponse {\n}\n\nfunction createBaseMsgStoreCode(): MsgStoreCode {\n return { signer: \"\", wasmByteCode: new Uint8Array(0) };\n}\n\nexport const MsgStoreCode: MessageFns<MsgStoreCode, \"ibc.lightclients.wasm.v1.MsgStoreCode\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgStoreCode\" as const,\n\n encode(message: MsgStoreCode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.wasmByteCode.length !== 0) {\n writer.uint32(18).bytes(message.wasmByteCode);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCode {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgStoreCode();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.wasmByteCode = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgStoreCode {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n wasmByteCode: isSet(object.wasm_byte_code) ? bytesFromBase64(object.wasm_byte_code) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgStoreCode): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.wasmByteCode.length !== 0) {\n obj.wasm_byte_code = base64FromBytes(message.wasmByteCode);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgStoreCode>): MsgStoreCode {\n const message = createBaseMsgStoreCode();\n message.signer = object.signer ?? \"\";\n message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgStoreCodeResponse(): MsgStoreCodeResponse {\n return { checksum: new Uint8Array(0) };\n}\n\nexport const MsgStoreCodeResponse: MessageFns<MsgStoreCodeResponse, \"ibc.lightclients.wasm.v1.MsgStoreCodeResponse\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgStoreCodeResponse\" as const,\n\n encode(message: MsgStoreCodeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.checksum.length !== 0) {\n writer.uint32(10).bytes(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCodeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgStoreCodeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgStoreCodeResponse {\n return { checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0) };\n },\n\n toJSON(message: MsgStoreCodeResponse): unknown {\n const obj: any = {};\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgStoreCodeResponse>): MsgStoreCodeResponse {\n const message = createBaseMsgStoreCodeResponse();\n message.checksum = object.checksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgRemoveChecksum(): MsgRemoveChecksum {\n return { signer: \"\", checksum: new Uint8Array(0) };\n}\n\nexport const MsgRemoveChecksum: MessageFns<MsgRemoveChecksum, \"ibc.lightclients.wasm.v1.MsgRemoveChecksum\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgRemoveChecksum\" as const,\n\n encode(message: MsgRemoveChecksum, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(18).bytes(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveChecksum {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRemoveChecksum();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRemoveChecksum {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgRemoveChecksum): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRemoveChecksum>): MsgRemoveChecksum {\n const message = createBaseMsgRemoveChecksum();\n message.signer = object.signer ?? \"\";\n message.checksum = object.checksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgRemoveChecksumResponse(): MsgRemoveChecksumResponse {\n return {};\n}\n\nexport const MsgRemoveChecksumResponse: MessageFns<\n MsgRemoveChecksumResponse,\n \"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse\" as const,\n\n encode(_: MsgRemoveChecksumResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveChecksumResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRemoveChecksumResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgRemoveChecksumResponse {\n return {};\n },\n\n toJSON(_: MsgRemoveChecksumResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgRemoveChecksumResponse>): MsgRemoveChecksumResponse {\n const message = createBaseMsgRemoveChecksumResponse();\n return message;\n },\n};\n\nfunction createBaseMsgMigrateContract(): MsgMigrateContract {\n return { signer: \"\", clientId: \"\", checksum: new Uint8Array(0), msg: new Uint8Array(0) };\n}\n\nexport const MsgMigrateContract: MessageFns<MsgMigrateContract, \"ibc.lightclients.wasm.v1.MsgMigrateContract\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgMigrateContract\" as const,\n\n encode(message: MsgMigrateContract, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(26).bytes(message.checksum);\n }\n if (message.msg.length !== 0) {\n writer.uint32(34).bytes(message.msg);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContract {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgMigrateContract();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.msg = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgMigrateContract {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgMigrateContract): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n if (message.msg.length !== 0) {\n obj.msg = base64FromBytes(message.msg);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgMigrateContract>): MsgMigrateContract {\n const message = createBaseMsgMigrateContract();\n message.signer = object.signer ?? \"\";\n message.clientId = object.clientId ?? \"\";\n message.checksum = object.checksum ?? new Uint8Array(0);\n message.msg = object.msg ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgMigrateContractResponse(): MsgMigrateContractResponse {\n return {};\n}\n\nexport const MsgMigrateContractResponse: MessageFns<\n MsgMigrateContractResponse,\n \"ibc.lightclients.wasm.v1.MsgMigrateContractResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.MsgMigrateContractResponse\" as const,\n\n encode(_: MsgMigrateContractResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContractResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgMigrateContractResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgMigrateContractResponse {\n return {};\n },\n\n toJSON(_: MsgMigrateContractResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgMigrateContractResponse>): MsgMigrateContractResponse {\n const message = createBaseMsgMigrateContractResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.7.7\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/wasm.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\n\n/** Wasm light client's Client state */\nexport interface ClientState {\n /**\n * bytes encoding the client state of the underlying light client\n * implemented as a Wasm contract.\n */\n data: Uint8Array;\n checksum: Uint8Array;\n latestHeight: Height | undefined;\n}\n\n/** Wasm light client's ConsensusState */\nexport interface ConsensusState {\n /**\n * bytes encoding the consensus state of the underlying light client\n * implemented as a Wasm contract.\n */\n data: Uint8Array;\n}\n\n/** Wasm light client message (either header(s) or misbehaviour) */\nexport interface ClientMessage {\n data: Uint8Array;\n}\n\n/**\n * Checksums defines a list of all checksums that are stored\n *\n * Deprecated: This message is deprecated in favor of storing the checksums\n * using a Collections.KeySet.\n *\n * @deprecated\n */\nexport interface Checksums {\n checksums: Uint8Array[];\n}\n\nfunction createBaseClientState(): ClientState {\n return { data: new Uint8Array(0), checksum: new Uint8Array(0), latestHeight: undefined };\n}\n\nexport const ClientState: MessageFns<ClientState, \"ibc.lightclients.wasm.v1.ClientState\"> = {\n $type: \"ibc.lightclients.wasm.v1.ClientState\" as const,\n\n encode(message: ClientState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(18).bytes(message.checksum);\n }\n if (message.latestHeight !== undefined) {\n Height.encode(message.latestHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.latestHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientState {\n return {\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n latestHeight: isSet(object.latest_height) ? Height.fromJSON(object.latest_height) : undefined,\n };\n },\n\n toJSON(message: ClientState): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n if (message.latestHeight !== undefined) {\n obj.latest_height = Height.toJSON(message.latestHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientState>): ClientState {\n const message = createBaseClientState();\n message.data = object.data ?? new Uint8Array(0);\n message.checksum = object.checksum ?? new Uint8Array(0);\n message.latestHeight = (object.latestHeight !== undefined && object.latestHeight !== null)\n ? Height.fromPartial(object.latestHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseConsensusState(): ConsensusState {\n return { data: new Uint8Array(0) };\n}\n\nexport const ConsensusState: MessageFns<ConsensusState, \"ibc.lightclients.wasm.v1.ConsensusState\"> = {\n $type: \"ibc.lightclients.wasm.v1.ConsensusState\" as const,\n\n encode(message: ConsensusState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseConsensusState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ConsensusState {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: ConsensusState): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ConsensusState>): ConsensusState {\n const message = createBaseConsensusState();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseClientMessage(): ClientMessage {\n return { data: new Uint8Array(0) };\n}\n\nexport const ClientMessage: MessageFns<ClientMessage, \"ibc.lightclients.wasm.v1.ClientMessage\"> = {\n $type: \"ibc.lightclients.wasm.v1.ClientMessage\" as const,\n\n encode(message: ClientMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientMessage {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientMessage();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientMessage {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: ClientMessage): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientMessage>): ClientMessage {\n const message = createBaseClientMessage();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseChecksums(): Checksums {\n return { checksums: [] };\n}\n\nexport const Checksums: MessageFns<Checksums, \"ibc.lightclients.wasm.v1.Checksums\"> = {\n $type: \"ibc.lightclients.wasm.v1.Checksums\" as const,\n\n encode(message: Checksums, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.checksums) {\n writer.uint32(10).bytes(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Checksums {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseChecksums();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksums.push(reader.bytes());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Checksums {\n return {\n checksums: globalThis.Array.isArray(object?.checksums)\n ? object.checksums.map((e: any) => bytesFromBase64(e))\n : [],\n };\n },\n\n toJSON(message: Checksums): unknown {\n const obj: any = {};\n if (message.checksums?.length) {\n obj.checksums = message.checksums.map((e) => base64FromBytes(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Checksums>): Checksums {\n const message = createBaseChecksums();\n message.checksums = object.checksums?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from(globalThis.Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return globalThis.Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n"],
4
+ "sourcesContent": ["import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/controller.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of on-chain interchain accounts parameters.\n * The following parameters may be used to disable the controller submodule.\n */\nexport interface Params {\n /** controller_enabled enables or disables the controller submodule. */\n controllerEnabled: boolean;\n}\n\nfunction createBaseParams(): Params {\n return { controllerEnabled: false };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.interchain_accounts.controller.v1.Params\"> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.controllerEnabled !== false) {\n writer.uint32(8).bool(message.controllerEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.controllerEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n controllerEnabled: isSet(object.controller_enabled) ? globalThis.Boolean(object.controller_enabled) : false,\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.controllerEnabled !== false) {\n obj.controller_enabled = message.controllerEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.controllerEnabled = object.controllerEnabled ?? false;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"./controller.ts\";\n\n/** QueryInterchainAccountRequest is the request type for the Query/InterchainAccount RPC method. */\nexport interface QueryInterchainAccountRequest {\n owner: string;\n connectionId: string;\n}\n\n/** QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method. */\nexport interface QueryInterchainAccountResponse {\n address: string;\n}\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryInterchainAccountRequest(): QueryInterchainAccountRequest {\n return { owner: \"\", connectionId: \"\" };\n}\n\nexport const QueryInterchainAccountRequest: MessageFns<\n QueryInterchainAccountRequest,\n \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest\" as const,\n\n encode(message: QueryInterchainAccountRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryInterchainAccountRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryInterchainAccountRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryInterchainAccountRequest {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n };\n },\n\n toJSON(message: QueryInterchainAccountRequest): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryInterchainAccountRequest>): QueryInterchainAccountRequest {\n const message = createBaseQueryInterchainAccountRequest();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryInterchainAccountResponse(): QueryInterchainAccountResponse {\n return { address: \"\" };\n}\n\nexport const QueryInterchainAccountResponse: MessageFns<\n QueryInterchainAccountResponse,\n \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse\" as const,\n\n encode(message: QueryInterchainAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryInterchainAccountResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryInterchainAccountResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryInterchainAccountResponse {\n return { address: isSet(object.address) ? globalThis.String(object.address) : \"\" };\n },\n\n toJSON(message: QueryInterchainAccountResponse): unknown {\n const obj: any = {};\n if (message.address !== \"\") {\n obj.address = message.address;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryInterchainAccountResponse>): QueryInterchainAccountResponse {\n const message = createBaseQueryInterchainAccountResponse();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<\n QueryParamsRequest,\n \"ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<\n QueryParamsResponse,\n \"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/packet.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\n\n/**\n * Type defines a classification of message issued from a controller chain to its associated interchain accounts\n * host\n */\nexport enum Type {\n /** TYPE_UNSPECIFIED - Default zero value enumeration */\n TYPE_UNSPECIFIED = 0,\n /** TYPE_EXECUTE_TX - Execute a transaction on an interchain accounts host chain */\n TYPE_EXECUTE_TX = 1,\n UNRECOGNIZED = -1,\n}\n\nexport function typeFromJSON(object: any): Type {\n switch (object) {\n case 0:\n case \"TYPE_UNSPECIFIED\":\n return Type.TYPE_UNSPECIFIED;\n case 1:\n case \"TYPE_EXECUTE_TX\":\n return Type.TYPE_EXECUTE_TX;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return Type.UNRECOGNIZED;\n }\n}\n\nexport function typeToJSON(object: Type): string {\n switch (object) {\n case Type.TYPE_UNSPECIFIED:\n return \"TYPE_UNSPECIFIED\";\n case Type.TYPE_EXECUTE_TX:\n return \"TYPE_EXECUTE_TX\";\n case Type.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\n/** InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. */\nexport interface InterchainAccountPacketData {\n type: Type;\n data: Uint8Array;\n memo: string;\n}\n\n/** CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. */\nexport interface CosmosTx {\n messages: Any[];\n}\n\nfunction createBaseInterchainAccountPacketData(): InterchainAccountPacketData {\n return { type: 0, data: new Uint8Array(0), memo: \"\" };\n}\n\nexport const InterchainAccountPacketData: MessageFns<\n InterchainAccountPacketData,\n \"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData\"\n> = {\n $type: \"ibc.applications.interchain_accounts.v1.InterchainAccountPacketData\" as const,\n\n encode(message: InterchainAccountPacketData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.type !== 0) {\n writer.uint32(8).int32(message.type);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n if (message.memo !== \"\") {\n writer.uint32(26).string(message.memo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InterchainAccountPacketData {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInterchainAccountPacketData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.type = reader.int32() as any;\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InterchainAccountPacketData {\n return {\n type: isSet(object.type) ? typeFromJSON(object.type) : 0,\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n };\n },\n\n toJSON(message: InterchainAccountPacketData): unknown {\n const obj: any = {};\n if (message.type !== 0) {\n obj.type = typeToJSON(message.type);\n }\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<InterchainAccountPacketData>): InterchainAccountPacketData {\n const message = createBaseInterchainAccountPacketData();\n message.type = object.type ?? 0;\n message.data = object.data ?? new Uint8Array(0);\n message.memo = object.memo ?? \"\";\n return message;\n },\n};\n\nfunction createBaseCosmosTx(): CosmosTx {\n return { messages: [] };\n}\n\nexport const CosmosTx: MessageFns<CosmosTx, \"ibc.applications.interchain_accounts.v1.CosmosTx\"> = {\n $type: \"ibc.applications.interchain_accounts.v1.CosmosTx\" as const,\n\n encode(message: CosmosTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.messages) {\n Any.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): CosmosTx {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseCosmosTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.messages.push(Any.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): CosmosTx {\n return {\n messages: globalThis.Array.isArray(object?.messages) ? object.messages.map((e: any) => Any.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: CosmosTx): unknown {\n const obj: any = {};\n if (message.messages?.length) {\n obj.messages = message.messages.map((e) => Any.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<CosmosTx>): CosmosTx {\n const message = createBaseCosmosTx();\n message.messages = object.messages?.map((e) => Any.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/controller/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Order, orderFromJSON, orderToJSON } from \"../../../../core/channel/v1/channel.ts\";\nimport { InterchainAccountPacketData } from \"../../v1/packet.ts\";\nimport { Params } from \"./controller.ts\";\n\n/** MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount */\nexport interface MsgRegisterInterchainAccount {\n owner: string;\n connectionId: string;\n version: string;\n ordering: Order;\n}\n\n/** MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount */\nexport interface MsgRegisterInterchainAccountResponse {\n channelId: string;\n portId: string;\n}\n\n/** MsgSendTx defines the payload for Msg/SendTx */\nexport interface MsgSendTx {\n owner: string;\n connectionId: string;\n packetData:\n | InterchainAccountPacketData\n | undefined;\n /**\n * Relative timeout timestamp provided will be added to the current block time during transaction execution.\n * The timeout timestamp must be non-zero.\n */\n relativeTimeout: Long;\n}\n\n/** MsgSendTxResponse defines the response for MsgSendTx */\nexport interface MsgSendTxResponse {\n sequence: Long;\n}\n\n/** MsgUpdateParams defines the payload for Msg/UpdateParams */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the 27-interchain-accounts/controller parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the response for Msg/UpdateParams */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgRegisterInterchainAccount(): MsgRegisterInterchainAccount {\n return { owner: \"\", connectionId: \"\", version: \"\", ordering: 0 };\n}\n\nexport const MsgRegisterInterchainAccount: MessageFns<\n MsgRegisterInterchainAccount,\n \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount\" as const,\n\n encode(message: MsgRegisterInterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n if (message.version !== \"\") {\n writer.uint32(26).string(message.version);\n }\n if (message.ordering !== 0) {\n writer.uint32(32).int32(message.ordering);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterInterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.ordering = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRegisterInterchainAccount {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n ordering: isSet(object.ordering) ? orderFromJSON(object.ordering) : 0,\n };\n },\n\n toJSON(message: MsgRegisterInterchainAccount): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.ordering !== 0) {\n obj.ordering = orderToJSON(message.ordering);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRegisterInterchainAccount>): MsgRegisterInterchainAccount {\n const message = createBaseMsgRegisterInterchainAccount();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n message.version = object.version ?? \"\";\n message.ordering = object.ordering ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgRegisterInterchainAccountResponse(): MsgRegisterInterchainAccountResponse {\n return { channelId: \"\", portId: \"\" };\n}\n\nexport const MsgRegisterInterchainAccountResponse: MessageFns<\n MsgRegisterInterchainAccountResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse\" as const,\n\n encode(message: MsgRegisterInterchainAccountResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channelId !== \"\") {\n writer.uint32(10).string(message.channelId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRegisterInterchainAccountResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRegisterInterchainAccountResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRegisterInterchainAccountResponse {\n return {\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n };\n },\n\n toJSON(message: MsgRegisterInterchainAccountResponse): unknown {\n const obj: any = {};\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRegisterInterchainAccountResponse>): MsgRegisterInterchainAccountResponse {\n const message = createBaseMsgRegisterInterchainAccountResponse();\n message.channelId = object.channelId ?? \"\";\n message.portId = object.portId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSendTx(): MsgSendTx {\n return { owner: \"\", connectionId: \"\", packetData: undefined, relativeTimeout: Long.UZERO };\n}\n\nexport const MsgSendTx: MessageFns<MsgSendTx, \"ibc.applications.interchain_accounts.controller.v1.MsgSendTx\"> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgSendTx\" as const,\n\n encode(message: MsgSendTx, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.owner !== \"\") {\n writer.uint32(10).string(message.owner);\n }\n if (message.connectionId !== \"\") {\n writer.uint32(18).string(message.connectionId);\n }\n if (message.packetData !== undefined) {\n InterchainAccountPacketData.encode(message.packetData, writer.uint32(26).fork()).join();\n }\n if (!message.relativeTimeout.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.relativeTimeout.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSendTx {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSendTx();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.owner = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.packetData = InterchainAccountPacketData.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.relativeTimeout = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSendTx {\n return {\n owner: isSet(object.owner) ? globalThis.String(object.owner) : \"\",\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n packetData: isSet(object.packet_data) ? InterchainAccountPacketData.fromJSON(object.packet_data) : undefined,\n relativeTimeout: isSet(object.relative_timeout) ? Long.fromValue(object.relative_timeout) : Long.UZERO,\n };\n },\n\n toJSON(message: MsgSendTx): unknown {\n const obj: any = {};\n if (message.owner !== \"\") {\n obj.owner = message.owner;\n }\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.packetData !== undefined) {\n obj.packet_data = InterchainAccountPacketData.toJSON(message.packetData);\n }\n if (!message.relativeTimeout.equals(Long.UZERO)) {\n obj.relative_timeout = (message.relativeTimeout || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSendTx>): MsgSendTx {\n const message = createBaseMsgSendTx();\n message.owner = object.owner ?? \"\";\n message.connectionId = object.connectionId ?? \"\";\n message.packetData = (object.packetData !== undefined && object.packetData !== null)\n ? InterchainAccountPacketData.fromPartial(object.packetData)\n : undefined;\n message.relativeTimeout = (object.relativeTimeout !== undefined && object.relativeTimeout !== null)\n ? Long.fromValue(object.relativeTimeout)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseMsgSendTxResponse(): MsgSendTxResponse {\n return { sequence: Long.UZERO };\n}\n\nexport const MsgSendTxResponse: MessageFns<\n MsgSendTxResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse\" as const,\n\n encode(message: MsgSendTxResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSendTxResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSendTxResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSendTxResponse {\n return { sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO };\n },\n\n toJSON(message: MsgSendTxResponse): unknown {\n const obj: any = {};\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSendTxResponse>): MsgSendTxResponse {\n const message = createBaseMsgSendTxResponse();\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<\n MsgUpdateParams,\n \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/host.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of on-chain interchain accounts parameters.\n * The following parameters may be used to disable the host submodule.\n */\nexport interface Params {\n /** host_enabled enables or disables the host submodule. */\n hostEnabled: boolean;\n /** allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. */\n allowMessages: string[];\n}\n\n/**\n * QueryRequest defines the parameters for a particular query request\n * by an interchain account.\n */\nexport interface QueryRequest {\n /**\n * path defines the path of the query request as defined by ADR-021.\n * https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing\n */\n path: string;\n /**\n * data defines the payload of the query request as defined by ADR-021.\n * https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-021-protobuf-query-encoding.md#custom-query-registration-and-routing\n */\n data: Uint8Array;\n}\n\nfunction createBaseParams(): Params {\n return { hostEnabled: false, allowMessages: [] };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.interchain_accounts.host.v1.Params\"> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hostEnabled !== false) {\n writer.uint32(8).bool(message.hostEnabled);\n }\n for (const v of message.allowMessages) {\n writer.uint32(18).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.hostEnabled = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.allowMessages.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n hostEnabled: isSet(object.host_enabled) ? globalThis.Boolean(object.host_enabled) : false,\n allowMessages: globalThis.Array.isArray(object?.allow_messages)\n ? object.allow_messages.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.hostEnabled !== false) {\n obj.host_enabled = message.hostEnabled;\n }\n if (message.allowMessages?.length) {\n obj.allow_messages = message.allowMessages;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.hostEnabled = object.hostEnabled ?? false;\n message.allowMessages = object.allowMessages?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseQueryRequest(): QueryRequest {\n return { path: \"\", data: new Uint8Array(0) };\n}\n\nexport const QueryRequest: MessageFns<QueryRequest, \"ibc.applications.interchain_accounts.host.v1.QueryRequest\"> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryRequest\" as const,\n\n encode(message: QueryRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.data.length !== 0) {\n writer.uint32(18).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryRequest {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n };\n },\n\n toJSON(message: QueryRequest): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryRequest>): QueryRequest {\n const message = createBaseQueryRequest();\n message.path = object.path ?? \"\";\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/genesis/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"../../controller/v1/controller.ts\";\nimport { Params as Params1 } from \"../../host/v1/host.ts\";\n\n/** GenesisState defines the interchain accounts genesis state */\nexport interface GenesisState {\n controllerGenesisState: ControllerGenesisState | undefined;\n hostGenesisState: HostGenesisState | undefined;\n}\n\n/** ControllerGenesisState defines the interchain accounts controller genesis state */\nexport interface ControllerGenesisState {\n activeChannels: ActiveChannel[];\n interchainAccounts: RegisteredInterchainAccount[];\n ports: string[];\n params: Params | undefined;\n}\n\n/** HostGenesisState defines the interchain accounts host genesis state */\nexport interface HostGenesisState {\n activeChannels: ActiveChannel[];\n interchainAccounts: RegisteredInterchainAccount[];\n port: string;\n params: Params1 | undefined;\n}\n\n/**\n * ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to\n * indicate if the channel is middleware enabled\n */\nexport interface ActiveChannel {\n connectionId: string;\n portId: string;\n channelId: string;\n isMiddlewareEnabled: boolean;\n}\n\n/** RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address */\nexport interface RegisteredInterchainAccount {\n connectionId: string;\n portId: string;\n accountAddress: string;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { controllerGenesisState: undefined, hostGenesisState: undefined };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.applications.interchain_accounts.genesis.v1.GenesisState\"> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.controllerGenesisState !== undefined) {\n ControllerGenesisState.encode(message.controllerGenesisState, writer.uint32(10).fork()).join();\n }\n if (message.hostGenesisState !== undefined) {\n HostGenesisState.encode(message.hostGenesisState, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.controllerGenesisState = ControllerGenesisState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.hostGenesisState = HostGenesisState.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n controllerGenesisState: isSet(object.controller_genesis_state)\n ? ControllerGenesisState.fromJSON(object.controller_genesis_state)\n : undefined,\n hostGenesisState: isSet(object.host_genesis_state)\n ? HostGenesisState.fromJSON(object.host_genesis_state)\n : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.controllerGenesisState !== undefined) {\n obj.controller_genesis_state = ControllerGenesisState.toJSON(message.controllerGenesisState);\n }\n if (message.hostGenesisState !== undefined) {\n obj.host_genesis_state = HostGenesisState.toJSON(message.hostGenesisState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.controllerGenesisState =\n (object.controllerGenesisState !== undefined && object.controllerGenesisState !== null)\n ? ControllerGenesisState.fromPartial(object.controllerGenesisState)\n : undefined;\n message.hostGenesisState = (object.hostGenesisState !== undefined && object.hostGenesisState !== null)\n ? HostGenesisState.fromPartial(object.hostGenesisState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseControllerGenesisState(): ControllerGenesisState {\n return { activeChannels: [], interchainAccounts: [], ports: [], params: undefined };\n}\n\nexport const ControllerGenesisState: MessageFns<\n ControllerGenesisState,\n \"ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState\" as const,\n\n encode(message: ControllerGenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.activeChannels) {\n ActiveChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.interchainAccounts) {\n RegisteredInterchainAccount.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.ports) {\n writer.uint32(26).string(v!);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ControllerGenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseControllerGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.activeChannels.push(ActiveChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.interchainAccounts.push(RegisteredInterchainAccount.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.ports.push(reader.string());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ControllerGenesisState {\n return {\n activeChannels: globalThis.Array.isArray(object?.active_channels)\n ? object.active_channels.map((e: any) => ActiveChannel.fromJSON(e))\n : [],\n interchainAccounts: globalThis.Array.isArray(object?.interchain_accounts)\n ? object.interchain_accounts.map((e: any) => RegisteredInterchainAccount.fromJSON(e))\n : [],\n ports: globalThis.Array.isArray(object?.ports) ? object.ports.map((e: any) => globalThis.String(e)) : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: ControllerGenesisState): unknown {\n const obj: any = {};\n if (message.activeChannels?.length) {\n obj.active_channels = message.activeChannels.map((e) => ActiveChannel.toJSON(e));\n }\n if (message.interchainAccounts?.length) {\n obj.interchain_accounts = message.interchainAccounts.map((e) => RegisteredInterchainAccount.toJSON(e));\n }\n if (message.ports?.length) {\n obj.ports = message.ports;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ControllerGenesisState>): ControllerGenesisState {\n const message = createBaseControllerGenesisState();\n message.activeChannels = object.activeChannels?.map((e) => ActiveChannel.fromPartial(e)) || [];\n message.interchainAccounts = object.interchainAccounts?.map((e) => RegisteredInterchainAccount.fromPartial(e)) ||\n [];\n message.ports = object.ports?.map((e) => e) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseHostGenesisState(): HostGenesisState {\n return { activeChannels: [], interchainAccounts: [], port: \"\", params: undefined };\n}\n\nexport const HostGenesisState: MessageFns<\n HostGenesisState,\n \"ibc.applications.interchain_accounts.genesis.v1.HostGenesisState\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.HostGenesisState\" as const,\n\n encode(message: HostGenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.activeChannels) {\n ActiveChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.interchainAccounts) {\n RegisteredInterchainAccount.encode(v!, writer.uint32(18).fork()).join();\n }\n if (message.port !== \"\") {\n writer.uint32(26).string(message.port);\n }\n if (message.params !== undefined) {\n Params1.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): HostGenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHostGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.activeChannels.push(ActiveChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.interchainAccounts.push(RegisteredInterchainAccount.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.port = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params1.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): HostGenesisState {\n return {\n activeChannels: globalThis.Array.isArray(object?.active_channels)\n ? object.active_channels.map((e: any) => ActiveChannel.fromJSON(e))\n : [],\n interchainAccounts: globalThis.Array.isArray(object?.interchain_accounts)\n ? object.interchain_accounts.map((e: any) => RegisteredInterchainAccount.fromJSON(e))\n : [],\n port: isSet(object.port) ? globalThis.String(object.port) : \"\",\n params: isSet(object.params) ? Params1.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: HostGenesisState): unknown {\n const obj: any = {};\n if (message.activeChannels?.length) {\n obj.active_channels = message.activeChannels.map((e) => ActiveChannel.toJSON(e));\n }\n if (message.interchainAccounts?.length) {\n obj.interchain_accounts = message.interchainAccounts.map((e) => RegisteredInterchainAccount.toJSON(e));\n }\n if (message.port !== \"\") {\n obj.port = message.port;\n }\n if (message.params !== undefined) {\n obj.params = Params1.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<HostGenesisState>): HostGenesisState {\n const message = createBaseHostGenesisState();\n message.activeChannels = object.activeChannels?.map((e) => ActiveChannel.fromPartial(e)) || [];\n message.interchainAccounts = object.interchainAccounts?.map((e) => RegisteredInterchainAccount.fromPartial(e)) ||\n [];\n message.port = object.port ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params1.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseActiveChannel(): ActiveChannel {\n return { connectionId: \"\", portId: \"\", channelId: \"\", isMiddlewareEnabled: false };\n}\n\nexport const ActiveChannel: MessageFns<ActiveChannel, \"ibc.applications.interchain_accounts.genesis.v1.ActiveChannel\"> =\n {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.ActiveChannel\" as const,\n\n encode(message: ActiveChannel, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(26).string(message.channelId);\n }\n if (message.isMiddlewareEnabled !== false) {\n writer.uint32(32).bool(message.isMiddlewareEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ActiveChannel {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseActiveChannel();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.isMiddlewareEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ActiveChannel {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n isMiddlewareEnabled: isSet(object.is_middleware_enabled)\n ? globalThis.Boolean(object.is_middleware_enabled)\n : false,\n };\n },\n\n toJSON(message: ActiveChannel): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.isMiddlewareEnabled !== false) {\n obj.is_middleware_enabled = message.isMiddlewareEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ActiveChannel>): ActiveChannel {\n const message = createBaseActiveChannel();\n message.connectionId = object.connectionId ?? \"\";\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.isMiddlewareEnabled = object.isMiddlewareEnabled ?? false;\n return message;\n },\n };\n\nfunction createBaseRegisteredInterchainAccount(): RegisteredInterchainAccount {\n return { connectionId: \"\", portId: \"\", accountAddress: \"\" };\n}\n\nexport const RegisteredInterchainAccount: MessageFns<\n RegisteredInterchainAccount,\n \"ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount\" as const,\n\n encode(message: RegisteredInterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.portId !== \"\") {\n writer.uint32(18).string(message.portId);\n }\n if (message.accountAddress !== \"\") {\n writer.uint32(26).string(message.accountAddress);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): RegisteredInterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseRegisteredInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.accountAddress = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): RegisteredInterchainAccount {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n accountAddress: isSet(object.account_address) ? globalThis.String(object.account_address) : \"\",\n };\n },\n\n toJSON(message: RegisteredInterchainAccount): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.accountAddress !== \"\") {\n obj.account_address = message.accountAddress;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<RegisteredInterchainAccount>): RegisteredInterchainAccount {\n const message = createBaseRegisteredInterchainAccount();\n message.connectionId = object.connectionId ?? \"\";\n message.portId = object.portId ?? \"\";\n message.accountAddress = object.accountAddress ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params } from \"./host.ts\";\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<\n QueryParamsRequest,\n \"ibc.applications.interchain_accounts.host.v1.QueryParamsRequest\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<\n QueryParamsResponse,\n \"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/host/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Params, QueryRequest } from \"./host.ts\";\n\n/** MsgUpdateParams defines the payload for Msg/UpdateParams */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the 27-interchain-accounts/host parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the response for Msg/UpdateParams */\nexport interface MsgUpdateParamsResponse {\n}\n\n/** MsgModuleQuerySafe defines the payload for Msg/ModuleQuerySafe */\nexport interface MsgModuleQuerySafe {\n /** signer address */\n signer: string;\n /** requests defines the module safe queries to execute. */\n requests: QueryRequest[];\n}\n\n/** MsgModuleQuerySafeResponse defines the response for Msg/ModuleQuerySafe */\nexport interface MsgModuleQuerySafeResponse {\n /** height at which the responses were queried */\n height: Long;\n /** protobuf encoded responses for each query */\n responses: Uint8Array[];\n}\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<\n MsgUpdateParams,\n \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction createBaseMsgModuleQuerySafe(): MsgModuleQuerySafe {\n return { signer: \"\", requests: [] };\n}\n\nexport const MsgModuleQuerySafe: MessageFns<\n MsgModuleQuerySafe,\n \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafe\" as const,\n\n encode(message: MsgModuleQuerySafe, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n for (const v of message.requests) {\n QueryRequest.encode(v!, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafe {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgModuleQuerySafe();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.requests.push(QueryRequest.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgModuleQuerySafe {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n requests: globalThis.Array.isArray(object?.requests)\n ? object.requests.map((e: any) => QueryRequest.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: MsgModuleQuerySafe): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.requests?.length) {\n obj.requests = message.requests.map((e) => QueryRequest.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgModuleQuerySafe>): MsgModuleQuerySafe {\n const message = createBaseMsgModuleQuerySafe();\n message.signer = object.signer ?? \"\";\n message.requests = object.requests?.map((e) => QueryRequest.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseMsgModuleQuerySafeResponse(): MsgModuleQuerySafeResponse {\n return { height: Long.UZERO, responses: [] };\n}\n\nexport const MsgModuleQuerySafeResponse: MessageFns<\n MsgModuleQuerySafeResponse,\n \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse\"\n> = {\n $type: \"ibc.applications.interchain_accounts.host.v1.MsgModuleQuerySafeResponse\" as const,\n\n encode(message: MsgModuleQuerySafeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.height.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.height.toString());\n }\n for (const v of message.responses) {\n writer.uint32(18).bytes(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgModuleQuerySafeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgModuleQuerySafeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.height = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.responses.push(reader.bytes());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgModuleQuerySafeResponse {\n return {\n height: isSet(object.height) ? Long.fromValue(object.height) : Long.UZERO,\n responses: globalThis.Array.isArray(object?.responses)\n ? object.responses.map((e: any) => bytesFromBase64(e))\n : [],\n };\n },\n\n toJSON(message: MsgModuleQuerySafeResponse): unknown {\n const obj: any = {};\n if (!message.height.equals(Long.UZERO)) {\n obj.height = (message.height || Long.UZERO).toString();\n }\n if (message.responses?.length) {\n obj.responses = message.responses.map((e) => base64FromBytes(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgModuleQuerySafeResponse>): MsgModuleQuerySafeResponse {\n const message = createBaseMsgModuleQuerySafeResponse();\n message.height = (object.height !== undefined && object.height !== null)\n ? Long.fromValue(object.height)\n : Long.UZERO;\n message.responses = object.responses?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/account.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { BaseAccount } from \"../../../../cosmos/auth/v1beta1/auth.ts\";\n\n/** An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain */\nexport interface InterchainAccount {\n baseAccount: BaseAccount | undefined;\n accountOwner: string;\n}\n\nfunction createBaseInterchainAccount(): InterchainAccount {\n return { baseAccount: undefined, accountOwner: \"\" };\n}\n\nexport const InterchainAccount: MessageFns<\n InterchainAccount,\n \"ibc.applications.interchain_accounts.v1.InterchainAccount\"\n> = {\n $type: \"ibc.applications.interchain_accounts.v1.InterchainAccount\" as const,\n\n encode(message: InterchainAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.baseAccount !== undefined) {\n BaseAccount.encode(message.baseAccount, writer.uint32(10).fork()).join();\n }\n if (message.accountOwner !== \"\") {\n writer.uint32(18).string(message.accountOwner);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): InterchainAccount {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseInterchainAccount();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.baseAccount = BaseAccount.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.accountOwner = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): InterchainAccount {\n return {\n baseAccount: isSet(object.base_account) ? BaseAccount.fromJSON(object.base_account) : undefined,\n accountOwner: isSet(object.account_owner) ? globalThis.String(object.account_owner) : \"\",\n };\n },\n\n toJSON(message: InterchainAccount): unknown {\n const obj: any = {};\n if (message.baseAccount !== undefined) {\n obj.base_account = BaseAccount.toJSON(message.baseAccount);\n }\n if (message.accountOwner !== \"\") {\n obj.account_owner = message.accountOwner;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<InterchainAccount>): InterchainAccount {\n const message = createBaseInterchainAccount();\n message.baseAccount = (object.baseAccount !== undefined && object.baseAccount !== null)\n ? BaseAccount.fromPartial(object.baseAccount)\n : undefined;\n message.accountOwner = object.accountOwner ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/interchain_accounts/v1/metadata.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring\n * See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning\n */\nexport interface Metadata {\n /** version defines the ICS27 protocol version */\n version: string;\n /** controller_connection_id is the connection identifier associated with the controller chain */\n controllerConnectionId: string;\n /** host_connection_id is the connection identifier associated with the host chain */\n hostConnectionId: string;\n /**\n * address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step\n * NOTE: the address field is empty on the OnChanOpenInit handshake step\n */\n address: string;\n /** encoding defines the supported codec format */\n encoding: string;\n /** tx_type defines the type of transactions the interchain account can execute */\n txType: string;\n}\n\nfunction createBaseMetadata(): Metadata {\n return { version: \"\", controllerConnectionId: \"\", hostConnectionId: \"\", address: \"\", encoding: \"\", txType: \"\" };\n}\n\nexport const Metadata: MessageFns<Metadata, \"ibc.applications.interchain_accounts.v1.Metadata\"> = {\n $type: \"ibc.applications.interchain_accounts.v1.Metadata\" as const,\n\n encode(message: Metadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.version !== \"\") {\n writer.uint32(10).string(message.version);\n }\n if (message.controllerConnectionId !== \"\") {\n writer.uint32(18).string(message.controllerConnectionId);\n }\n if (message.hostConnectionId !== \"\") {\n writer.uint32(26).string(message.hostConnectionId);\n }\n if (message.address !== \"\") {\n writer.uint32(34).string(message.address);\n }\n if (message.encoding !== \"\") {\n writer.uint32(42).string(message.encoding);\n }\n if (message.txType !== \"\") {\n writer.uint32(50).string(message.txType);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Metadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.controllerConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.hostConnectionId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.encoding = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.txType = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Metadata {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n controllerConnectionId: isSet(object.controller_connection_id)\n ? globalThis.String(object.controller_connection_id)\n : \"\",\n hostConnectionId: isSet(object.host_connection_id) ? globalThis.String(object.host_connection_id) : \"\",\n address: isSet(object.address) ? globalThis.String(object.address) : \"\",\n encoding: isSet(object.encoding) ? globalThis.String(object.encoding) : \"\",\n txType: isSet(object.tx_type) ? globalThis.String(object.tx_type) : \"\",\n };\n },\n\n toJSON(message: Metadata): unknown {\n const obj: any = {};\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.controllerConnectionId !== \"\") {\n obj.controller_connection_id = message.controllerConnectionId;\n }\n if (message.hostConnectionId !== \"\") {\n obj.host_connection_id = message.hostConnectionId;\n }\n if (message.address !== \"\") {\n obj.address = message.address;\n }\n if (message.encoding !== \"\") {\n obj.encoding = message.encoding;\n }\n if (message.txType !== \"\") {\n obj.tx_type = message.txType;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Metadata>): Metadata {\n const message = createBaseMetadata();\n message.version = object.version ?? \"\";\n message.controllerConnectionId = object.controllerConnectionId ?? \"\";\n message.hostConnectionId = object.hostConnectionId ?? \"\";\n message.address = object.address ?? \"\";\n message.encoding = object.encoding ?? \"\";\n message.txType = object.txType ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/authz.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\n\n/** Allocation defines the spend limit for a particular port and channel */\nexport interface Allocation {\n /** the port on which the packet will be sent */\n sourcePort: string;\n /** the channel by which the packet will be sent */\n sourceChannel: string;\n /** spend limitation on the channel */\n spendLimit: Coin[];\n /** allow list of receivers, an empty allow list permits any receiver address */\n allowList: string[];\n /**\n * allow list of memo strings, an empty list prohibits all memo strings;\n * a list only with \"*\" permits any memo string\n */\n allowedPacketData: string[];\n}\n\n/**\n * TransferAuthorization allows the grantee to spend up to spend_limit coins from\n * the granter's account for ibc transfer on a specific channel\n */\nexport interface TransferAuthorization {\n /** port and channel amounts */\n allocations: Allocation[];\n}\n\nfunction createBaseAllocation(): Allocation {\n return { sourcePort: \"\", sourceChannel: \"\", spendLimit: [], allowList: [], allowedPacketData: [] };\n}\n\nexport const Allocation: MessageFns<Allocation, \"ibc.applications.transfer.v1.Allocation\"> = {\n $type: \"ibc.applications.transfer.v1.Allocation\" as const,\n\n encode(message: Allocation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sourcePort !== \"\") {\n writer.uint32(10).string(message.sourcePort);\n }\n if (message.sourceChannel !== \"\") {\n writer.uint32(18).string(message.sourceChannel);\n }\n for (const v of message.spendLimit) {\n Coin.encode(v!, writer.uint32(26).fork()).join();\n }\n for (const v of message.allowList) {\n writer.uint32(34).string(v!);\n }\n for (const v of message.allowedPacketData) {\n writer.uint32(42).string(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Allocation {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseAllocation();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sourcePort = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sourceChannel = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.spendLimit.push(Coin.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.allowList.push(reader.string());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.allowedPacketData.push(reader.string());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Allocation {\n return {\n sourcePort: isSet(object.source_port) ? globalThis.String(object.source_port) : \"\",\n sourceChannel: isSet(object.source_channel) ? globalThis.String(object.source_channel) : \"\",\n spendLimit: globalThis.Array.isArray(object?.spend_limit)\n ? object.spend_limit.map((e: any) => Coin.fromJSON(e))\n : [],\n allowList: globalThis.Array.isArray(object?.allow_list)\n ? object.allow_list.map((e: any) => globalThis.String(e))\n : [],\n allowedPacketData: globalThis.Array.isArray(object?.allowed_packet_data)\n ? object.allowed_packet_data.map((e: any) => globalThis.String(e))\n : [],\n };\n },\n\n toJSON(message: Allocation): unknown {\n const obj: any = {};\n if (message.sourcePort !== \"\") {\n obj.source_port = message.sourcePort;\n }\n if (message.sourceChannel !== \"\") {\n obj.source_channel = message.sourceChannel;\n }\n if (message.spendLimit?.length) {\n obj.spend_limit = message.spendLimit.map((e) => Coin.toJSON(e));\n }\n if (message.allowList?.length) {\n obj.allow_list = message.allowList;\n }\n if (message.allowedPacketData?.length) {\n obj.allowed_packet_data = message.allowedPacketData;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Allocation>): Allocation {\n const message = createBaseAllocation();\n message.sourcePort = object.sourcePort ?? \"\";\n message.sourceChannel = object.sourceChannel ?? \"\";\n message.spendLimit = object.spendLimit?.map((e) => Coin.fromPartial(e)) || [];\n message.allowList = object.allowList?.map((e) => e) || [];\n message.allowedPacketData = object.allowedPacketData?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction createBaseTransferAuthorization(): TransferAuthorization {\n return { allocations: [] };\n}\n\nexport const TransferAuthorization: MessageFns<\n TransferAuthorization,\n \"ibc.applications.transfer.v1.TransferAuthorization\"\n> = {\n $type: \"ibc.applications.transfer.v1.TransferAuthorization\" as const,\n\n encode(message: TransferAuthorization, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.allocations) {\n Allocation.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): TransferAuthorization {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTransferAuthorization();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.allocations.push(Allocation.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): TransferAuthorization {\n return {\n allocations: globalThis.Array.isArray(object?.allocations)\n ? object.allocations.map((e: any) => Allocation.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: TransferAuthorization): unknown {\n const obj: any = {};\n if (message.allocations?.length) {\n obj.allocations = message.allocations.map((e) => Allocation.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<TransferAuthorization>): TransferAuthorization {\n const message = createBaseTransferAuthorization();\n message.allocations = object.allocations?.map((e) => Allocation.fromPartial(e)) || [];\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/denomtrace.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * DenomTrace contains the base denomination for ICS20 fungible tokens and the\n * source tracing information path.\n *\n * @deprecated\n */\nexport interface DenomTrace {\n /**\n * path defines the chain of port/channel identifiers used for tracing the\n * source of the fungible token.\n */\n path: string;\n /** base denomination of the relayed fungible token. */\n baseDenom: string;\n}\n\nfunction createBaseDenomTrace(): DenomTrace {\n return { path: \"\", baseDenom: \"\" };\n}\n\nexport const DenomTrace: MessageFns<DenomTrace, \"ibc.applications.transfer.v1.DenomTrace\"> = {\n $type: \"ibc.applications.transfer.v1.DenomTrace\" as const,\n\n encode(message: DenomTrace, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.path !== \"\") {\n writer.uint32(10).string(message.path);\n }\n if (message.baseDenom !== \"\") {\n writer.uint32(18).string(message.baseDenom);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): DenomTrace {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDenomTrace();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.path = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.baseDenom = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): DenomTrace {\n return {\n path: isSet(object.path) ? globalThis.String(object.path) : \"\",\n baseDenom: isSet(object.base_denom) ? globalThis.String(object.base_denom) : \"\",\n };\n },\n\n toJSON(message: DenomTrace): unknown {\n const obj: any = {};\n if (message.path !== \"\") {\n obj.path = message.path;\n }\n if (message.baseDenom !== \"\") {\n obj.base_denom = message.baseDenom;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<DenomTrace>): DenomTrace {\n const message = createBaseDenomTrace();\n message.path = object.path ?? \"\";\n message.baseDenom = object.baseDenom ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/transfer.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * Params defines the set of IBC transfer parameters.\n * NOTE: To prevent a single token from being transferred, set the\n * TransfersEnabled parameter to true and then set the bank module's SendEnabled\n * parameter for the denomination to false.\n */\nexport interface Params {\n /**\n * send_enabled enables or disables all cross-chain token transfers from this\n * chain.\n */\n sendEnabled: boolean;\n /**\n * receive_enabled enables or disables all cross-chain token transfers to this\n * chain.\n */\n receiveEnabled: boolean;\n}\n\nfunction createBaseParams(): Params {\n return { sendEnabled: false, receiveEnabled: false };\n}\n\nexport const Params: MessageFns<Params, \"ibc.applications.transfer.v1.Params\"> = {\n $type: \"ibc.applications.transfer.v1.Params\" as const,\n\n encode(message: Params, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sendEnabled !== false) {\n writer.uint32(8).bool(message.sendEnabled);\n }\n if (message.receiveEnabled !== false) {\n writer.uint32(16).bool(message.receiveEnabled);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Params {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sendEnabled = reader.bool();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.receiveEnabled = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Params {\n return {\n sendEnabled: isSet(object.send_enabled) ? globalThis.Boolean(object.send_enabled) : false,\n receiveEnabled: isSet(object.receive_enabled) ? globalThis.Boolean(object.receive_enabled) : false,\n };\n },\n\n toJSON(message: Params): unknown {\n const obj: any = {};\n if (message.sendEnabled !== false) {\n obj.send_enabled = message.sendEnabled;\n }\n if (message.receiveEnabled !== false) {\n obj.receive_enabled = message.receiveEnabled;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Params>): Params {\n const message = createBaseParams();\n message.sendEnabled = object.sendEnabled ?? false;\n message.receiveEnabled = object.receiveEnabled ?? false;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/token.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** Token defines a struct which represents a token to be transferred. */\nexport interface Token {\n /** the token denomination */\n denom:\n | Denom\n | undefined;\n /** the token amount to be transferred */\n amount: string;\n}\n\n/** Denom holds the base denom of a Token and a trace of the chains it was sent through. */\nexport interface Denom {\n /** the base token denomination */\n base: string;\n /** the trace of the token */\n trace: Hop[];\n}\n\n/** Hop defines a port ID, channel ID pair specifying a unique \"hop\" in a trace */\nexport interface Hop {\n portId: string;\n channelId: string;\n}\n\nfunction createBaseToken(): Token {\n return { denom: undefined, amount: \"\" };\n}\n\nexport const Token: MessageFns<Token, \"ibc.applications.transfer.v1.Token\"> = {\n $type: \"ibc.applications.transfer.v1.Token\" as const,\n\n encode(message: Token, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== undefined) {\n Denom.encode(message.denom, writer.uint32(10).fork()).join();\n }\n if (message.amount !== \"\") {\n writer.uint32(18).string(message.amount);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Token {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseToken();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = Denom.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Token {\n return {\n denom: isSet(object.denom) ? Denom.fromJSON(object.denom) : undefined,\n amount: isSet(object.amount) ? globalThis.String(object.amount) : \"\",\n };\n },\n\n toJSON(message: Token): unknown {\n const obj: any = {};\n if (message.denom !== undefined) {\n obj.denom = Denom.toJSON(message.denom);\n }\n if (message.amount !== \"\") {\n obj.amount = message.amount;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Token>): Token {\n const message = createBaseToken();\n message.denom = (object.denom !== undefined && object.denom !== null) ? Denom.fromPartial(object.denom) : undefined;\n message.amount = object.amount ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDenom(): Denom {\n return { base: \"\", trace: [] };\n}\n\nexport const Denom: MessageFns<Denom, \"ibc.applications.transfer.v1.Denom\"> = {\n $type: \"ibc.applications.transfer.v1.Denom\" as const,\n\n encode(message: Denom, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.base !== \"\") {\n writer.uint32(10).string(message.base);\n }\n for (const v of message.trace) {\n Hop.encode(v!, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Denom {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDenom();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.base = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trace.push(Hop.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Denom {\n return {\n base: isSet(object.base) ? globalThis.String(object.base) : \"\",\n trace: globalThis.Array.isArray(object?.trace) ? object.trace.map((e: any) => Hop.fromJSON(e)) : [],\n };\n },\n\n toJSON(message: Denom): unknown {\n const obj: any = {};\n if (message.base !== \"\") {\n obj.base = message.base;\n }\n if (message.trace?.length) {\n obj.trace = message.trace.map((e) => Hop.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Denom>): Denom {\n const message = createBaseDenom();\n message.base = object.base ?? \"\";\n message.trace = object.trace?.map((e) => Hop.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseHop(): Hop {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const Hop: MessageFns<Hop, \"ibc.applications.transfer.v1.Hop\"> = {\n $type: \"ibc.applications.transfer.v1.Hop\" as const,\n\n encode(message: Hop, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Hop {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHop();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Hop {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: Hop): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Hop>): Hop {\n const message = createBaseHop();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Denom } from \"./token.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/** GenesisState defines the ibc-transfer genesis state */\nexport interface GenesisState {\n portId: string;\n denoms: Denom[];\n params:\n | Params\n | undefined;\n /**\n * total_escrowed contains the total amount of tokens escrowed\n * by the transfer module\n */\n totalEscrowed: Coin[];\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { portId: \"\", denoms: [], params: undefined, totalEscrowed: [] };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.applications.transfer.v1.GenesisState\"> = {\n $type: \"ibc.applications.transfer.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n for (const v of message.denoms) {\n Denom.encode(v!, writer.uint32(18).fork()).join();\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(26).fork()).join();\n }\n for (const v of message.totalEscrowed) {\n Coin.encode(v!, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.denoms.push(Denom.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.totalEscrowed.push(Coin.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n denoms: globalThis.Array.isArray(object?.denoms) ? object.denoms.map((e: any) => Denom.fromJSON(e)) : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n totalEscrowed: globalThis.Array.isArray(object?.total_escrowed)\n ? object.total_escrowed.map((e: any) => Coin.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.denoms?.length) {\n obj.denoms = message.denoms.map((e) => Denom.toJSON(e));\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n if (message.totalEscrowed?.length) {\n obj.total_escrowed = message.totalEscrowed.map((e) => Coin.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.portId = object.portId ?? \"\";\n message.denoms = object.denoms?.map((e) => Denom.fromPartial(e)) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n message.totalEscrowed = object.totalEscrowed?.map((e) => Coin.fromPartial(e)) || [];\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/packet.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/**\n * FungibleTokenPacketData defines a struct for the packet payload\n * See FungibleTokenPacketData spec:\n * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures\n */\nexport interface FungibleTokenPacketData {\n /** the token denomination to be transferred */\n denom: string;\n /** the token amount to be transferred */\n amount: string;\n /** the sender address */\n sender: string;\n /** the recipient address on the destination chain */\n receiver: string;\n /** optional memo */\n memo: string;\n}\n\nfunction createBaseFungibleTokenPacketData(): FungibleTokenPacketData {\n return { denom: \"\", amount: \"\", sender: \"\", receiver: \"\", memo: \"\" };\n}\n\nexport const FungibleTokenPacketData: MessageFns<\n FungibleTokenPacketData,\n \"ibc.applications.transfer.v1.FungibleTokenPacketData\"\n> = {\n $type: \"ibc.applications.transfer.v1.FungibleTokenPacketData\" as const,\n\n encode(message: FungibleTokenPacketData, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== \"\") {\n writer.uint32(10).string(message.denom);\n }\n if (message.amount !== \"\") {\n writer.uint32(18).string(message.amount);\n }\n if (message.sender !== \"\") {\n writer.uint32(26).string(message.sender);\n }\n if (message.receiver !== \"\") {\n writer.uint32(34).string(message.receiver);\n }\n if (message.memo !== \"\") {\n writer.uint32(42).string(message.memo);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): FungibleTokenPacketData {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFungibleTokenPacketData();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.amount = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.receiver = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): FungibleTokenPacketData {\n return {\n denom: isSet(object.denom) ? globalThis.String(object.denom) : \"\",\n amount: isSet(object.amount) ? globalThis.String(object.amount) : \"\",\n sender: isSet(object.sender) ? globalThis.String(object.sender) : \"\",\n receiver: isSet(object.receiver) ? globalThis.String(object.receiver) : \"\",\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n };\n },\n\n toJSON(message: FungibleTokenPacketData): unknown {\n const obj: any = {};\n if (message.denom !== \"\") {\n obj.denom = message.denom;\n }\n if (message.amount !== \"\") {\n obj.amount = message.amount;\n }\n if (message.sender !== \"\") {\n obj.sender = message.sender;\n }\n if (message.receiver !== \"\") {\n obj.receiver = message.receiver;\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<FungibleTokenPacketData>): FungibleTokenPacketData {\n const message = createBaseFungibleTokenPacketData();\n message.denom = object.denom ?? \"\";\n message.amount = object.amount ?? \"\";\n message.sender = object.sender ?? \"\";\n message.receiver = object.receiver ?? \"\";\n message.memo = object.memo ?? \"\";\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Denom } from \"./token.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/** QueryParamsRequest is the request type for the Query/Params RPC method. */\nexport interface QueryParamsRequest {\n}\n\n/** QueryParamsResponse is the response type for the Query/Params RPC method. */\nexport interface QueryParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\n/**\n * QueryDenomRequest is the request type for the Query/Denom RPC\n * method\n */\nexport interface QueryDenomRequest {\n /** hash (in hex format) or denom (full denom with ibc prefix) of the on chain denomination. */\n hash: string;\n}\n\n/**\n * QueryDenomResponse is the response type for the Query/Denom RPC\n * method.\n */\nexport interface QueryDenomResponse {\n /** denom returns the requested denomination. */\n denom: Denom | undefined;\n}\n\n/**\n * QueryDenomsRequest is the request type for the Query/Denoms RPC\n * method\n */\nexport interface QueryDenomsRequest {\n /** pagination defines an optional pagination for the request. */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryDenomsResponse is the response type for the Query/Denoms RPC\n * method.\n */\nexport interface QueryDenomsResponse {\n /** denoms returns all denominations. */\n denoms: Denom[];\n /** pagination defines the pagination in the response. */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryDenomHashRequest is the request type for the Query/DenomHash RPC\n * method\n */\nexport interface QueryDenomHashRequest {\n /** The denomination trace ([port_id]/[channel_id])+/[denom] */\n trace: string;\n}\n\n/**\n * QueryDenomHashResponse is the response type for the Query/DenomHash RPC\n * method.\n */\nexport interface QueryDenomHashResponse {\n /** hash (in hex format) of the denomination trace information. */\n hash: string;\n}\n\n/** QueryEscrowAddressRequest is the request type for the EscrowAddress RPC method. */\nexport interface QueryEscrowAddressRequest {\n /** unique port identifier */\n portId: string;\n /** unique channel identifier */\n channelId: string;\n}\n\n/** QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method. */\nexport interface QueryEscrowAddressResponse {\n /** the escrow account address */\n escrowAddress: string;\n}\n\n/** QueryTotalEscrowForDenomRequest is the request type for TotalEscrowForDenom RPC method. */\nexport interface QueryTotalEscrowForDenomRequest {\n denom: string;\n}\n\n/** QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method. */\nexport interface QueryTotalEscrowForDenomResponse {\n amount: Coin | undefined;\n}\n\nfunction createBaseQueryParamsRequest(): QueryParamsRequest {\n return {};\n}\n\nexport const QueryParamsRequest: MessageFns<QueryParamsRequest, \"ibc.applications.transfer.v1.QueryParamsRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryParamsRequest\" as const,\n\n encode(_: QueryParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryParamsRequest {\n return {};\n },\n\n toJSON(_: QueryParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryParamsRequest>): QueryParamsRequest {\n const message = createBaseQueryParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryParamsResponse(): QueryParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryParamsResponse: MessageFns<QueryParamsResponse, \"ibc.applications.transfer.v1.QueryParamsResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.QueryParamsResponse\" as const,\n\n encode(message: QueryParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryParamsResponse>): QueryParamsResponse {\n const message = createBaseQueryParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n };\n\nfunction createBaseQueryDenomRequest(): QueryDenomRequest {\n return { hash: \"\" };\n}\n\nexport const QueryDenomRequest: MessageFns<QueryDenomRequest, \"ibc.applications.transfer.v1.QueryDenomRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomRequest\" as const,\n\n encode(message: QueryDenomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hash !== \"\") {\n writer.uint32(10).string(message.hash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.hash = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomRequest {\n return { hash: isSet(object.hash) ? globalThis.String(object.hash) : \"\" };\n },\n\n toJSON(message: QueryDenomRequest): unknown {\n const obj: any = {};\n if (message.hash !== \"\") {\n obj.hash = message.hash;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomRequest>): QueryDenomRequest {\n const message = createBaseQueryDenomRequest();\n message.hash = object.hash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryDenomResponse(): QueryDenomResponse {\n return { denom: undefined };\n}\n\nexport const QueryDenomResponse: MessageFns<QueryDenomResponse, \"ibc.applications.transfer.v1.QueryDenomResponse\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomResponse\" as const,\n\n encode(message: QueryDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== undefined) {\n Denom.encode(message.denom, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = Denom.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomResponse {\n return { denom: isSet(object.denom) ? Denom.fromJSON(object.denom) : undefined };\n },\n\n toJSON(message: QueryDenomResponse): unknown {\n const obj: any = {};\n if (message.denom !== undefined) {\n obj.denom = Denom.toJSON(message.denom);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomResponse>): QueryDenomResponse {\n const message = createBaseQueryDenomResponse();\n message.denom = (object.denom !== undefined && object.denom !== null) ? Denom.fromPartial(object.denom) : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryDenomsRequest(): QueryDenomsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryDenomsRequest: MessageFns<QueryDenomsRequest, \"ibc.applications.transfer.v1.QueryDenomsRequest\"> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomsRequest\" as const,\n\n encode(message: QueryDenomsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryDenomsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomsRequest>): QueryDenomsRequest {\n const message = createBaseQueryDenomsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryDenomsResponse(): QueryDenomsResponse {\n return { denoms: [], pagination: undefined };\n}\n\nexport const QueryDenomsResponse: MessageFns<QueryDenomsResponse, \"ibc.applications.transfer.v1.QueryDenomsResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.QueryDenomsResponse\" as const,\n\n encode(message: QueryDenomsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.denoms) {\n Denom.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denoms.push(Denom.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomsResponse {\n return {\n denoms: globalThis.Array.isArray(object?.denoms) ? object.denoms.map((e: any) => Denom.fromJSON(e)) : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryDenomsResponse): unknown {\n const obj: any = {};\n if (message.denoms?.length) {\n obj.denoms = message.denoms.map((e) => Denom.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomsResponse>): QueryDenomsResponse {\n const message = createBaseQueryDenomsResponse();\n message.denoms = object.denoms?.map((e) => Denom.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n };\n\nfunction createBaseQueryDenomHashRequest(): QueryDenomHashRequest {\n return { trace: \"\" };\n}\n\nexport const QueryDenomHashRequest: MessageFns<\n QueryDenomHashRequest,\n \"ibc.applications.transfer.v1.QueryDenomHashRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomHashRequest\" as const,\n\n encode(message: QueryDenomHashRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.trace !== \"\") {\n writer.uint32(10).string(message.trace);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomHashRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomHashRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.trace = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomHashRequest {\n return { trace: isSet(object.trace) ? globalThis.String(object.trace) : \"\" };\n },\n\n toJSON(message: QueryDenomHashRequest): unknown {\n const obj: any = {};\n if (message.trace !== \"\") {\n obj.trace = message.trace;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomHashRequest>): QueryDenomHashRequest {\n const message = createBaseQueryDenomHashRequest();\n message.trace = object.trace ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryDenomHashResponse(): QueryDenomHashResponse {\n return { hash: \"\" };\n}\n\nexport const QueryDenomHashResponse: MessageFns<\n QueryDenomHashResponse,\n \"ibc.applications.transfer.v1.QueryDenomHashResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryDenomHashResponse\" as const,\n\n encode(message: QueryDenomHashResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.hash !== \"\") {\n writer.uint32(10).string(message.hash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryDenomHashResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryDenomHashResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.hash = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryDenomHashResponse {\n return { hash: isSet(object.hash) ? globalThis.String(object.hash) : \"\" };\n },\n\n toJSON(message: QueryDenomHashResponse): unknown {\n const obj: any = {};\n if (message.hash !== \"\") {\n obj.hash = message.hash;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryDenomHashResponse>): QueryDenomHashResponse {\n const message = createBaseQueryDenomHashResponse();\n message.hash = object.hash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryEscrowAddressRequest(): QueryEscrowAddressRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryEscrowAddressRequest: MessageFns<\n QueryEscrowAddressRequest,\n \"ibc.applications.transfer.v1.QueryEscrowAddressRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryEscrowAddressRequest\" as const,\n\n encode(message: QueryEscrowAddressRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryEscrowAddressRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryEscrowAddressRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryEscrowAddressRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryEscrowAddressRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryEscrowAddressRequest>): QueryEscrowAddressRequest {\n const message = createBaseQueryEscrowAddressRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryEscrowAddressResponse(): QueryEscrowAddressResponse {\n return { escrowAddress: \"\" };\n}\n\nexport const QueryEscrowAddressResponse: MessageFns<\n QueryEscrowAddressResponse,\n \"ibc.applications.transfer.v1.QueryEscrowAddressResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryEscrowAddressResponse\" as const,\n\n encode(message: QueryEscrowAddressResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.escrowAddress !== \"\") {\n writer.uint32(10).string(message.escrowAddress);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryEscrowAddressResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryEscrowAddressResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.escrowAddress = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryEscrowAddressResponse {\n return { escrowAddress: isSet(object.escrow_address) ? globalThis.String(object.escrow_address) : \"\" };\n },\n\n toJSON(message: QueryEscrowAddressResponse): unknown {\n const obj: any = {};\n if (message.escrowAddress !== \"\") {\n obj.escrow_address = message.escrowAddress;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryEscrowAddressResponse>): QueryEscrowAddressResponse {\n const message = createBaseQueryEscrowAddressResponse();\n message.escrowAddress = object.escrowAddress ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryTotalEscrowForDenomRequest(): QueryTotalEscrowForDenomRequest {\n return { denom: \"\" };\n}\n\nexport const QueryTotalEscrowForDenomRequest: MessageFns<\n QueryTotalEscrowForDenomRequest,\n \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest\" as const,\n\n encode(message: QueryTotalEscrowForDenomRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.denom !== \"\") {\n writer.uint32(10).string(message.denom);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalEscrowForDenomRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryTotalEscrowForDenomRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.denom = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryTotalEscrowForDenomRequest {\n return { denom: isSet(object.denom) ? globalThis.String(object.denom) : \"\" };\n },\n\n toJSON(message: QueryTotalEscrowForDenomRequest): unknown {\n const obj: any = {};\n if (message.denom !== \"\") {\n obj.denom = message.denom;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryTotalEscrowForDenomRequest>): QueryTotalEscrowForDenomRequest {\n const message = createBaseQueryTotalEscrowForDenomRequest();\n message.denom = object.denom ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryTotalEscrowForDenomResponse(): QueryTotalEscrowForDenomResponse {\n return { amount: undefined };\n}\n\nexport const QueryTotalEscrowForDenomResponse: MessageFns<\n QueryTotalEscrowForDenomResponse,\n \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse\" as const,\n\n encode(message: QueryTotalEscrowForDenomResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.amount !== undefined) {\n Coin.encode(message.amount, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryTotalEscrowForDenomResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryTotalEscrowForDenomResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.amount = Coin.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryTotalEscrowForDenomResponse {\n return { amount: isSet(object.amount) ? Coin.fromJSON(object.amount) : undefined };\n },\n\n toJSON(message: QueryTotalEscrowForDenomResponse): unknown {\n const obj: any = {};\n if (message.amount !== undefined) {\n obj.amount = Coin.toJSON(message.amount);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryTotalEscrowForDenomResponse>): QueryTotalEscrowForDenomResponse {\n const message = createBaseQueryTotalEscrowForDenomResponse();\n message.amount = (object.amount !== undefined && object.amount !== null)\n ? Coin.fromPartial(object.amount)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/applications/transfer/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Coin } from \"../../../../cosmos/base/v1beta1/coin.ts\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\nimport { Params } from \"./transfer.ts\";\n\n/**\n * MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between\n * ICS20 enabled chains. See ICS Spec here:\n * https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures\n */\nexport interface MsgTransfer {\n /** the port on which the packet will be sent */\n sourcePort: string;\n /** the channel by which the packet will be sent */\n sourceChannel: string;\n /** token to be transferred */\n token:\n | Coin\n | undefined;\n /** the sender address */\n sender: string;\n /** the recipient address on the destination chain */\n receiver: string;\n /**\n * Timeout height relative to the current block height.\n * If you are sending with IBC v1 protocol, either timeout_height or timeout_timestamp must be set.\n * If you are sending with IBC v2 protocol, timeout_timestamp must be set, and timeout_height must be omitted.\n */\n timeoutHeight:\n | Height\n | undefined;\n /**\n * Timeout timestamp in absolute nanoseconds since unix epoch.\n * If you are sending with IBC v1 protocol, either timeout_height or timeout_timestamp must be set.\n * If you are sending with IBC v2 protocol, timeout_timestamp must be set.\n */\n timeoutTimestamp: Long;\n /** optional memo */\n memo: string;\n /** optional encoding */\n encoding: string;\n}\n\n/** MsgTransferResponse defines the Msg/Transfer response type. */\nexport interface MsgTransferResponse {\n /** sequence number of the transfer packet sent */\n sequence: Long;\n}\n\n/** MsgUpdateParams is the Msg/UpdateParams request type. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the transfer parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/**\n * MsgUpdateParamsResponse defines the response structure for executing a\n * MsgUpdateParams message.\n */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgTransfer(): MsgTransfer {\n return {\n sourcePort: \"\",\n sourceChannel: \"\",\n token: undefined,\n sender: \"\",\n receiver: \"\",\n timeoutHeight: undefined,\n timeoutTimestamp: Long.UZERO,\n memo: \"\",\n encoding: \"\",\n };\n}\n\nexport const MsgTransfer: MessageFns<MsgTransfer, \"ibc.applications.transfer.v1.MsgTransfer\"> = {\n $type: \"ibc.applications.transfer.v1.MsgTransfer\" as const,\n\n encode(message: MsgTransfer, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.sourcePort !== \"\") {\n writer.uint32(10).string(message.sourcePort);\n }\n if (message.sourceChannel !== \"\") {\n writer.uint32(18).string(message.sourceChannel);\n }\n if (message.token !== undefined) {\n Coin.encode(message.token, writer.uint32(26).fork()).join();\n }\n if (message.sender !== \"\") {\n writer.uint32(34).string(message.sender);\n }\n if (message.receiver !== \"\") {\n writer.uint32(42).string(message.receiver);\n }\n if (message.timeoutHeight !== undefined) {\n Height.encode(message.timeoutHeight, writer.uint32(50).fork()).join();\n }\n if (!message.timeoutTimestamp.equals(Long.UZERO)) {\n writer.uint32(56).uint64(message.timeoutTimestamp.toString());\n }\n if (message.memo !== \"\") {\n writer.uint32(66).string(message.memo);\n }\n if (message.encoding !== \"\") {\n writer.uint32(74).string(message.encoding);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTransfer {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTransfer();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.sourcePort = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.sourceChannel = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.token = Coin.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.sender = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.receiver = reader.string();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.timeoutHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.timeoutTimestamp = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.memo = reader.string();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.encoding = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTransfer {\n return {\n sourcePort: isSet(object.source_port) ? globalThis.String(object.source_port) : \"\",\n sourceChannel: isSet(object.source_channel) ? globalThis.String(object.source_channel) : \"\",\n token: isSet(object.token) ? Coin.fromJSON(object.token) : undefined,\n sender: isSet(object.sender) ? globalThis.String(object.sender) : \"\",\n receiver: isSet(object.receiver) ? globalThis.String(object.receiver) : \"\",\n timeoutHeight: isSet(object.timeout_height) ? Height.fromJSON(object.timeout_height) : undefined,\n timeoutTimestamp: isSet(object.timeout_timestamp) ? Long.fromValue(object.timeout_timestamp) : Long.UZERO,\n memo: isSet(object.memo) ? globalThis.String(object.memo) : \"\",\n encoding: isSet(object.encoding) ? globalThis.String(object.encoding) : \"\",\n };\n },\n\n toJSON(message: MsgTransfer): unknown {\n const obj: any = {};\n if (message.sourcePort !== \"\") {\n obj.source_port = message.sourcePort;\n }\n if (message.sourceChannel !== \"\") {\n obj.source_channel = message.sourceChannel;\n }\n if (message.token !== undefined) {\n obj.token = Coin.toJSON(message.token);\n }\n if (message.sender !== \"\") {\n obj.sender = message.sender;\n }\n if (message.receiver !== \"\") {\n obj.receiver = message.receiver;\n }\n if (message.timeoutHeight !== undefined) {\n obj.timeout_height = Height.toJSON(message.timeoutHeight);\n }\n if (!message.timeoutTimestamp.equals(Long.UZERO)) {\n obj.timeout_timestamp = (message.timeoutTimestamp || Long.UZERO).toString();\n }\n if (message.memo !== \"\") {\n obj.memo = message.memo;\n }\n if (message.encoding !== \"\") {\n obj.encoding = message.encoding;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTransfer>): MsgTransfer {\n const message = createBaseMsgTransfer();\n message.sourcePort = object.sourcePort ?? \"\";\n message.sourceChannel = object.sourceChannel ?? \"\";\n message.token = (object.token !== undefined && object.token !== null) ? Coin.fromPartial(object.token) : undefined;\n message.sender = object.sender ?? \"\";\n message.receiver = object.receiver ?? \"\";\n message.timeoutHeight = (object.timeoutHeight !== undefined && object.timeoutHeight !== null)\n ? Height.fromPartial(object.timeoutHeight)\n : undefined;\n message.timeoutTimestamp = (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null)\n ? Long.fromValue(object.timeoutTimestamp)\n : Long.UZERO;\n message.memo = object.memo ?? \"\";\n message.encoding = object.encoding ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTransferResponse(): MsgTransferResponse {\n return { sequence: Long.UZERO };\n}\n\nexport const MsgTransferResponse: MessageFns<MsgTransferResponse, \"ibc.applications.transfer.v1.MsgTransferResponse\"> =\n {\n $type: \"ibc.applications.transfer.v1.MsgTransferResponse\" as const,\n\n encode(message: MsgTransferResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTransferResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTransferResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTransferResponse {\n return { sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO };\n },\n\n toJSON(message: MsgTransferResponse): unknown {\n const obj: any = {};\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTransferResponse>): MsgTransferResponse {\n const message = createBaseMsgTransferResponse();\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n };\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.applications.transfer.v1.MsgUpdateParams\"> = {\n $type: \"ibc.applications.transfer.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.applications.transfer.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.applications.transfer.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/channel/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { IdentifiedChannel, PacketState } from \"./channel.ts\";\n\n/** GenesisState defines the ibc channel submodule's genesis state. */\nexport interface GenesisState {\n channels: IdentifiedChannel[];\n acknowledgements: PacketState[];\n commitments: PacketState[];\n receipts: PacketState[];\n sendSequences: PacketSequence[];\n recvSequences: PacketSequence[];\n ackSequences: PacketSequence[];\n /** the sequence for the next generated channel identifier */\n nextChannelSequence: Long;\n}\n\n/**\n * PacketSequence defines the genesis type necessary to retrieve and store\n * next send and receive sequences.\n */\nexport interface PacketSequence {\n portId: string;\n channelId: string;\n sequence: Long;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n channels: [],\n acknowledgements: [],\n commitments: [],\n receipts: [],\n sendSequences: [],\n recvSequences: [],\n ackSequences: [],\n nextChannelSequence: Long.UZERO,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.channel.v1.GenesisState\"> = {\n $type: \"ibc.core.channel.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.acknowledgements) {\n PacketState.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.commitments) {\n PacketState.encode(v!, writer.uint32(26).fork()).join();\n }\n for (const v of message.receipts) {\n PacketState.encode(v!, writer.uint32(34).fork()).join();\n }\n for (const v of message.sendSequences) {\n PacketSequence.encode(v!, writer.uint32(42).fork()).join();\n }\n for (const v of message.recvSequences) {\n PacketSequence.encode(v!, writer.uint32(50).fork()).join();\n }\n for (const v of message.ackSequences) {\n PacketSequence.encode(v!, writer.uint32(58).fork()).join();\n }\n if (!message.nextChannelSequence.equals(Long.UZERO)) {\n writer.uint32(64).uint64(message.nextChannelSequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.acknowledgements.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.commitments.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.receipts.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.sendSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.recvSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.ackSequences.push(PacketSequence.decode(reader, reader.uint32()));\n continue;\n }\n case 8: {\n if (tag !== 64) {\n break;\n }\n\n message.nextChannelSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n acknowledgements: globalThis.Array.isArray(object?.acknowledgements)\n ? object.acknowledgements.map((e: any) => PacketState.fromJSON(e))\n : [],\n commitments: globalThis.Array.isArray(object?.commitments)\n ? object.commitments.map((e: any) => PacketState.fromJSON(e))\n : [],\n receipts: globalThis.Array.isArray(object?.receipts)\n ? object.receipts.map((e: any) => PacketState.fromJSON(e))\n : [],\n sendSequences: globalThis.Array.isArray(object?.send_sequences)\n ? object.send_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n recvSequences: globalThis.Array.isArray(object?.recv_sequences)\n ? object.recv_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n ackSequences: globalThis.Array.isArray(object?.ack_sequences)\n ? object.ack_sequences.map((e: any) => PacketSequence.fromJSON(e))\n : [],\n nextChannelSequence: isSet(object.next_channel_sequence)\n ? Long.fromValue(object.next_channel_sequence)\n : Long.UZERO,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.acknowledgements?.length) {\n obj.acknowledgements = message.acknowledgements.map((e) => PacketState.toJSON(e));\n }\n if (message.commitments?.length) {\n obj.commitments = message.commitments.map((e) => PacketState.toJSON(e));\n }\n if (message.receipts?.length) {\n obj.receipts = message.receipts.map((e) => PacketState.toJSON(e));\n }\n if (message.sendSequences?.length) {\n obj.send_sequences = message.sendSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (message.recvSequences?.length) {\n obj.recv_sequences = message.recvSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (message.ackSequences?.length) {\n obj.ack_sequences = message.ackSequences.map((e) => PacketSequence.toJSON(e));\n }\n if (!message.nextChannelSequence.equals(Long.UZERO)) {\n obj.next_channel_sequence = (message.nextChannelSequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.acknowledgements = object.acknowledgements?.map((e) => PacketState.fromPartial(e)) || [];\n message.commitments = object.commitments?.map((e) => PacketState.fromPartial(e)) || [];\n message.receipts = object.receipts?.map((e) => PacketState.fromPartial(e)) || [];\n message.sendSequences = object.sendSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.recvSequences = object.recvSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.ackSequences = object.ackSequences?.map((e) => PacketSequence.fromPartial(e)) || [];\n message.nextChannelSequence = (object.nextChannelSequence !== undefined && object.nextChannelSequence !== null)\n ? Long.fromValue(object.nextChannelSequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBasePacketSequence(): PacketSequence {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const PacketSequence: MessageFns<PacketSequence, \"ibc.core.channel.v1.PacketSequence\"> = {\n $type: \"ibc.core.channel.v1.PacketSequence\" as const,\n\n encode(message: PacketSequence, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): PacketSequence {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBasePacketSequence();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): PacketSequence {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: PacketSequence): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<PacketSequence>): PacketSequence {\n const message = createBasePacketSequence();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/channel/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height, IdentifiedClientState } from \"../../client/v1/client.ts\";\nimport { Channel, IdentifiedChannel, PacketState } from \"./channel.ts\";\n\n/** QueryChannelRequest is the request type for the Query/Channel RPC method */\nexport interface QueryChannelRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryChannelResponse is the response type for the Query/Channel RPC method.\n * Besides the Channel end, it includes a proof and the height from which the\n * proof was retrieved.\n */\nexport interface QueryChannelResponse {\n /** channel associated with the request identifiers */\n channel:\n | Channel\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/** QueryChannelsRequest is the request type for the Query/Channels RPC method */\nexport interface QueryChannelsRequest {\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/** QueryChannelsResponse is the response type for the Query/Channels RPC method. */\nexport interface QueryChannelsResponse {\n /** list of stored channels of the chain. */\n channels: IdentifiedChannel[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryConnectionChannelsRequest is the request type for the\n * Query/QueryConnectionChannels RPC method\n */\nexport interface QueryConnectionChannelsRequest {\n /** connection unique identifier */\n connection: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConnectionChannelsResponse is the Response type for the\n * Query/QueryConnectionChannels RPC method\n */\nexport interface QueryConnectionChannelsResponse {\n /** list of channels associated with a connection. */\n channels: IdentifiedChannel[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryChannelClientStateRequest is the request type for the Query/ClientState\n * RPC method\n */\nexport interface QueryChannelClientStateRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryChannelClientStateResponse is the Response type for the\n * Query/QueryChannelClientState RPC method\n */\nexport interface QueryChannelClientStateResponse {\n /** client state associated with the channel */\n identifiedClientState:\n | IdentifiedClientState\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryChannelConsensusStateRequest is the request type for the\n * Query/ConsensusState RPC method\n */\nexport interface QueryChannelConsensusStateRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** revision number of the consensus state */\n revisionNumber: Long;\n /** revision height of the consensus state */\n revisionHeight: Long;\n}\n\n/**\n * QueryChannelClientStateResponse is the Response type for the\n * Query/QueryChannelClientState RPC method\n */\nexport interface QueryChannelConsensusStateResponse {\n /** consensus state associated with the channel */\n consensusState:\n | Any\n | undefined;\n /** client ID associated with the consensus state */\n clientId: string;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketCommitmentRequest is the request type for the\n * Query/PacketCommitment RPC method\n */\nexport interface QueryPacketCommitmentRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketCommitmentResponse defines the client query response for a packet\n * which also includes a proof and the height from which the proof was\n * retrieved\n */\nexport interface QueryPacketCommitmentResponse {\n /** packet associated with the request fields */\n commitment: Uint8Array;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketCommitmentsRequest is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketCommitmentsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryPacketCommitmentsResponse is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketCommitmentsResponse {\n commitments: PacketState[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryPacketReceiptRequest is the request type for the\n * Query/PacketReceipt RPC method\n */\nexport interface QueryPacketReceiptRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketReceiptResponse defines the client query response for a packet\n * receipt which also includes a proof, and the height from which the proof was\n * retrieved\n */\nexport interface QueryPacketReceiptResponse {\n /** success flag for if receipt exists */\n received: boolean;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketAcknowledgementRequest is the request type for the\n * Query/PacketAcknowledgement RPC method\n */\nexport interface QueryPacketAcknowledgementRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** packet sequence */\n sequence: Long;\n}\n\n/**\n * QueryPacketAcknowledgementResponse defines the client query response for a\n * packet which also includes a proof and the height from which the\n * proof was retrieved\n */\nexport interface QueryPacketAcknowledgementResponse {\n /** packet associated with the request fields */\n acknowledgement: Uint8Array;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryPacketAcknowledgementsRequest is the request type for the\n * Query/QueryPacketCommitments RPC method\n */\nexport interface QueryPacketAcknowledgementsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** pagination request */\n pagination:\n | PageRequest\n | undefined;\n /** list of packet sequences */\n packetCommitmentSequences: Long[];\n}\n\n/**\n * QueryPacketAcknowledgemetsResponse is the request type for the\n * Query/QueryPacketAcknowledgements RPC method\n */\nexport interface QueryPacketAcknowledgementsResponse {\n acknowledgements: PacketState[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryUnreceivedPacketsRequest is the request type for the\n * Query/UnreceivedPackets RPC method\n */\nexport interface QueryUnreceivedPacketsRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** list of packet sequences */\n packetCommitmentSequences: Long[];\n}\n\n/**\n * QueryUnreceivedPacketsResponse is the response type for the\n * Query/UnreceivedPacketCommitments RPC method\n */\nexport interface QueryUnreceivedPacketsResponse {\n /** list of unreceived packet sequences */\n sequences: Long[];\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryUnreceivedAcks is the request type for the\n * Query/UnreceivedAcks RPC method\n */\nexport interface QueryUnreceivedAcksRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n /** list of acknowledgement sequences */\n packetAckSequences: Long[];\n}\n\n/**\n * QueryUnreceivedAcksResponse is the response type for the\n * Query/UnreceivedAcks RPC method\n */\nexport interface QueryUnreceivedAcksResponse {\n /** list of unreceived acknowledgement sequences */\n sequences: Long[];\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryNextSequenceReceiveRequest is the request type for the\n * Query/QueryNextSequenceReceiveRequest RPC method\n */\nexport interface QueryNextSequenceReceiveRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QuerySequenceResponse is the response type for the\n * Query/QueryNextSequenceReceiveResponse RPC method\n */\nexport interface QueryNextSequenceReceiveResponse {\n /** next sequence receive number */\n nextSequenceReceive: Long;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryNextSequenceSendRequest is the request type for the\n * Query/QueryNextSequenceSend RPC method\n */\nexport interface QueryNextSequenceSendRequest {\n /** port unique identifier */\n portId: string;\n /** channel unique identifier */\n channelId: string;\n}\n\n/**\n * QueryNextSequenceSendResponse is the request type for the\n * Query/QueryNextSequenceSend RPC method\n */\nexport interface QueryNextSequenceSendResponse {\n /** next sequence send number */\n nextSequenceSend: Long;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\nfunction createBaseQueryChannelRequest(): QueryChannelRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryChannelRequest: MessageFns<QueryChannelRequest, \"ibc.core.channel.v1.QueryChannelRequest\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelRequest\" as const,\n\n encode(message: QueryChannelRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryChannelRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelRequest>): QueryChannelRequest {\n const message = createBaseQueryChannelRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryChannelResponse(): QueryChannelResponse {\n return { channel: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelResponse: MessageFns<QueryChannelResponse, \"ibc.core.channel.v1.QueryChannelResponse\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelResponse\" as const,\n\n encode(message: QueryChannelResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelResponse {\n return {\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelResponse): unknown {\n const obj: any = {};\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelResponse>): QueryChannelResponse {\n const message = createBaseQueryChannelResponse();\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelsRequest(): QueryChannelsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryChannelsRequest: MessageFns<QueryChannelsRequest, \"ibc.core.channel.v1.QueryChannelsRequest\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelsRequest\" as const,\n\n encode(message: QueryChannelsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryChannelsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelsRequest>): QueryChannelsRequest {\n const message = createBaseQueryChannelsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelsResponse(): QueryChannelsResponse {\n return { channels: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryChannelsResponse: MessageFns<QueryChannelsResponse, \"ibc.core.channel.v1.QueryChannelsResponse\"> = {\n $type: \"ibc.core.channel.v1.QueryChannelsResponse\" as const,\n\n encode(message: QueryChannelsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelsResponse {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelsResponse): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelsResponse>): QueryChannelsResponse {\n const message = createBaseQueryChannelsResponse();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionChannelsRequest(): QueryConnectionChannelsRequest {\n return { connection: \"\", pagination: undefined };\n}\n\nexport const QueryConnectionChannelsRequest: MessageFns<\n QueryConnectionChannelsRequest,\n \"ibc.core.channel.v1.QueryConnectionChannelsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryConnectionChannelsRequest\" as const,\n\n encode(message: QueryConnectionChannelsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connection !== \"\") {\n writer.uint32(10).string(message.connection);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionChannelsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionChannelsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connection = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionChannelsRequest {\n return {\n connection: isSet(object.connection) ? globalThis.String(object.connection) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionChannelsRequest): unknown {\n const obj: any = {};\n if (message.connection !== \"\") {\n obj.connection = message.connection;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionChannelsRequest>): QueryConnectionChannelsRequest {\n const message = createBaseQueryConnectionChannelsRequest();\n message.connection = object.connection ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionChannelsResponse(): QueryConnectionChannelsResponse {\n return { channels: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryConnectionChannelsResponse: MessageFns<\n QueryConnectionChannelsResponse,\n \"ibc.core.channel.v1.QueryConnectionChannelsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryConnectionChannelsResponse\" as const,\n\n encode(message: QueryConnectionChannelsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.channels) {\n IdentifiedChannel.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionChannelsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionChannelsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channels.push(IdentifiedChannel.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionChannelsResponse {\n return {\n channels: globalThis.Array.isArray(object?.channels)\n ? object.channels.map((e: any) => IdentifiedChannel.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionChannelsResponse): unknown {\n const obj: any = {};\n if (message.channels?.length) {\n obj.channels = message.channels.map((e) => IdentifiedChannel.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionChannelsResponse>): QueryConnectionChannelsResponse {\n const message = createBaseQueryConnectionChannelsResponse();\n message.channels = object.channels?.map((e) => IdentifiedChannel.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelClientStateRequest(): QueryChannelClientStateRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryChannelClientStateRequest: MessageFns<\n QueryChannelClientStateRequest,\n \"ibc.core.channel.v1.QueryChannelClientStateRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelClientStateRequest\" as const,\n\n encode(message: QueryChannelClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelClientStateRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryChannelClientStateRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelClientStateRequest>): QueryChannelClientStateRequest {\n const message = createBaseQueryChannelClientStateRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryChannelClientStateResponse(): QueryChannelClientStateResponse {\n return { identifiedClientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelClientStateResponse: MessageFns<\n QueryChannelClientStateResponse,\n \"ibc.core.channel.v1.QueryChannelClientStateResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelClientStateResponse\" as const,\n\n encode(message: QueryChannelClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.identifiedClientState !== undefined) {\n IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.identifiedClientState = IdentifiedClientState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelClientStateResponse {\n return {\n identifiedClientState: isSet(object.identified_client_state)\n ? IdentifiedClientState.fromJSON(object.identified_client_state)\n : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelClientStateResponse): unknown {\n const obj: any = {};\n if (message.identifiedClientState !== undefined) {\n obj.identified_client_state = IdentifiedClientState.toJSON(message.identifiedClientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelClientStateResponse>): QueryChannelClientStateResponse {\n const message = createBaseQueryChannelClientStateResponse();\n message.identifiedClientState =\n (object.identifiedClientState !== undefined && object.identifiedClientState !== null)\n ? IdentifiedClientState.fromPartial(object.identifiedClientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChannelConsensusStateRequest(): QueryChannelConsensusStateRequest {\n return { portId: \"\", channelId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO };\n}\n\nexport const QueryChannelConsensusStateRequest: MessageFns<\n QueryChannelConsensusStateRequest,\n \"ibc.core.channel.v1.QueryChannelConsensusStateRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelConsensusStateRequest\" as const,\n\n encode(message: QueryChannelConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.revisionHeight.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelConsensusStateRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryChannelConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelConsensusStateRequest>): QueryChannelConsensusStateRequest {\n const message = createBaseQueryChannelConsensusStateRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryChannelConsensusStateResponse(): QueryChannelConsensusStateResponse {\n return { consensusState: undefined, clientId: \"\", proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryChannelConsensusStateResponse: MessageFns<\n QueryChannelConsensusStateResponse,\n \"ibc.core.channel.v1.QueryChannelConsensusStateResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryChannelConsensusStateResponse\" as const,\n\n encode(message: QueryChannelConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChannelConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChannelConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChannelConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryChannelConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChannelConsensusStateResponse>): QueryChannelConsensusStateResponse {\n const message = createBaseQueryChannelConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentRequest(): QueryPacketCommitmentRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketCommitmentRequest: MessageFns<\n QueryPacketCommitmentRequest,\n \"ibc.core.channel.v1.QueryPacketCommitmentRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentRequest\" as const,\n\n encode(message: QueryPacketCommitmentRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketCommitmentRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentRequest>): QueryPacketCommitmentRequest {\n const message = createBaseQueryPacketCommitmentRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentResponse(): QueryPacketCommitmentResponse {\n return { commitment: new Uint8Array(0), proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketCommitmentResponse: MessageFns<\n QueryPacketCommitmentResponse,\n \"ibc.core.channel.v1.QueryPacketCommitmentResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentResponse\" as const,\n\n encode(message: QueryPacketCommitmentResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.commitment.length !== 0) {\n writer.uint32(10).bytes(message.commitment);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.commitment = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentResponse {\n return {\n commitment: isSet(object.commitment) ? bytesFromBase64(object.commitment) : new Uint8Array(0),\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentResponse): unknown {\n const obj: any = {};\n if (message.commitment.length !== 0) {\n obj.commitment = base64FromBytes(message.commitment);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentResponse>): QueryPacketCommitmentResponse {\n const message = createBaseQueryPacketCommitmentResponse();\n message.commitment = object.commitment ?? new Uint8Array(0);\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentsRequest(): QueryPacketCommitmentsRequest {\n return { portId: \"\", channelId: \"\", pagination: undefined };\n}\n\nexport const QueryPacketCommitmentsRequest: MessageFns<\n QueryPacketCommitmentsRequest,\n \"ibc.core.channel.v1.QueryPacketCommitmentsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentsRequest\" as const,\n\n encode(message: QueryPacketCommitmentsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentsRequest>): QueryPacketCommitmentsRequest {\n const message = createBaseQueryPacketCommitmentsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketCommitmentsResponse(): QueryPacketCommitmentsResponse {\n return { commitments: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryPacketCommitmentsResponse: MessageFns<\n QueryPacketCommitmentsResponse,\n \"ibc.core.channel.v1.QueryPacketCommitmentsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketCommitmentsResponse\" as const,\n\n encode(message: QueryPacketCommitmentsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.commitments) {\n PacketState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketCommitmentsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketCommitmentsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.commitments.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketCommitmentsResponse {\n return {\n commitments: globalThis.Array.isArray(object?.commitments)\n ? object.commitments.map((e: any) => PacketState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketCommitmentsResponse): unknown {\n const obj: any = {};\n if (message.commitments?.length) {\n obj.commitments = message.commitments.map((e) => PacketState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketCommitmentsResponse>): QueryPacketCommitmentsResponse {\n const message = createBaseQueryPacketCommitmentsResponse();\n message.commitments = object.commitments?.map((e) => PacketState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketReceiptRequest(): QueryPacketReceiptRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketReceiptRequest: MessageFns<\n QueryPacketReceiptRequest,\n \"ibc.core.channel.v1.QueryPacketReceiptRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketReceiptRequest\" as const,\n\n encode(message: QueryPacketReceiptRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketReceiptRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketReceiptRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketReceiptRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketReceiptRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketReceiptRequest>): QueryPacketReceiptRequest {\n const message = createBaseQueryPacketReceiptRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketReceiptResponse(): QueryPacketReceiptResponse {\n return { received: false, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketReceiptResponse: MessageFns<\n QueryPacketReceiptResponse,\n \"ibc.core.channel.v1.QueryPacketReceiptResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketReceiptResponse\" as const,\n\n encode(message: QueryPacketReceiptResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.received !== false) {\n writer.uint32(16).bool(message.received);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketReceiptResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketReceiptResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.received = reader.bool();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketReceiptResponse {\n return {\n received: isSet(object.received) ? globalThis.Boolean(object.received) : false,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketReceiptResponse): unknown {\n const obj: any = {};\n if (message.received !== false) {\n obj.received = message.received;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketReceiptResponse>): QueryPacketReceiptResponse {\n const message = createBaseQueryPacketReceiptResponse();\n message.received = object.received ?? false;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementRequest(): QueryPacketAcknowledgementRequest {\n return { portId: \"\", channelId: \"\", sequence: Long.UZERO };\n}\n\nexport const QueryPacketAcknowledgementRequest: MessageFns<\n QueryPacketAcknowledgementRequest,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementRequest\" as const,\n\n encode(message: QueryPacketAcknowledgementRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (!message.sequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.sequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.sequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (!message.sequence.equals(Long.UZERO)) {\n obj.sequence = (message.sequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementRequest>): QueryPacketAcknowledgementRequest {\n const message = createBaseQueryPacketAcknowledgementRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.sequence = (object.sequence !== undefined && object.sequence !== null)\n ? Long.fromValue(object.sequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementResponse(): QueryPacketAcknowledgementResponse {\n return { acknowledgement: new Uint8Array(0), proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryPacketAcknowledgementResponse: MessageFns<\n QueryPacketAcknowledgementResponse,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementResponse\" as const,\n\n encode(message: QueryPacketAcknowledgementResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.acknowledgement.length !== 0) {\n writer.uint32(10).bytes(message.acknowledgement);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.acknowledgement = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementResponse {\n return {\n acknowledgement: isSet(object.acknowledgement) ? bytesFromBase64(object.acknowledgement) : new Uint8Array(0),\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementResponse): unknown {\n const obj: any = {};\n if (message.acknowledgement.length !== 0) {\n obj.acknowledgement = base64FromBytes(message.acknowledgement);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementResponse>): QueryPacketAcknowledgementResponse {\n const message = createBaseQueryPacketAcknowledgementResponse();\n message.acknowledgement = object.acknowledgement ?? new Uint8Array(0);\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementsRequest(): QueryPacketAcknowledgementsRequest {\n return { portId: \"\", channelId: \"\", pagination: undefined, packetCommitmentSequences: [] };\n}\n\nexport const QueryPacketAcknowledgementsRequest: MessageFns<\n QueryPacketAcknowledgementsRequest,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementsRequest\" as const,\n\n encode(message: QueryPacketAcknowledgementsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(26).fork()).join();\n }\n writer.uint32(34).fork();\n for (const v of message.packetCommitmentSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag === 32) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 34) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n packetCommitmentSequences: globalThis.Array.isArray(object?.packet_commitment_sequences)\n ? object.packet_commitment_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n if (message.packetCommitmentSequences?.length) {\n obj.packet_commitment_sequences = message.packetCommitmentSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementsRequest>): QueryPacketAcknowledgementsRequest {\n const message = createBaseQueryPacketAcknowledgementsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n message.packetCommitmentSequences = object.packetCommitmentSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryPacketAcknowledgementsResponse(): QueryPacketAcknowledgementsResponse {\n return { acknowledgements: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryPacketAcknowledgementsResponse: MessageFns<\n QueryPacketAcknowledgementsResponse,\n \"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryPacketAcknowledgementsResponse\" as const,\n\n encode(message: QueryPacketAcknowledgementsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.acknowledgements) {\n PacketState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryPacketAcknowledgementsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryPacketAcknowledgementsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.acknowledgements.push(PacketState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryPacketAcknowledgementsResponse {\n return {\n acknowledgements: globalThis.Array.isArray(object?.acknowledgements)\n ? object.acknowledgements.map((e: any) => PacketState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryPacketAcknowledgementsResponse): unknown {\n const obj: any = {};\n if (message.acknowledgements?.length) {\n obj.acknowledgements = message.acknowledgements.map((e) => PacketState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryPacketAcknowledgementsResponse>): QueryPacketAcknowledgementsResponse {\n const message = createBaseQueryPacketAcknowledgementsResponse();\n message.acknowledgements = object.acknowledgements?.map((e) => PacketState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedPacketsRequest(): QueryUnreceivedPacketsRequest {\n return { portId: \"\", channelId: \"\", packetCommitmentSequences: [] };\n}\n\nexport const QueryUnreceivedPacketsRequest: MessageFns<\n QueryUnreceivedPacketsRequest,\n \"ibc.core.channel.v1.QueryUnreceivedPacketsRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedPacketsRequest\" as const,\n\n encode(message: QueryUnreceivedPacketsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n writer.uint32(26).fork();\n for (const v of message.packetCommitmentSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedPacketsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedPacketsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag === 24) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 26) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetCommitmentSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedPacketsRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n packetCommitmentSequences: globalThis.Array.isArray(object?.packet_commitment_sequences)\n ? object.packet_commitment_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryUnreceivedPacketsRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.packetCommitmentSequences?.length) {\n obj.packet_commitment_sequences = message.packetCommitmentSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedPacketsRequest>): QueryUnreceivedPacketsRequest {\n const message = createBaseQueryUnreceivedPacketsRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.packetCommitmentSequences = object.packetCommitmentSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedPacketsResponse(): QueryUnreceivedPacketsResponse {\n return { sequences: [], height: undefined };\n}\n\nexport const QueryUnreceivedPacketsResponse: MessageFns<\n QueryUnreceivedPacketsResponse,\n \"ibc.core.channel.v1.QueryUnreceivedPacketsResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedPacketsResponse\" as const,\n\n encode(message: QueryUnreceivedPacketsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n writer.uint32(10).fork();\n for (const v of message.sequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedPacketsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedPacketsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag === 8) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedPacketsResponse {\n return {\n sequences: globalThis.Array.isArray(object?.sequences) ? object.sequences.map((e: any) => Long.fromValue(e)) : [],\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryUnreceivedPacketsResponse): unknown {\n const obj: any = {};\n if (message.sequences?.length) {\n obj.sequences = message.sequences.map((e) => (e || Long.UZERO).toString());\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedPacketsResponse>): QueryUnreceivedPacketsResponse {\n const message = createBaseQueryUnreceivedPacketsResponse();\n message.sequences = object.sequences?.map((e) => Long.fromValue(e)) || [];\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedAcksRequest(): QueryUnreceivedAcksRequest {\n return { portId: \"\", channelId: \"\", packetAckSequences: [] };\n}\n\nexport const QueryUnreceivedAcksRequest: MessageFns<\n QueryUnreceivedAcksRequest,\n \"ibc.core.channel.v1.QueryUnreceivedAcksRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedAcksRequest\" as const,\n\n encode(message: QueryUnreceivedAcksRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n writer.uint32(26).fork();\n for (const v of message.packetAckSequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedAcksRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedAcksRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag === 24) {\n message.packetAckSequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 26) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.packetAckSequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedAcksRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n packetAckSequences: globalThis.Array.isArray(object?.packet_ack_sequences)\n ? object.packet_ack_sequences.map((e: any) => Long.fromValue(e))\n : [],\n };\n },\n\n toJSON(message: QueryUnreceivedAcksRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.packetAckSequences?.length) {\n obj.packet_ack_sequences = message.packetAckSequences.map((e) => (e || Long.UZERO).toString());\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedAcksRequest>): QueryUnreceivedAcksRequest {\n const message = createBaseQueryUnreceivedAcksRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.packetAckSequences = object.packetAckSequences?.map((e) => Long.fromValue(e)) || [];\n return message;\n },\n};\n\nfunction createBaseQueryUnreceivedAcksResponse(): QueryUnreceivedAcksResponse {\n return { sequences: [], height: undefined };\n}\n\nexport const QueryUnreceivedAcksResponse: MessageFns<\n QueryUnreceivedAcksResponse,\n \"ibc.core.channel.v1.QueryUnreceivedAcksResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryUnreceivedAcksResponse\" as const,\n\n encode(message: QueryUnreceivedAcksResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n writer.uint32(10).fork();\n for (const v of message.sequences) {\n writer.uint64(v.toString());\n }\n writer.join();\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUnreceivedAcksResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUnreceivedAcksResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag === 8) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n\n continue;\n }\n\n if (tag === 10) {\n const end2 = reader.uint32() + reader.pos;\n while (reader.pos < end2) {\n message.sequences.push(Long.fromString(reader.uint64().toString(), true));\n }\n\n continue;\n }\n\n break;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUnreceivedAcksResponse {\n return {\n sequences: globalThis.Array.isArray(object?.sequences) ? object.sequences.map((e: any) => Long.fromValue(e)) : [],\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryUnreceivedAcksResponse): unknown {\n const obj: any = {};\n if (message.sequences?.length) {\n obj.sequences = message.sequences.map((e) => (e || Long.UZERO).toString());\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUnreceivedAcksResponse>): QueryUnreceivedAcksResponse {\n const message = createBaseQueryUnreceivedAcksResponse();\n message.sequences = object.sequences?.map((e) => Long.fromValue(e)) || [];\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceReceiveRequest(): QueryNextSequenceReceiveRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryNextSequenceReceiveRequest: MessageFns<\n QueryNextSequenceReceiveRequest,\n \"ibc.core.channel.v1.QueryNextSequenceReceiveRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceReceiveRequest\" as const,\n\n encode(message: QueryNextSequenceReceiveRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceReceiveRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceReceiveRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceReceiveRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryNextSequenceReceiveRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceReceiveRequest>): QueryNextSequenceReceiveRequest {\n const message = createBaseQueryNextSequenceReceiveRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceReceiveResponse(): QueryNextSequenceReceiveResponse {\n return { nextSequenceReceive: Long.UZERO, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryNextSequenceReceiveResponse: MessageFns<\n QueryNextSequenceReceiveResponse,\n \"ibc.core.channel.v1.QueryNextSequenceReceiveResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceReceiveResponse\" as const,\n\n encode(message: QueryNextSequenceReceiveResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.nextSequenceReceive.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.nextSequenceReceive.toString());\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceReceiveResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceReceiveResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.nextSequenceReceive = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceReceiveResponse {\n return {\n nextSequenceReceive: isSet(object.next_sequence_receive)\n ? Long.fromValue(object.next_sequence_receive)\n : Long.UZERO,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryNextSequenceReceiveResponse): unknown {\n const obj: any = {};\n if (!message.nextSequenceReceive.equals(Long.UZERO)) {\n obj.next_sequence_receive = (message.nextSequenceReceive || Long.UZERO).toString();\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceReceiveResponse>): QueryNextSequenceReceiveResponse {\n const message = createBaseQueryNextSequenceReceiveResponse();\n message.nextSequenceReceive = (object.nextSequenceReceive !== undefined && object.nextSequenceReceive !== null)\n ? Long.fromValue(object.nextSequenceReceive)\n : Long.UZERO;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceSendRequest(): QueryNextSequenceSendRequest {\n return { portId: \"\", channelId: \"\" };\n}\n\nexport const QueryNextSequenceSendRequest: MessageFns<\n QueryNextSequenceSendRequest,\n \"ibc.core.channel.v1.QueryNextSequenceSendRequest\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceSendRequest\" as const,\n\n encode(message: QueryNextSequenceSendRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceSendRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceSendRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceSendRequest {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: QueryNextSequenceSendRequest): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceSendRequest>): QueryNextSequenceSendRequest {\n const message = createBaseQueryNextSequenceSendRequest();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryNextSequenceSendResponse(): QueryNextSequenceSendResponse {\n return { nextSequenceSend: Long.UZERO, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryNextSequenceSendResponse: MessageFns<\n QueryNextSequenceSendResponse,\n \"ibc.core.channel.v1.QueryNextSequenceSendResponse\"\n> = {\n $type: \"ibc.core.channel.v1.QueryNextSequenceSendResponse\" as const,\n\n encode(message: QueryNextSequenceSendResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.nextSequenceSend.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.nextSequenceSend.toString());\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryNextSequenceSendResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryNextSequenceSendResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.nextSequenceSend = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryNextSequenceSendResponse {\n return {\n nextSequenceSend: isSet(object.next_sequence_send) ? Long.fromValue(object.next_sequence_send) : Long.UZERO,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryNextSequenceSendResponse): unknown {\n const obj: any = {};\n if (!message.nextSequenceSend.equals(Long.UZERO)) {\n obj.next_sequence_send = (message.nextSequenceSend || Long.UZERO).toString();\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryNextSequenceSendResponse>): QueryNextSequenceSendResponse {\n const message = createBaseQueryNextSequenceSendResponse();\n message.nextSequenceSend = (object.nextSequenceSend !== undefined && object.nextSequenceSend !== null)\n ? Long.fromValue(object.nextSequenceSend)\n : Long.UZERO;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/channel/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Height } from \"../../client/v1/client.ts\";\nimport { Channel, Packet } from \"./channel.ts\";\n\n/** ResponseResultType defines the possible outcomes of the execution of a message */\nexport enum ResponseResultType {\n /** RESPONSE_RESULT_TYPE_UNSPECIFIED - Default zero value enumeration */\n RESPONSE_RESULT_TYPE_UNSPECIFIED = 0,\n /** RESPONSE_RESULT_TYPE_NOOP - The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) */\n RESPONSE_RESULT_TYPE_NOOP = 1,\n /** RESPONSE_RESULT_TYPE_SUCCESS - The message was executed successfully */\n RESPONSE_RESULT_TYPE_SUCCESS = 2,\n /** RESPONSE_RESULT_TYPE_FAILURE - The message was executed unsuccessfully */\n RESPONSE_RESULT_TYPE_FAILURE = 3,\n UNRECOGNIZED = -1,\n}\n\nexport function responseResultTypeFromJSON(object: any): ResponseResultType {\n switch (object) {\n case 0:\n case \"RESPONSE_RESULT_TYPE_UNSPECIFIED\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_UNSPECIFIED;\n case 1:\n case \"RESPONSE_RESULT_TYPE_NOOP\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_NOOP;\n case 2:\n case \"RESPONSE_RESULT_TYPE_SUCCESS\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_SUCCESS;\n case 3:\n case \"RESPONSE_RESULT_TYPE_FAILURE\":\n return ResponseResultType.RESPONSE_RESULT_TYPE_FAILURE;\n case -1:\n case \"UNRECOGNIZED\":\n default:\n return ResponseResultType.UNRECOGNIZED;\n }\n}\n\nexport function responseResultTypeToJSON(object: ResponseResultType): string {\n switch (object) {\n case ResponseResultType.RESPONSE_RESULT_TYPE_UNSPECIFIED:\n return \"RESPONSE_RESULT_TYPE_UNSPECIFIED\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_NOOP:\n return \"RESPONSE_RESULT_TYPE_NOOP\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_SUCCESS:\n return \"RESPONSE_RESULT_TYPE_SUCCESS\";\n case ResponseResultType.RESPONSE_RESULT_TYPE_FAILURE:\n return \"RESPONSE_RESULT_TYPE_FAILURE\";\n case ResponseResultType.UNRECOGNIZED:\n default:\n return \"UNRECOGNIZED\";\n }\n}\n\n/**\n * MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It\n * is called by a relayer on Chain A.\n */\nexport interface MsgChannelOpenInit {\n portId: string;\n channel: Channel | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. */\nexport interface MsgChannelOpenInitResponse {\n channelId: string;\n version: string;\n}\n\n/**\n * MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel\n * on Chain B. The version field within the Channel field has been deprecated. Its\n * value will be ignored by core IBC.\n */\nexport interface MsgChannelOpenTry {\n portId: string;\n /**\n * Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC.\n *\n * @deprecated\n */\n previousChannelId: string;\n /** NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. */\n channel: Channel | undefined;\n counterpartyVersion: string;\n proofInit: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. */\nexport interface MsgChannelOpenTryResponse {\n version: string;\n channelId: string;\n}\n\n/**\n * MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge\n * the change of channel state to TRYOPEN on Chain B.\n */\nexport interface MsgChannelOpenAck {\n portId: string;\n channelId: string;\n counterpartyChannelId: string;\n counterpartyVersion: string;\n proofTry: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. */\nexport interface MsgChannelOpenAckResponse {\n}\n\n/**\n * MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to\n * acknowledge the change of channel state to OPEN on Chain A.\n */\nexport interface MsgChannelOpenConfirm {\n portId: string;\n channelId: string;\n proofAck: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response\n * type.\n */\nexport interface MsgChannelOpenConfirmResponse {\n}\n\n/**\n * MsgChannelCloseInit defines a msg sent by a Relayer to Chain A\n * to close a channel with Chain B.\n */\nexport interface MsgChannelCloseInit {\n portId: string;\n channelId: string;\n signer: string;\n}\n\n/** MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. */\nexport interface MsgChannelCloseInitResponse {\n}\n\n/**\n * MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B\n * to acknowledge the change of channel state to CLOSED on Chain A.\n */\nexport interface MsgChannelCloseConfirm {\n portId: string;\n channelId: string;\n proofInit: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response\n * type.\n */\nexport interface MsgChannelCloseConfirmResponse {\n}\n\n/** MsgRecvPacket receives incoming IBC packet */\nexport interface MsgRecvPacket {\n packet: Packet | undefined;\n proofCommitment: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgRecvPacketResponse defines the Msg/RecvPacket response type. */\nexport interface MsgRecvPacketResponse {\n result: ResponseResultType;\n}\n\n/** MsgTimeout receives timed-out packet */\nexport interface MsgTimeout {\n packet: Packet | undefined;\n proofUnreceived: Uint8Array;\n proofHeight: Height | undefined;\n nextSequenceRecv: Long;\n signer: string;\n}\n\n/** MsgTimeoutResponse defines the Msg/Timeout response type. */\nexport interface MsgTimeoutResponse {\n result: ResponseResultType;\n}\n\n/** MsgTimeoutOnClose timed-out packet upon counterparty channel closure. */\nexport interface MsgTimeoutOnClose {\n packet: Packet | undefined;\n proofUnreceived: Uint8Array;\n proofClose: Uint8Array;\n proofHeight: Height | undefined;\n nextSequenceRecv: Long;\n signer: string;\n}\n\n/** MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. */\nexport interface MsgTimeoutOnCloseResponse {\n result: ResponseResultType;\n}\n\n/** MsgAcknowledgement receives incoming IBC acknowledgement */\nexport interface MsgAcknowledgement {\n packet: Packet | undefined;\n acknowledgement: Uint8Array;\n proofAcked: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/** MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. */\nexport interface MsgAcknowledgementResponse {\n result: ResponseResultType;\n}\n\nfunction createBaseMsgChannelOpenInit(): MsgChannelOpenInit {\n return { portId: \"\", channel: undefined, signer: \"\" };\n}\n\nexport const MsgChannelOpenInit: MessageFns<MsgChannelOpenInit, \"ibc.core.channel.v1.MsgChannelOpenInit\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenInit\" as const,\n\n encode(message: MsgChannelOpenInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenInit {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenInit): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenInit>): MsgChannelOpenInit {\n const message = createBaseMsgChannelOpenInit();\n message.portId = object.portId ?? \"\";\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenInitResponse(): MsgChannelOpenInitResponse {\n return { channelId: \"\", version: \"\" };\n}\n\nexport const MsgChannelOpenInitResponse: MessageFns<\n MsgChannelOpenInitResponse,\n \"ibc.core.channel.v1.MsgChannelOpenInitResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenInitResponse\" as const,\n\n encode(message: MsgChannelOpenInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.channelId !== \"\") {\n writer.uint32(10).string(message.channelId);\n }\n if (message.version !== \"\") {\n writer.uint32(18).string(message.version);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenInitResponse {\n return {\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenInitResponse): unknown {\n const obj: any = {};\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenInitResponse>): MsgChannelOpenInitResponse {\n const message = createBaseMsgChannelOpenInitResponse();\n message.channelId = object.channelId ?? \"\";\n message.version = object.version ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenTry(): MsgChannelOpenTry {\n return {\n portId: \"\",\n previousChannelId: \"\",\n channel: undefined,\n counterpartyVersion: \"\",\n proofInit: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgChannelOpenTry: MessageFns<MsgChannelOpenTry, \"ibc.core.channel.v1.MsgChannelOpenTry\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenTry\" as const,\n\n encode(message: MsgChannelOpenTry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.previousChannelId !== \"\") {\n writer.uint32(18).string(message.previousChannelId);\n }\n if (message.channel !== undefined) {\n Channel.encode(message.channel, writer.uint32(26).fork()).join();\n }\n if (message.counterpartyVersion !== \"\") {\n writer.uint32(34).string(message.counterpartyVersion);\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(42).bytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(50).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(58).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenTry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenTry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.previousChannelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channel = Channel.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterpartyVersion = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenTry {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n previousChannelId: isSet(object.previous_channel_id) ? globalThis.String(object.previous_channel_id) : \"\",\n channel: isSet(object.channel) ? Channel.fromJSON(object.channel) : undefined,\n counterpartyVersion: isSet(object.counterparty_version) ? globalThis.String(object.counterparty_version) : \"\",\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenTry): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.previousChannelId !== \"\") {\n obj.previous_channel_id = message.previousChannelId;\n }\n if (message.channel !== undefined) {\n obj.channel = Channel.toJSON(message.channel);\n }\n if (message.counterpartyVersion !== \"\") {\n obj.counterparty_version = message.counterpartyVersion;\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenTry>): MsgChannelOpenTry {\n const message = createBaseMsgChannelOpenTry();\n message.portId = object.portId ?? \"\";\n message.previousChannelId = object.previousChannelId ?? \"\";\n message.channel = (object.channel !== undefined && object.channel !== null)\n ? Channel.fromPartial(object.channel)\n : undefined;\n message.counterpartyVersion = object.counterpartyVersion ?? \"\";\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenTryResponse(): MsgChannelOpenTryResponse {\n return { version: \"\", channelId: \"\" };\n}\n\nexport const MsgChannelOpenTryResponse: MessageFns<\n MsgChannelOpenTryResponse,\n \"ibc.core.channel.v1.MsgChannelOpenTryResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenTryResponse\" as const,\n\n encode(message: MsgChannelOpenTryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.version !== \"\") {\n writer.uint32(10).string(message.version);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenTryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenTryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.version = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenTryResponse {\n return {\n version: isSet(object.version) ? globalThis.String(object.version) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenTryResponse): unknown {\n const obj: any = {};\n if (message.version !== \"\") {\n obj.version = message.version;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenTryResponse>): MsgChannelOpenTryResponse {\n const message = createBaseMsgChannelOpenTryResponse();\n message.version = object.version ?? \"\";\n message.channelId = object.channelId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenAck(): MsgChannelOpenAck {\n return {\n portId: \"\",\n channelId: \"\",\n counterpartyChannelId: \"\",\n counterpartyVersion: \"\",\n proofTry: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgChannelOpenAck: MessageFns<MsgChannelOpenAck, \"ibc.core.channel.v1.MsgChannelOpenAck\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenAck\" as const,\n\n encode(message: MsgChannelOpenAck, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.counterpartyChannelId !== \"\") {\n writer.uint32(26).string(message.counterpartyChannelId);\n }\n if (message.counterpartyVersion !== \"\") {\n writer.uint32(34).string(message.counterpartyVersion);\n }\n if (message.proofTry.length !== 0) {\n writer.uint32(42).bytes(message.proofTry);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(50).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(58).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenAck {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenAck();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.counterpartyChannelId = reader.string();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterpartyVersion = reader.string();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofTry = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenAck {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n counterpartyChannelId: isSet(object.counterparty_channel_id)\n ? globalThis.String(object.counterparty_channel_id)\n : \"\",\n counterpartyVersion: isSet(object.counterparty_version) ? globalThis.String(object.counterparty_version) : \"\",\n proofTry: isSet(object.proof_try) ? bytesFromBase64(object.proof_try) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenAck): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.counterpartyChannelId !== \"\") {\n obj.counterparty_channel_id = message.counterpartyChannelId;\n }\n if (message.counterpartyVersion !== \"\") {\n obj.counterparty_version = message.counterpartyVersion;\n }\n if (message.proofTry.length !== 0) {\n obj.proof_try = base64FromBytes(message.proofTry);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenAck>): MsgChannelOpenAck {\n const message = createBaseMsgChannelOpenAck();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.counterpartyChannelId = object.counterpartyChannelId ?? \"\";\n message.counterpartyVersion = object.counterpartyVersion ?? \"\";\n message.proofTry = object.proofTry ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenAckResponse(): MsgChannelOpenAckResponse {\n return {};\n}\n\nexport const MsgChannelOpenAckResponse: MessageFns<\n MsgChannelOpenAckResponse,\n \"ibc.core.channel.v1.MsgChannelOpenAckResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenAckResponse\" as const,\n\n encode(_: MsgChannelOpenAckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenAckResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenAckResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelOpenAckResponse {\n return {};\n },\n\n toJSON(_: MsgChannelOpenAckResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelOpenAckResponse>): MsgChannelOpenAckResponse {\n const message = createBaseMsgChannelOpenAckResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenConfirm(): MsgChannelOpenConfirm {\n return { portId: \"\", channelId: \"\", proofAck: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgChannelOpenConfirm: MessageFns<MsgChannelOpenConfirm, \"ibc.core.channel.v1.MsgChannelOpenConfirm\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenConfirm\" as const,\n\n encode(message: MsgChannelOpenConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.proofAck.length !== 0) {\n writer.uint32(26).bytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofAck = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelOpenConfirm {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n proofAck: isSet(object.proof_ack) ? bytesFromBase64(object.proof_ack) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelOpenConfirm): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.proofAck.length !== 0) {\n obj.proof_ack = base64FromBytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelOpenConfirm>): MsgChannelOpenConfirm {\n const message = createBaseMsgChannelOpenConfirm();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.proofAck = object.proofAck ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelOpenConfirmResponse(): MsgChannelOpenConfirmResponse {\n return {};\n}\n\nexport const MsgChannelOpenConfirmResponse: MessageFns<\n MsgChannelOpenConfirmResponse,\n \"ibc.core.channel.v1.MsgChannelOpenConfirmResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelOpenConfirmResponse\" as const,\n\n encode(_: MsgChannelOpenConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelOpenConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelOpenConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelOpenConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgChannelOpenConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelOpenConfirmResponse>): MsgChannelOpenConfirmResponse {\n const message = createBaseMsgChannelOpenConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseInit(): MsgChannelCloseInit {\n return { portId: \"\", channelId: \"\", signer: \"\" };\n}\n\nexport const MsgChannelCloseInit: MessageFns<MsgChannelCloseInit, \"ibc.core.channel.v1.MsgChannelCloseInit\"> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseInit\" as const,\n\n encode(message: MsgChannelCloseInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelCloseInit {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelCloseInit): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelCloseInit>): MsgChannelCloseInit {\n const message = createBaseMsgChannelCloseInit();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseInitResponse(): MsgChannelCloseInitResponse {\n return {};\n}\n\nexport const MsgChannelCloseInitResponse: MessageFns<\n MsgChannelCloseInitResponse,\n \"ibc.core.channel.v1.MsgChannelCloseInitResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseInitResponse\" as const,\n\n encode(_: MsgChannelCloseInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelCloseInitResponse {\n return {};\n },\n\n toJSON(_: MsgChannelCloseInitResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelCloseInitResponse>): MsgChannelCloseInitResponse {\n const message = createBaseMsgChannelCloseInitResponse();\n return message;\n },\n};\n\nfunction createBaseMsgChannelCloseConfirm(): MsgChannelCloseConfirm {\n return { portId: \"\", channelId: \"\", proofInit: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgChannelCloseConfirm: MessageFns<MsgChannelCloseConfirm, \"ibc.core.channel.v1.MsgChannelCloseConfirm\"> =\n {\n $type: \"ibc.core.channel.v1.MsgChannelCloseConfirm\" as const,\n\n encode(message: MsgChannelCloseConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.portId !== \"\") {\n writer.uint32(10).string(message.portId);\n }\n if (message.channelId !== \"\") {\n writer.uint32(18).string(message.channelId);\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(26).bytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.portId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.channelId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgChannelCloseConfirm {\n return {\n portId: isSet(object.port_id) ? globalThis.String(object.port_id) : \"\",\n channelId: isSet(object.channel_id) ? globalThis.String(object.channel_id) : \"\",\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgChannelCloseConfirm): unknown {\n const obj: any = {};\n if (message.portId !== \"\") {\n obj.port_id = message.portId;\n }\n if (message.channelId !== \"\") {\n obj.channel_id = message.channelId;\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgChannelCloseConfirm>): MsgChannelCloseConfirm {\n const message = createBaseMsgChannelCloseConfirm();\n message.portId = object.portId ?? \"\";\n message.channelId = object.channelId ?? \"\";\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n };\n\nfunction createBaseMsgChannelCloseConfirmResponse(): MsgChannelCloseConfirmResponse {\n return {};\n}\n\nexport const MsgChannelCloseConfirmResponse: MessageFns<\n MsgChannelCloseConfirmResponse,\n \"ibc.core.channel.v1.MsgChannelCloseConfirmResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgChannelCloseConfirmResponse\" as const,\n\n encode(_: MsgChannelCloseConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgChannelCloseConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgChannelCloseConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgChannelCloseConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgChannelCloseConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgChannelCloseConfirmResponse>): MsgChannelCloseConfirmResponse {\n const message = createBaseMsgChannelCloseConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRecvPacket(): MsgRecvPacket {\n return { packet: undefined, proofCommitment: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgRecvPacket: MessageFns<MsgRecvPacket, \"ibc.core.channel.v1.MsgRecvPacket\"> = {\n $type: \"ibc.core.channel.v1.MsgRecvPacket\" as const,\n\n encode(message: MsgRecvPacket, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofCommitment.length !== 0) {\n writer.uint32(18).bytes(message.proofCommitment);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(34).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecvPacket {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecvPacket();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofCommitment = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecvPacket {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofCommitment: isSet(object.proof_commitment) ? bytesFromBase64(object.proof_commitment) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgRecvPacket): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofCommitment.length !== 0) {\n obj.proof_commitment = base64FromBytes(message.proofCommitment);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecvPacket>): MsgRecvPacket {\n const message = createBaseMsgRecvPacket();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofCommitment = object.proofCommitment ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRecvPacketResponse(): MsgRecvPacketResponse {\n return { result: 0 };\n}\n\nexport const MsgRecvPacketResponse: MessageFns<MsgRecvPacketResponse, \"ibc.core.channel.v1.MsgRecvPacketResponse\"> = {\n $type: \"ibc.core.channel.v1.MsgRecvPacketResponse\" as const,\n\n encode(message: MsgRecvPacketResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecvPacketResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecvPacketResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecvPacketResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgRecvPacketResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecvPacketResponse>): MsgRecvPacketResponse {\n const message = createBaseMsgRecvPacketResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgTimeout(): MsgTimeout {\n return {\n packet: undefined,\n proofUnreceived: new Uint8Array(0),\n proofHeight: undefined,\n nextSequenceRecv: Long.UZERO,\n signer: \"\",\n };\n}\n\nexport const MsgTimeout: MessageFns<MsgTimeout, \"ibc.core.channel.v1.MsgTimeout\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeout\" as const,\n\n encode(message: MsgTimeout, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofUnreceived.length !== 0) {\n writer.uint32(18).bytes(message.proofUnreceived);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.nextSequenceRecv.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeout {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeout();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofUnreceived = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.nextSequenceRecv = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeout {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofUnreceived: isSet(object.proof_unreceived) ? bytesFromBase64(object.proof_unreceived) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n nextSequenceRecv: isSet(object.next_sequence_recv) ? Long.fromValue(object.next_sequence_recv) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgTimeout): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofUnreceived.length !== 0) {\n obj.proof_unreceived = base64FromBytes(message.proofUnreceived);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n obj.next_sequence_recv = (message.nextSequenceRecv || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeout>): MsgTimeout {\n const message = createBaseMsgTimeout();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofUnreceived = object.proofUnreceived ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.nextSequenceRecv = (object.nextSequenceRecv !== undefined && object.nextSequenceRecv !== null)\n ? Long.fromValue(object.nextSequenceRecv)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutResponse(): MsgTimeoutResponse {\n return { result: 0 };\n}\n\nexport const MsgTimeoutResponse: MessageFns<MsgTimeoutResponse, \"ibc.core.channel.v1.MsgTimeoutResponse\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutResponse\" as const,\n\n encode(message: MsgTimeoutResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgTimeoutResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutResponse>): MsgTimeoutResponse {\n const message = createBaseMsgTimeoutResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutOnClose(): MsgTimeoutOnClose {\n return {\n packet: undefined,\n proofUnreceived: new Uint8Array(0),\n proofClose: new Uint8Array(0),\n proofHeight: undefined,\n nextSequenceRecv: Long.UZERO,\n signer: \"\",\n };\n}\n\nexport const MsgTimeoutOnClose: MessageFns<MsgTimeoutOnClose, \"ibc.core.channel.v1.MsgTimeoutOnClose\"> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutOnClose\" as const,\n\n encode(message: MsgTimeoutOnClose, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.proofUnreceived.length !== 0) {\n writer.uint32(18).bytes(message.proofUnreceived);\n }\n if (message.proofClose.length !== 0) {\n writer.uint32(26).bytes(message.proofClose);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n writer.uint32(40).uint64(message.nextSequenceRecv.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(50).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutOnClose {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutOnClose();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofUnreceived = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofClose = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.nextSequenceRecv = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutOnClose {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n proofUnreceived: isSet(object.proof_unreceived) ? bytesFromBase64(object.proof_unreceived) : new Uint8Array(0),\n proofClose: isSet(object.proof_close) ? bytesFromBase64(object.proof_close) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n nextSequenceRecv: isSet(object.next_sequence_recv) ? Long.fromValue(object.next_sequence_recv) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgTimeoutOnClose): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.proofUnreceived.length !== 0) {\n obj.proof_unreceived = base64FromBytes(message.proofUnreceived);\n }\n if (message.proofClose.length !== 0) {\n obj.proof_close = base64FromBytes(message.proofClose);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (!message.nextSequenceRecv.equals(Long.UZERO)) {\n obj.next_sequence_recv = (message.nextSequenceRecv || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutOnClose>): MsgTimeoutOnClose {\n const message = createBaseMsgTimeoutOnClose();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.proofUnreceived = object.proofUnreceived ?? new Uint8Array(0);\n message.proofClose = object.proofClose ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.nextSequenceRecv = (object.nextSequenceRecv !== undefined && object.nextSequenceRecv !== null)\n ? Long.fromValue(object.nextSequenceRecv)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgTimeoutOnCloseResponse(): MsgTimeoutOnCloseResponse {\n return { result: 0 };\n}\n\nexport const MsgTimeoutOnCloseResponse: MessageFns<\n MsgTimeoutOnCloseResponse,\n \"ibc.core.channel.v1.MsgTimeoutOnCloseResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgTimeoutOnCloseResponse\" as const,\n\n encode(message: MsgTimeoutOnCloseResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgTimeoutOnCloseResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgTimeoutOnCloseResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgTimeoutOnCloseResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgTimeoutOnCloseResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgTimeoutOnCloseResponse>): MsgTimeoutOnCloseResponse {\n const message = createBaseMsgTimeoutOnCloseResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction createBaseMsgAcknowledgement(): MsgAcknowledgement {\n return {\n packet: undefined,\n acknowledgement: new Uint8Array(0),\n proofAcked: new Uint8Array(0),\n proofHeight: undefined,\n signer: \"\",\n };\n}\n\nexport const MsgAcknowledgement: MessageFns<MsgAcknowledgement, \"ibc.core.channel.v1.MsgAcknowledgement\"> = {\n $type: \"ibc.core.channel.v1.MsgAcknowledgement\" as const,\n\n encode(message: MsgAcknowledgement, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.packet !== undefined) {\n Packet.encode(message.packet, writer.uint32(10).fork()).join();\n }\n if (message.acknowledgement.length !== 0) {\n writer.uint32(18).bytes(message.acknowledgement);\n }\n if (message.proofAcked.length !== 0) {\n writer.uint32(26).bytes(message.proofAcked);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgAcknowledgement {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgAcknowledgement();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.packet = Packet.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.acknowledgement = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofAcked = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgAcknowledgement {\n return {\n packet: isSet(object.packet) ? Packet.fromJSON(object.packet) : undefined,\n acknowledgement: isSet(object.acknowledgement) ? bytesFromBase64(object.acknowledgement) : new Uint8Array(0),\n proofAcked: isSet(object.proof_acked) ? bytesFromBase64(object.proof_acked) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgAcknowledgement): unknown {\n const obj: any = {};\n if (message.packet !== undefined) {\n obj.packet = Packet.toJSON(message.packet);\n }\n if (message.acknowledgement.length !== 0) {\n obj.acknowledgement = base64FromBytes(message.acknowledgement);\n }\n if (message.proofAcked.length !== 0) {\n obj.proof_acked = base64FromBytes(message.proofAcked);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgAcknowledgement>): MsgAcknowledgement {\n const message = createBaseMsgAcknowledgement();\n message.packet = (object.packet !== undefined && object.packet !== null)\n ? Packet.fromPartial(object.packet)\n : undefined;\n message.acknowledgement = object.acknowledgement ?? new Uint8Array(0);\n message.proofAcked = object.proofAcked ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgAcknowledgementResponse(): MsgAcknowledgementResponse {\n return { result: 0 };\n}\n\nexport const MsgAcknowledgementResponse: MessageFns<\n MsgAcknowledgementResponse,\n \"ibc.core.channel.v1.MsgAcknowledgementResponse\"\n> = {\n $type: \"ibc.core.channel.v1.MsgAcknowledgementResponse\" as const,\n\n encode(message: MsgAcknowledgementResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.result !== 0) {\n writer.uint32(8).int32(message.result);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgAcknowledgementResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgAcknowledgementResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.result = reader.int32() as any;\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgAcknowledgementResponse {\n return { result: isSet(object.result) ? responseResultTypeFromJSON(object.result) : 0 };\n },\n\n toJSON(message: MsgAcknowledgementResponse): unknown {\n const obj: any = {};\n if (message.result !== 0) {\n obj.result = responseResultTypeToJSON(message.result);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgAcknowledgementResponse>): MsgAcknowledgementResponse {\n const message = createBaseMsgAcknowledgementResponse();\n message.result = object.result ?? 0;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/client/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ClientConsensusStates, IdentifiedClientState, Params } from \"./client.ts\";\n\n/** GenesisState defines the ibc client submodule's genesis state. */\nexport interface GenesisState {\n /** client states with their corresponding identifiers */\n clients: IdentifiedClientState[];\n /** consensus states from each client */\n clientsConsensus: ClientConsensusStates[];\n /** metadata from each client */\n clientsMetadata: IdentifiedGenesisMetadata[];\n params:\n | Params\n | undefined;\n /**\n * Deprecated: create_localhost has been deprecated.\n * The localhost client is automatically created at genesis.\n *\n * @deprecated\n */\n createLocalhost: boolean;\n /** the sequence for the next generated client identifier */\n nextClientSequence: Long;\n}\n\n/**\n * GenesisMetadata defines the genesis type for metadata that will be used\n * to export all client store keys that are not client or consensus states.\n */\nexport interface GenesisMetadata {\n /** store key of metadata without clientID-prefix */\n key: Uint8Array;\n /** metadata value */\n value: Uint8Array;\n}\n\n/**\n * IdentifiedGenesisMetadata has the client metadata with the corresponding\n * client id.\n */\nexport interface IdentifiedGenesisMetadata {\n clientId: string;\n clientMetadata: GenesisMetadata[];\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n clients: [],\n clientsConsensus: [],\n clientsMetadata: [],\n params: undefined,\n createLocalhost: false,\n nextClientSequence: Long.UZERO,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.client.v1.GenesisState\"> = {\n $type: \"ibc.core.client.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.clients) {\n IdentifiedClientState.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.clientsConsensus) {\n ClientConsensusStates.encode(v!, writer.uint32(18).fork()).join();\n }\n for (const v of message.clientsMetadata) {\n IdentifiedGenesisMetadata.encode(v!, writer.uint32(26).fork()).join();\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n if (message.createLocalhost !== false) {\n writer.uint32(40).bool(message.createLocalhost);\n }\n if (!message.nextClientSequence.equals(Long.UZERO)) {\n writer.uint32(48).uint64(message.nextClientSequence.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clients.push(IdentifiedClientState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientsConsensus.push(ClientConsensusStates.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.clientsMetadata.push(IdentifiedGenesisMetadata.decode(reader, reader.uint32()));\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.createLocalhost = reader.bool();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.nextClientSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n clients: globalThis.Array.isArray(object?.clients)\n ? object.clients.map((e: any) => IdentifiedClientState.fromJSON(e))\n : [],\n clientsConsensus: globalThis.Array.isArray(object?.clients_consensus)\n ? object.clients_consensus.map((e: any) => ClientConsensusStates.fromJSON(e))\n : [],\n clientsMetadata: globalThis.Array.isArray(object?.clients_metadata)\n ? object.clients_metadata.map((e: any) => IdentifiedGenesisMetadata.fromJSON(e))\n : [],\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n createLocalhost: isSet(object.create_localhost) ? globalThis.Boolean(object.create_localhost) : false,\n nextClientSequence: isSet(object.next_client_sequence) ? Long.fromValue(object.next_client_sequence) : Long.UZERO,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.clients?.length) {\n obj.clients = message.clients.map((e) => IdentifiedClientState.toJSON(e));\n }\n if (message.clientsConsensus?.length) {\n obj.clients_consensus = message.clientsConsensus.map((e) => ClientConsensusStates.toJSON(e));\n }\n if (message.clientsMetadata?.length) {\n obj.clients_metadata = message.clientsMetadata.map((e) => IdentifiedGenesisMetadata.toJSON(e));\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n if (message.createLocalhost !== false) {\n obj.create_localhost = message.createLocalhost;\n }\n if (!message.nextClientSequence.equals(Long.UZERO)) {\n obj.next_client_sequence = (message.nextClientSequence || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.clients = object.clients?.map((e) => IdentifiedClientState.fromPartial(e)) || [];\n message.clientsConsensus = object.clientsConsensus?.map((e) => ClientConsensusStates.fromPartial(e)) || [];\n message.clientsMetadata = object.clientsMetadata?.map((e) => IdentifiedGenesisMetadata.fromPartial(e)) || [];\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n message.createLocalhost = object.createLocalhost ?? false;\n message.nextClientSequence = (object.nextClientSequence !== undefined && object.nextClientSequence !== null)\n ? Long.fromValue(object.nextClientSequence)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseGenesisMetadata(): GenesisMetadata {\n return { key: new Uint8Array(0), value: new Uint8Array(0) };\n}\n\nexport const GenesisMetadata: MessageFns<GenesisMetadata, \"ibc.core.client.v1.GenesisMetadata\"> = {\n $type: \"ibc.core.client.v1.GenesisMetadata\" as const,\n\n encode(message: GenesisMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.key.length !== 0) {\n writer.uint32(10).bytes(message.key);\n }\n if (message.value.length !== 0) {\n writer.uint32(18).bytes(message.value);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisMetadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.key = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.value = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisMetadata {\n return {\n key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0),\n value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0),\n };\n },\n\n toJSON(message: GenesisMetadata): unknown {\n const obj: any = {};\n if (message.key.length !== 0) {\n obj.key = base64FromBytes(message.key);\n }\n if (message.value.length !== 0) {\n obj.value = base64FromBytes(message.value);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisMetadata>): GenesisMetadata {\n const message = createBaseGenesisMetadata();\n message.key = object.key ?? new Uint8Array(0);\n message.value = object.value ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseIdentifiedGenesisMetadata(): IdentifiedGenesisMetadata {\n return { clientId: \"\", clientMetadata: [] };\n}\n\nexport const IdentifiedGenesisMetadata: MessageFns<\n IdentifiedGenesisMetadata,\n \"ibc.core.client.v1.IdentifiedGenesisMetadata\"\n> = {\n $type: \"ibc.core.client.v1.IdentifiedGenesisMetadata\" as const,\n\n encode(message: IdentifiedGenesisMetadata, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n for (const v of message.clientMetadata) {\n GenesisMetadata.encode(v!, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): IdentifiedGenesisMetadata {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseIdentifiedGenesisMetadata();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientMetadata.push(GenesisMetadata.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): IdentifiedGenesisMetadata {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientMetadata: globalThis.Array.isArray(object?.client_metadata)\n ? object.client_metadata.map((e: any) => GenesisMetadata.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: IdentifiedGenesisMetadata): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientMetadata?.length) {\n obj.client_metadata = message.clientMetadata.map((e) => GenesisMetadata.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<IdentifiedGenesisMetadata>): IdentifiedGenesisMetadata {\n const message = createBaseIdentifiedGenesisMetadata();\n message.clientId = object.clientId ?? \"\";\n message.clientMetadata = object.clientMetadata?.map((e) => GenesisMetadata.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/client/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { MerklePath } from \"../../commitment/v2/commitment.ts\";\nimport { ConsensusStateWithHeight, Height, IdentifiedClientState, Params } from \"./client.ts\";\n\n/**\n * QueryClientStateRequest is the request type for the Query/ClientState RPC\n * method\n */\nexport interface QueryClientStateRequest {\n /** client state unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientStateResponse is the response type for the Query/ClientState RPC\n * method. Besides the client state, it includes a proof and the height from\n * which the proof was retrieved.\n */\nexport interface QueryClientStateResponse {\n /** client state associated with the request identifier */\n clientState:\n | Any\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryClientStatesRequest is the request type for the Query/ClientStates RPC\n * method\n */\nexport interface QueryClientStatesRequest {\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryClientStatesResponse is the response type for the Query/ClientStates RPC\n * method.\n */\nexport interface QueryClientStatesResponse {\n /** list of stored ClientStates of the chain. */\n clientStates: IdentifiedClientState[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryConsensusStateRequest is the request type for the Query/ConsensusState\n * RPC method. Besides the consensus state, it includes a proof and the height\n * from which the proof was retrieved.\n */\nexport interface QueryConsensusStateRequest {\n /** client identifier */\n clientId: string;\n /** consensus state revision number */\n revisionNumber: Long;\n /** consensus state revision height */\n revisionHeight: Long;\n /**\n * latest_height overrides the height field and queries the latest stored\n * ConsensusState\n */\n latestHeight: boolean;\n}\n\n/**\n * QueryConsensusStateResponse is the response type for the Query/ConsensusState\n * RPC method\n */\nexport interface QueryConsensusStateResponse {\n /** consensus state associated with the client identifier at the given height */\n consensusState:\n | Any\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConsensusStatesRequest is the request type for the Query/ConsensusStates\n * RPC method.\n */\nexport interface QueryConsensusStatesRequest {\n /** client identifier */\n clientId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConsensusStatesResponse is the response type for the\n * Query/ConsensusStates RPC method\n */\nexport interface QueryConsensusStatesResponse {\n /** consensus states associated with the identifier */\n consensusStates: ConsensusStateWithHeight[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryConsensusStateHeightsRequest is the request type for Query/ConsensusStateHeights\n * RPC method.\n */\nexport interface QueryConsensusStateHeightsRequest {\n /** client identifier */\n clientId: string;\n /** pagination request */\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConsensusStateHeightsResponse is the response type for the\n * Query/ConsensusStateHeights RPC method\n */\nexport interface QueryConsensusStateHeightsResponse {\n /** consensus state heights */\n consensusStateHeights: Height[];\n /** pagination response */\n pagination: PageResponse | undefined;\n}\n\n/**\n * QueryClientStatusRequest is the request type for the Query/ClientStatus RPC\n * method\n */\nexport interface QueryClientStatusRequest {\n /** client unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\n * method. It returns the current status of the IBC client.\n */\nexport interface QueryClientStatusResponse {\n status: string;\n}\n\n/**\n * QueryClientParamsRequest is the request type for the Query/ClientParams RPC\n * method.\n */\nexport interface QueryClientParamsRequest {\n}\n\n/**\n * QueryClientParamsResponse is the response type for the Query/ClientParams RPC\n * method.\n */\nexport interface QueryClientParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\n/**\n * QueryClientCreatorRequest is the request type for the Query/ClientCreator RPC\n * method.\n */\nexport interface QueryClientCreatorRequest {\n /** client unique identifier */\n clientId: string;\n}\n\n/**\n * QueryClientCreatorResponse is the response type for the Query/ClientCreator RPC\n * method.\n */\nexport interface QueryClientCreatorResponse {\n /** creator of the client */\n creator: string;\n}\n\n/**\n * QueryUpgradedClientStateRequest is the request type for the\n * Query/UpgradedClientState RPC method\n */\nexport interface QueryUpgradedClientStateRequest {\n}\n\n/**\n * QueryUpgradedClientStateResponse is the response type for the\n * Query/UpgradedClientState RPC method.\n */\nexport interface QueryUpgradedClientStateResponse {\n /** client state associated with the request identifier */\n upgradedClientState: Any | undefined;\n}\n\n/**\n * QueryUpgradedConsensusStateRequest is the request type for the\n * Query/UpgradedConsensusState RPC method\n */\nexport interface QueryUpgradedConsensusStateRequest {\n}\n\n/**\n * QueryUpgradedConsensusStateResponse is the response type for the\n * Query/UpgradedConsensusState RPC method.\n */\nexport interface QueryUpgradedConsensusStateResponse {\n /** Consensus state associated with the request identifier */\n upgradedConsensusState: Any | undefined;\n}\n\n/** QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method */\nexport interface QueryVerifyMembershipRequest {\n /** client unique identifier. */\n clientId: string;\n /** the proof to be verified by the client. */\n proof: Uint8Array;\n /** the height of the commitment root at which the proof is verified. */\n proofHeight:\n | Height\n | undefined;\n /** the value which is proven. */\n value: Uint8Array;\n /** optional time delay */\n timeDelay: Long;\n /** optional block delay */\n blockDelay: Long;\n /** the commitment key path. */\n merklePath: MerklePath | undefined;\n}\n\n/** QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method */\nexport interface QueryVerifyMembershipResponse {\n /** boolean indicating success or failure of proof verification. */\n success: boolean;\n}\n\nfunction createBaseQueryClientStateRequest(): QueryClientStateRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientStateRequest: MessageFns<\n QueryClientStateRequest,\n \"ibc.core.client.v1.QueryClientStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStateRequest\" as const,\n\n encode(message: QueryClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStateRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientStateRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStateRequest>): QueryClientStateRequest {\n const message = createBaseQueryClientStateRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientStateResponse(): QueryClientStateResponse {\n return { clientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryClientStateResponse: MessageFns<\n QueryClientStateResponse,\n \"ibc.core.client.v1.QueryClientStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStateResponse\" as const,\n\n encode(message: QueryClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStateResponse {\n return {\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryClientStateResponse): unknown {\n const obj: any = {};\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStateResponse>): QueryClientStateResponse {\n const message = createBaseQueryClientStateResponse();\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatesRequest(): QueryClientStatesRequest {\n return { pagination: undefined };\n}\n\nexport const QueryClientStatesRequest: MessageFns<\n QueryClientStatesRequest,\n \"ibc.core.client.v1.QueryClientStatesRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatesRequest\" as const,\n\n encode(message: QueryClientStatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatesRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryClientStatesRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatesRequest>): QueryClientStatesRequest {\n const message = createBaseQueryClientStatesRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatesResponse(): QueryClientStatesResponse {\n return { clientStates: [], pagination: undefined };\n}\n\nexport const QueryClientStatesResponse: MessageFns<\n QueryClientStatesResponse,\n \"ibc.core.client.v1.QueryClientStatesResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatesResponse\" as const,\n\n encode(message: QueryClientStatesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.clientStates) {\n IdentifiedClientState.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientStates.push(IdentifiedClientState.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatesResponse {\n return {\n clientStates: globalThis.Array.isArray(object?.client_states)\n ? object.client_states.map((e: any) => IdentifiedClientState.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryClientStatesResponse): unknown {\n const obj: any = {};\n if (message.clientStates?.length) {\n obj.client_states = message.clientStates.map((e) => IdentifiedClientState.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatesResponse>): QueryClientStatesResponse {\n const message = createBaseQueryClientStatesResponse();\n message.clientStates = object.clientStates?.map((e) => IdentifiedClientState.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateRequest(): QueryConsensusStateRequest {\n return { clientId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO, latestHeight: false };\n}\n\nexport const QueryConsensusStateRequest: MessageFns<\n QueryConsensusStateRequest,\n \"ibc.core.client.v1.QueryConsensusStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateRequest\" as const,\n\n encode(message: QueryConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionHeight.toString());\n }\n if (message.latestHeight !== false) {\n writer.uint32(32).bool(message.latestHeight);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.latestHeight = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n latestHeight: isSet(object.latest_height) ? globalThis.Boolean(object.latest_height) : false,\n };\n },\n\n toJSON(message: QueryConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n if (message.latestHeight !== false) {\n obj.latest_height = message.latestHeight;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateRequest>): QueryConsensusStateRequest {\n const message = createBaseQueryConsensusStateRequest();\n message.clientId = object.clientId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n message.latestHeight = object.latestHeight ?? false;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateResponse(): QueryConsensusStateResponse {\n return { consensusState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConsensusStateResponse: MessageFns<\n QueryConsensusStateResponse,\n \"ibc.core.client.v1.QueryConsensusStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateResponse\" as const,\n\n encode(message: QueryConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateResponse>): QueryConsensusStateResponse {\n const message = createBaseQueryConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStatesRequest(): QueryConsensusStatesRequest {\n return { clientId: \"\", pagination: undefined };\n}\n\nexport const QueryConsensusStatesRequest: MessageFns<\n QueryConsensusStatesRequest,\n \"ibc.core.client.v1.QueryConsensusStatesRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStatesRequest\" as const,\n\n encode(message: QueryConsensusStatesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStatesRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStatesRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStatesRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStatesRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStatesRequest>): QueryConsensusStatesRequest {\n const message = createBaseQueryConsensusStatesRequest();\n message.clientId = object.clientId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStatesResponse(): QueryConsensusStatesResponse {\n return { consensusStates: [], pagination: undefined };\n}\n\nexport const QueryConsensusStatesResponse: MessageFns<\n QueryConsensusStatesResponse,\n \"ibc.core.client.v1.QueryConsensusStatesResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStatesResponse\" as const,\n\n encode(message: QueryConsensusStatesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.consensusStates) {\n ConsensusStateWithHeight.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStatesResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStatesResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusStates.push(ConsensusStateWithHeight.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStatesResponse {\n return {\n consensusStates: globalThis.Array.isArray(object?.consensus_states)\n ? object.consensus_states.map((e: any) => ConsensusStateWithHeight.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStatesResponse): unknown {\n const obj: any = {};\n if (message.consensusStates?.length) {\n obj.consensus_states = message.consensusStates.map((e) => ConsensusStateWithHeight.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStatesResponse>): QueryConsensusStatesResponse {\n const message = createBaseQueryConsensusStatesResponse();\n message.consensusStates = object.consensusStates?.map((e) => ConsensusStateWithHeight.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateHeightsRequest(): QueryConsensusStateHeightsRequest {\n return { clientId: \"\", pagination: undefined };\n}\n\nexport const QueryConsensusStateHeightsRequest: MessageFns<\n QueryConsensusStateHeightsRequest,\n \"ibc.core.client.v1.QueryConsensusStateHeightsRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateHeightsRequest\" as const,\n\n encode(message: QueryConsensusStateHeightsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateHeightsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateHeightsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateHeightsRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateHeightsRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateHeightsRequest>): QueryConsensusStateHeightsRequest {\n const message = createBaseQueryConsensusStateHeightsRequest();\n message.clientId = object.clientId ?? \"\";\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConsensusStateHeightsResponse(): QueryConsensusStateHeightsResponse {\n return { consensusStateHeights: [], pagination: undefined };\n}\n\nexport const QueryConsensusStateHeightsResponse: MessageFns<\n QueryConsensusStateHeightsResponse,\n \"ibc.core.client.v1.QueryConsensusStateHeightsResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryConsensusStateHeightsResponse\" as const,\n\n encode(message: QueryConsensusStateHeightsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.consensusStateHeights) {\n Height.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConsensusStateHeightsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConsensusStateHeightsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusStateHeights.push(Height.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConsensusStateHeightsResponse {\n return {\n consensusStateHeights: globalThis.Array.isArray(object?.consensus_state_heights)\n ? object.consensus_state_heights.map((e: any) => Height.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryConsensusStateHeightsResponse): unknown {\n const obj: any = {};\n if (message.consensusStateHeights?.length) {\n obj.consensus_state_heights = message.consensusStateHeights.map((e) => Height.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConsensusStateHeightsResponse>): QueryConsensusStateHeightsResponse {\n const message = createBaseQueryConsensusStateHeightsResponse();\n message.consensusStateHeights = object.consensusStateHeights?.map((e) => Height.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientStatusRequest(): QueryClientStatusRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientStatusRequest: MessageFns<\n QueryClientStatusRequest,\n \"ibc.core.client.v1.QueryClientStatusRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatusRequest\" as const,\n\n encode(message: QueryClientStatusRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatusRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatusRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatusRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientStatusRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatusRequest>): QueryClientStatusRequest {\n const message = createBaseQueryClientStatusRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientStatusResponse(): QueryClientStatusResponse {\n return { status: \"\" };\n}\n\nexport const QueryClientStatusResponse: MessageFns<\n QueryClientStatusResponse,\n \"ibc.core.client.v1.QueryClientStatusResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientStatusResponse\" as const,\n\n encode(message: QueryClientStatusResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.status !== \"\") {\n writer.uint32(10).string(message.status);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientStatusResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientStatusResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.status = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientStatusResponse {\n return { status: isSet(object.status) ? globalThis.String(object.status) : \"\" };\n },\n\n toJSON(message: QueryClientStatusResponse): unknown {\n const obj: any = {};\n if (message.status !== \"\") {\n obj.status = message.status;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientStatusResponse>): QueryClientStatusResponse {\n const message = createBaseQueryClientStatusResponse();\n message.status = object.status ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientParamsRequest(): QueryClientParamsRequest {\n return {};\n}\n\nexport const QueryClientParamsRequest: MessageFns<\n QueryClientParamsRequest,\n \"ibc.core.client.v1.QueryClientParamsRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientParamsRequest\" as const,\n\n encode(_: QueryClientParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryClientParamsRequest {\n return {};\n },\n\n toJSON(_: QueryClientParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryClientParamsRequest>): QueryClientParamsRequest {\n const message = createBaseQueryClientParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryClientParamsResponse(): QueryClientParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryClientParamsResponse: MessageFns<\n QueryClientParamsResponse,\n \"ibc.core.client.v1.QueryClientParamsResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientParamsResponse\" as const,\n\n encode(message: QueryClientParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryClientParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientParamsResponse>): QueryClientParamsResponse {\n const message = createBaseQueryClientParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientCreatorRequest(): QueryClientCreatorRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientCreatorRequest: MessageFns<\n QueryClientCreatorRequest,\n \"ibc.core.client.v1.QueryClientCreatorRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientCreatorRequest\" as const,\n\n encode(message: QueryClientCreatorRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientCreatorRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientCreatorRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientCreatorRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientCreatorRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientCreatorRequest>): QueryClientCreatorRequest {\n const message = createBaseQueryClientCreatorRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientCreatorResponse(): QueryClientCreatorResponse {\n return { creator: \"\" };\n}\n\nexport const QueryClientCreatorResponse: MessageFns<\n QueryClientCreatorResponse,\n \"ibc.core.client.v1.QueryClientCreatorResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryClientCreatorResponse\" as const,\n\n encode(message: QueryClientCreatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.creator !== \"\") {\n writer.uint32(10).string(message.creator);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientCreatorResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientCreatorResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.creator = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientCreatorResponse {\n return { creator: isSet(object.creator) ? globalThis.String(object.creator) : \"\" };\n },\n\n toJSON(message: QueryClientCreatorResponse): unknown {\n const obj: any = {};\n if (message.creator !== \"\") {\n obj.creator = message.creator;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientCreatorResponse>): QueryClientCreatorResponse {\n const message = createBaseQueryClientCreatorResponse();\n message.creator = object.creator ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedClientStateRequest(): QueryUpgradedClientStateRequest {\n return {};\n}\n\nexport const QueryUpgradedClientStateRequest: MessageFns<\n QueryUpgradedClientStateRequest,\n \"ibc.core.client.v1.QueryUpgradedClientStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedClientStateRequest\" as const,\n\n encode(_: QueryUpgradedClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryUpgradedClientStateRequest {\n return {};\n },\n\n toJSON(_: QueryUpgradedClientStateRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryUpgradedClientStateRequest>): QueryUpgradedClientStateRequest {\n const message = createBaseQueryUpgradedClientStateRequest();\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedClientStateResponse(): QueryUpgradedClientStateResponse {\n return { upgradedClientState: undefined };\n}\n\nexport const QueryUpgradedClientStateResponse: MessageFns<\n QueryUpgradedClientStateResponse,\n \"ibc.core.client.v1.QueryUpgradedClientStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedClientStateResponse\" as const,\n\n encode(message: QueryUpgradedClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.upgradedClientState !== undefined) {\n Any.encode(message.upgradedClientState, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.upgradedClientState = Any.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUpgradedClientStateResponse {\n return {\n upgradedClientState: isSet(object.upgraded_client_state) ? Any.fromJSON(object.upgraded_client_state) : undefined,\n };\n },\n\n toJSON(message: QueryUpgradedClientStateResponse): unknown {\n const obj: any = {};\n if (message.upgradedClientState !== undefined) {\n obj.upgraded_client_state = Any.toJSON(message.upgradedClientState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUpgradedClientStateResponse>): QueryUpgradedClientStateResponse {\n const message = createBaseQueryUpgradedClientStateResponse();\n message.upgradedClientState = (object.upgradedClientState !== undefined && object.upgradedClientState !== null)\n ? Any.fromPartial(object.upgradedClientState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedConsensusStateRequest(): QueryUpgradedConsensusStateRequest {\n return {};\n}\n\nexport const QueryUpgradedConsensusStateRequest: MessageFns<\n QueryUpgradedConsensusStateRequest,\n \"ibc.core.client.v1.QueryUpgradedConsensusStateRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedConsensusStateRequest\" as const,\n\n encode(_: QueryUpgradedConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryUpgradedConsensusStateRequest {\n return {};\n },\n\n toJSON(_: QueryUpgradedConsensusStateRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryUpgradedConsensusStateRequest>): QueryUpgradedConsensusStateRequest {\n const message = createBaseQueryUpgradedConsensusStateRequest();\n return message;\n },\n};\n\nfunction createBaseQueryUpgradedConsensusStateResponse(): QueryUpgradedConsensusStateResponse {\n return { upgradedConsensusState: undefined };\n}\n\nexport const QueryUpgradedConsensusStateResponse: MessageFns<\n QueryUpgradedConsensusStateResponse,\n \"ibc.core.client.v1.QueryUpgradedConsensusStateResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryUpgradedConsensusStateResponse\" as const,\n\n encode(message: QueryUpgradedConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.upgradedConsensusState !== undefined) {\n Any.encode(message.upgradedConsensusState, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryUpgradedConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryUpgradedConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.upgradedConsensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryUpgradedConsensusStateResponse {\n return {\n upgradedConsensusState: isSet(object.upgraded_consensus_state)\n ? Any.fromJSON(object.upgraded_consensus_state)\n : undefined,\n };\n },\n\n toJSON(message: QueryUpgradedConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.upgradedConsensusState !== undefined) {\n obj.upgraded_consensus_state = Any.toJSON(message.upgradedConsensusState);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryUpgradedConsensusStateResponse>): QueryUpgradedConsensusStateResponse {\n const message = createBaseQueryUpgradedConsensusStateResponse();\n message.upgradedConsensusState =\n (object.upgradedConsensusState !== undefined && object.upgradedConsensusState !== null)\n ? Any.fromPartial(object.upgradedConsensusState)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryVerifyMembershipRequest(): QueryVerifyMembershipRequest {\n return {\n clientId: \"\",\n proof: new Uint8Array(0),\n proofHeight: undefined,\n value: new Uint8Array(0),\n timeDelay: Long.UZERO,\n blockDelay: Long.UZERO,\n merklePath: undefined,\n };\n}\n\nexport const QueryVerifyMembershipRequest: MessageFns<\n QueryVerifyMembershipRequest,\n \"ibc.core.client.v1.QueryVerifyMembershipRequest\"\n> = {\n $type: \"ibc.core.client.v1.QueryVerifyMembershipRequest\" as const,\n\n encode(message: QueryVerifyMembershipRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.value.length !== 0) {\n writer.uint32(42).bytes(message.value);\n }\n if (!message.timeDelay.equals(Long.UZERO)) {\n writer.uint32(48).uint64(message.timeDelay.toString());\n }\n if (!message.blockDelay.equals(Long.UZERO)) {\n writer.uint32(56).uint64(message.blockDelay.toString());\n }\n if (message.merklePath !== undefined) {\n MerklePath.encode(message.merklePath, writer.uint32(66).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryVerifyMembershipRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryVerifyMembershipRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.value = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 48) {\n break;\n }\n\n message.timeDelay = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 7: {\n if (tag !== 56) {\n break;\n }\n\n message.blockDelay = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.merklePath = MerklePath.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryVerifyMembershipRequest {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0),\n timeDelay: isSet(object.time_delay) ? Long.fromValue(object.time_delay) : Long.UZERO,\n blockDelay: isSet(object.block_delay) ? Long.fromValue(object.block_delay) : Long.UZERO,\n merklePath: isSet(object.merkle_path) ? MerklePath.fromJSON(object.merkle_path) : undefined,\n };\n },\n\n toJSON(message: QueryVerifyMembershipRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.value.length !== 0) {\n obj.value = base64FromBytes(message.value);\n }\n if (!message.timeDelay.equals(Long.UZERO)) {\n obj.time_delay = (message.timeDelay || Long.UZERO).toString();\n }\n if (!message.blockDelay.equals(Long.UZERO)) {\n obj.block_delay = (message.blockDelay || Long.UZERO).toString();\n }\n if (message.merklePath !== undefined) {\n obj.merkle_path = MerklePath.toJSON(message.merklePath);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryVerifyMembershipRequest>): QueryVerifyMembershipRequest {\n const message = createBaseQueryVerifyMembershipRequest();\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.value = object.value ?? new Uint8Array(0);\n message.timeDelay = (object.timeDelay !== undefined && object.timeDelay !== null)\n ? Long.fromValue(object.timeDelay)\n : Long.UZERO;\n message.blockDelay = (object.blockDelay !== undefined && object.blockDelay !== null)\n ? Long.fromValue(object.blockDelay)\n : Long.UZERO;\n message.merklePath = (object.merklePath !== undefined && object.merklePath !== null)\n ? MerklePath.fromPartial(object.merklePath)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryVerifyMembershipResponse(): QueryVerifyMembershipResponse {\n return { success: false };\n}\n\nexport const QueryVerifyMembershipResponse: MessageFns<\n QueryVerifyMembershipResponse,\n \"ibc.core.client.v1.QueryVerifyMembershipResponse\"\n> = {\n $type: \"ibc.core.client.v1.QueryVerifyMembershipResponse\" as const,\n\n encode(message: QueryVerifyMembershipResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.success !== false) {\n writer.uint32(8).bool(message.success);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryVerifyMembershipResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryVerifyMembershipResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.success = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryVerifyMembershipResponse {\n return { success: isSet(object.success) ? globalThis.Boolean(object.success) : false };\n },\n\n toJSON(message: QueryVerifyMembershipResponse): unknown {\n const obj: any = {};\n if (message.success !== false) {\n obj.success = message.success;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryVerifyMembershipResponse>): QueryVerifyMembershipResponse {\n const message = createBaseQueryVerifyMembershipResponse();\n message.success = object.success ?? false;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/client/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Plan } from \"../../../../cosmos/upgrade/v1beta1/upgrade.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Params } from \"./client.ts\";\n\n/** MsgCreateClient defines a message to create an IBC client */\nexport interface MsgCreateClient {\n /** light client state */\n clientState:\n | Any\n | undefined;\n /**\n * consensus state associated with the client that corresponds to a given\n * height.\n */\n consensusState:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgCreateClientResponse defines the Msg/CreateClient response type. */\nexport interface MsgCreateClientResponse {\n clientId: string;\n}\n\n/**\n * MsgUpdateClient defines an sdk.Msg to update a IBC client state using\n * the given client message.\n */\nexport interface MsgUpdateClient {\n /** client unique identifier */\n clientId: string;\n /** client message to update the light client */\n clientMessage:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgUpdateClientResponse defines the Msg/UpdateClient response type. */\nexport interface MsgUpdateClientResponse {\n}\n\n/**\n * MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client\n * state\n */\nexport interface MsgUpgradeClient {\n /** client unique identifier */\n clientId: string;\n /** upgraded client state */\n clientState:\n | Any\n | undefined;\n /**\n * upgraded consensus state, only contains enough information to serve as a\n * basis of trust in update logic\n */\n consensusState:\n | Any\n | undefined;\n /** proof that old chain committed to new client */\n proofUpgradeClient: Uint8Array;\n /** proof that old chain committed to new consensus state */\n proofUpgradeConsensusState: Uint8Array;\n /** signer address */\n signer: string;\n}\n\n/** MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. */\nexport interface MsgUpgradeClientResponse {\n}\n\n/**\n * MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for\n * light client misbehaviour.\n * This message has been deprecated. Use MsgUpdateClient instead.\n *\n * @deprecated\n */\nexport interface MsgSubmitMisbehaviour {\n /** client unique identifier */\n clientId: string;\n /** misbehaviour used for freezing the light client */\n misbehaviour:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/**\n * MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response\n * type.\n */\nexport interface MsgSubmitMisbehaviourResponse {\n}\n\n/** MsgRecoverClient defines the message used to recover a frozen or expired client. */\nexport interface MsgRecoverClient {\n /** the client identifier for the client to be updated if the proposal passes */\n subjectClientId: string;\n /**\n * the substitute client identifier for the client which will replace the subject\n * client\n */\n substituteClientId: string;\n /** signer address */\n signer: string;\n}\n\n/** MsgRecoverClientResponse defines the Msg/RecoverClient response type. */\nexport interface MsgRecoverClientResponse {\n}\n\n/** MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal */\nexport interface MsgIBCSoftwareUpgrade {\n plan:\n | Plan\n | undefined;\n /**\n * An UpgradedClientState must be provided to perform an IBC breaking upgrade.\n * This will make the chain commit to the correct upgraded (self) client state\n * before the upgrade occurs, so that connecting chains can verify that the\n * new upgraded client is valid by verifying a proof on the previous version\n * of the chain. This will allow IBC connections to persist smoothly across\n * planned chain upgrades. Correspondingly, the UpgradedClientState field has been\n * deprecated in the Cosmos SDK to allow for this logic to exist solely in\n * the 02-client module.\n */\n upgradedClientState:\n | Any\n | undefined;\n /** signer address */\n signer: string;\n}\n\n/** MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type. */\nexport interface MsgIBCSoftwareUpgradeResponse {\n}\n\n/** MsgUpdateParams defines the sdk.Msg type to update the client parameters. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the client parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the MsgUpdateParams response type. */\nexport interface MsgUpdateParamsResponse {\n}\n\n/** MsgDeleteClientCreator defines a message to delete the client creator of a client */\nexport interface MsgDeleteClientCreator {\n /** client identifier */\n clientId: string;\n /** signer address */\n signer: string;\n}\n\n/** MsgDeleteClientCreatorResponse defines the Msg/DeleteClientCreator response type. */\nexport interface MsgDeleteClientCreatorResponse {\n}\n\nfunction createBaseMsgCreateClient(): MsgCreateClient {\n return { clientState: undefined, consensusState: undefined, signer: \"\" };\n}\n\nexport const MsgCreateClient: MessageFns<MsgCreateClient, \"ibc.core.client.v1.MsgCreateClient\"> = {\n $type: \"ibc.core.client.v1.MsgCreateClient\" as const,\n\n encode(message: MsgCreateClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(10).fork()).join();\n }\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCreateClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgCreateClient {\n return {\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgCreateClient): unknown {\n const obj: any = {};\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgCreateClient>): MsgCreateClient {\n const message = createBaseMsgCreateClient();\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgCreateClientResponse(): MsgCreateClientResponse {\n return { clientId: \"\" };\n}\n\nexport const MsgCreateClientResponse: MessageFns<\n MsgCreateClientResponse,\n \"ibc.core.client.v1.MsgCreateClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgCreateClientResponse\" as const,\n\n encode(message: MsgCreateClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgCreateClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgCreateClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgCreateClientResponse {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: MsgCreateClientResponse): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgCreateClientResponse>): MsgCreateClientResponse {\n const message = createBaseMsgCreateClientResponse();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateClient(): MsgUpdateClient {\n return { clientId: \"\", clientMessage: undefined, signer: \"\" };\n}\n\nexport const MsgUpdateClient: MessageFns<MsgUpdateClient, \"ibc.core.client.v1.MsgUpdateClient\"> = {\n $type: \"ibc.core.client.v1.MsgUpdateClient\" as const,\n\n encode(message: MsgUpdateClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.clientMessage !== undefined) {\n Any.encode(message.clientMessage, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientMessage = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateClient {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientMessage: isSet(object.client_message) ? Any.fromJSON(object.client_message) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgUpdateClient): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientMessage !== undefined) {\n obj.client_message = Any.toJSON(message.clientMessage);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateClient>): MsgUpdateClient {\n const message = createBaseMsgUpdateClient();\n message.clientId = object.clientId ?? \"\";\n message.clientMessage = (object.clientMessage !== undefined && object.clientMessage !== null)\n ? Any.fromPartial(object.clientMessage)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpdateClientResponse(): MsgUpdateClientResponse {\n return {};\n}\n\nexport const MsgUpdateClientResponse: MessageFns<\n MsgUpdateClientResponse,\n \"ibc.core.client.v1.MsgUpdateClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpdateClientResponse\" as const,\n\n encode(_: MsgUpdateClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateClientResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateClientResponse>): MsgUpdateClientResponse {\n const message = createBaseMsgUpdateClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpgradeClient(): MsgUpgradeClient {\n return {\n clientId: \"\",\n clientState: undefined,\n consensusState: undefined,\n proofUpgradeClient: new Uint8Array(0),\n proofUpgradeConsensusState: new Uint8Array(0),\n signer: \"\",\n };\n}\n\nexport const MsgUpgradeClient: MessageFns<MsgUpgradeClient, \"ibc.core.client.v1.MsgUpgradeClient\"> = {\n $type: \"ibc.core.client.v1.MsgUpgradeClient\" as const,\n\n encode(message: MsgUpgradeClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(18).fork()).join();\n }\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(26).fork()).join();\n }\n if (message.proofUpgradeClient.length !== 0) {\n writer.uint32(34).bytes(message.proofUpgradeClient);\n }\n if (message.proofUpgradeConsensusState.length !== 0) {\n writer.uint32(42).bytes(message.proofUpgradeConsensusState);\n }\n if (message.signer !== \"\") {\n writer.uint32(50).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpgradeClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpgradeClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofUpgradeClient = reader.bytes();\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofUpgradeConsensusState = reader.bytes();\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpgradeClient {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n proofUpgradeClient: isSet(object.proof_upgrade_client)\n ? bytesFromBase64(object.proof_upgrade_client)\n : new Uint8Array(0),\n proofUpgradeConsensusState: isSet(object.proof_upgrade_consensus_state)\n ? bytesFromBase64(object.proof_upgrade_consensus_state)\n : new Uint8Array(0),\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgUpgradeClient): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.proofUpgradeClient.length !== 0) {\n obj.proof_upgrade_client = base64FromBytes(message.proofUpgradeClient);\n }\n if (message.proofUpgradeConsensusState.length !== 0) {\n obj.proof_upgrade_consensus_state = base64FromBytes(message.proofUpgradeConsensusState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpgradeClient>): MsgUpgradeClient {\n const message = createBaseMsgUpgradeClient();\n message.clientId = object.clientId ?? \"\";\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.proofUpgradeClient = object.proofUpgradeClient ?? new Uint8Array(0);\n message.proofUpgradeConsensusState = object.proofUpgradeConsensusState ?? new Uint8Array(0);\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgUpgradeClientResponse(): MsgUpgradeClientResponse {\n return {};\n}\n\nexport const MsgUpgradeClientResponse: MessageFns<\n MsgUpgradeClientResponse,\n \"ibc.core.client.v1.MsgUpgradeClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpgradeClientResponse\" as const,\n\n encode(_: MsgUpgradeClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpgradeClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpgradeClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpgradeClientResponse {\n return {};\n },\n\n toJSON(_: MsgUpgradeClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpgradeClientResponse>): MsgUpgradeClientResponse {\n const message = createBaseMsgUpgradeClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgSubmitMisbehaviour(): MsgSubmitMisbehaviour {\n return { clientId: \"\", misbehaviour: undefined, signer: \"\" };\n}\n\nexport const MsgSubmitMisbehaviour: MessageFns<MsgSubmitMisbehaviour, \"ibc.core.client.v1.MsgSubmitMisbehaviour\"> = {\n $type: \"ibc.core.client.v1.MsgSubmitMisbehaviour\" as const,\n\n encode(message: MsgSubmitMisbehaviour, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.misbehaviour !== undefined) {\n Any.encode(message.misbehaviour, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitMisbehaviour {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitMisbehaviour();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.misbehaviour = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgSubmitMisbehaviour {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n misbehaviour: isSet(object.misbehaviour) ? Any.fromJSON(object.misbehaviour) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgSubmitMisbehaviour): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.misbehaviour !== undefined) {\n obj.misbehaviour = Any.toJSON(message.misbehaviour);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgSubmitMisbehaviour>): MsgSubmitMisbehaviour {\n const message = createBaseMsgSubmitMisbehaviour();\n message.clientId = object.clientId ?? \"\";\n message.misbehaviour = (object.misbehaviour !== undefined && object.misbehaviour !== null)\n ? Any.fromPartial(object.misbehaviour)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgSubmitMisbehaviourResponse(): MsgSubmitMisbehaviourResponse {\n return {};\n}\n\nexport const MsgSubmitMisbehaviourResponse: MessageFns<\n MsgSubmitMisbehaviourResponse,\n \"ibc.core.client.v1.MsgSubmitMisbehaviourResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgSubmitMisbehaviourResponse\" as const,\n\n encode(_: MsgSubmitMisbehaviourResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgSubmitMisbehaviourResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgSubmitMisbehaviourResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgSubmitMisbehaviourResponse {\n return {};\n },\n\n toJSON(_: MsgSubmitMisbehaviourResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgSubmitMisbehaviourResponse>): MsgSubmitMisbehaviourResponse {\n const message = createBaseMsgSubmitMisbehaviourResponse();\n return message;\n },\n};\n\nfunction createBaseMsgRecoverClient(): MsgRecoverClient {\n return { subjectClientId: \"\", substituteClientId: \"\", signer: \"\" };\n}\n\nexport const MsgRecoverClient: MessageFns<MsgRecoverClient, \"ibc.core.client.v1.MsgRecoverClient\"> = {\n $type: \"ibc.core.client.v1.MsgRecoverClient\" as const,\n\n encode(message: MsgRecoverClient, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.subjectClientId !== \"\") {\n writer.uint32(10).string(message.subjectClientId);\n }\n if (message.substituteClientId !== \"\") {\n writer.uint32(18).string(message.substituteClientId);\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecoverClient {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecoverClient();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.subjectClientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.substituteClientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRecoverClient {\n return {\n subjectClientId: isSet(object.subject_client_id) ? globalThis.String(object.subject_client_id) : \"\",\n substituteClientId: isSet(object.substitute_client_id) ? globalThis.String(object.substitute_client_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgRecoverClient): unknown {\n const obj: any = {};\n if (message.subjectClientId !== \"\") {\n obj.subject_client_id = message.subjectClientId;\n }\n if (message.substituteClientId !== \"\") {\n obj.substitute_client_id = message.substituteClientId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRecoverClient>): MsgRecoverClient {\n const message = createBaseMsgRecoverClient();\n message.subjectClientId = object.subjectClientId ?? \"\";\n message.substituteClientId = object.substituteClientId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgRecoverClientResponse(): MsgRecoverClientResponse {\n return {};\n}\n\nexport const MsgRecoverClientResponse: MessageFns<\n MsgRecoverClientResponse,\n \"ibc.core.client.v1.MsgRecoverClientResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgRecoverClientResponse\" as const,\n\n encode(_: MsgRecoverClientResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRecoverClientResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRecoverClientResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgRecoverClientResponse {\n return {};\n },\n\n toJSON(_: MsgRecoverClientResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgRecoverClientResponse>): MsgRecoverClientResponse {\n const message = createBaseMsgRecoverClientResponse();\n return message;\n },\n};\n\nfunction createBaseMsgIBCSoftwareUpgrade(): MsgIBCSoftwareUpgrade {\n return { plan: undefined, upgradedClientState: undefined, signer: \"\" };\n}\n\nexport const MsgIBCSoftwareUpgrade: MessageFns<MsgIBCSoftwareUpgrade, \"ibc.core.client.v1.MsgIBCSoftwareUpgrade\"> = {\n $type: \"ibc.core.client.v1.MsgIBCSoftwareUpgrade\" as const,\n\n encode(message: MsgIBCSoftwareUpgrade, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.plan !== undefined) {\n Plan.encode(message.plan, writer.uint32(10).fork()).join();\n }\n if (message.upgradedClientState !== undefined) {\n Any.encode(message.upgradedClientState, writer.uint32(18).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(26).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIBCSoftwareUpgrade {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIBCSoftwareUpgrade();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.plan = Plan.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.upgradedClientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgIBCSoftwareUpgrade {\n return {\n plan: isSet(object.plan) ? Plan.fromJSON(object.plan) : undefined,\n upgradedClientState: isSet(object.upgraded_client_state) ? Any.fromJSON(object.upgraded_client_state) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgIBCSoftwareUpgrade): unknown {\n const obj: any = {};\n if (message.plan !== undefined) {\n obj.plan = Plan.toJSON(message.plan);\n }\n if (message.upgradedClientState !== undefined) {\n obj.upgraded_client_state = Any.toJSON(message.upgradedClientState);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgIBCSoftwareUpgrade>): MsgIBCSoftwareUpgrade {\n const message = createBaseMsgIBCSoftwareUpgrade();\n message.plan = (object.plan !== undefined && object.plan !== null) ? Plan.fromPartial(object.plan) : undefined;\n message.upgradedClientState = (object.upgradedClientState !== undefined && object.upgradedClientState !== null)\n ? Any.fromPartial(object.upgradedClientState)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgIBCSoftwareUpgradeResponse(): MsgIBCSoftwareUpgradeResponse {\n return {};\n}\n\nexport const MsgIBCSoftwareUpgradeResponse: MessageFns<\n MsgIBCSoftwareUpgradeResponse,\n \"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse\" as const,\n\n encode(_: MsgIBCSoftwareUpgradeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgIBCSoftwareUpgradeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgIBCSoftwareUpgradeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgIBCSoftwareUpgradeResponse {\n return {};\n },\n\n toJSON(_: MsgIBCSoftwareUpgradeResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgIBCSoftwareUpgradeResponse>): MsgIBCSoftwareUpgradeResponse {\n const message = createBaseMsgIBCSoftwareUpgradeResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.core.client.v1.MsgUpdateParams\"> = {\n $type: \"ibc.core.client.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.core.client.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction createBaseMsgDeleteClientCreator(): MsgDeleteClientCreator {\n return { clientId: \"\", signer: \"\" };\n}\n\nexport const MsgDeleteClientCreator: MessageFns<MsgDeleteClientCreator, \"ibc.core.client.v1.MsgDeleteClientCreator\"> = {\n $type: \"ibc.core.client.v1.MsgDeleteClientCreator\" as const,\n\n encode(message: MsgDeleteClientCreator, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.signer !== \"\") {\n writer.uint32(18).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDeleteClientCreator {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDeleteClientCreator();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgDeleteClientCreator {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgDeleteClientCreator): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgDeleteClientCreator>): MsgDeleteClientCreator {\n const message = createBaseMsgDeleteClientCreator();\n message.clientId = object.clientId ?? \"\";\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgDeleteClientCreatorResponse(): MsgDeleteClientCreatorResponse {\n return {};\n}\n\nexport const MsgDeleteClientCreatorResponse: MessageFns<\n MsgDeleteClientCreatorResponse,\n \"ibc.core.client.v1.MsgDeleteClientCreatorResponse\"\n> = {\n $type: \"ibc.core.client.v1.MsgDeleteClientCreatorResponse\" as const,\n\n encode(_: MsgDeleteClientCreatorResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgDeleteClientCreatorResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgDeleteClientCreatorResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgDeleteClientCreatorResponse {\n return {};\n },\n\n toJSON(_: MsgDeleteClientCreatorResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgDeleteClientCreatorResponse>): MsgDeleteClientCreatorResponse {\n const message = createBaseMsgDeleteClientCreatorResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/connection/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ConnectionPaths, IdentifiedConnection, Params } from \"./connection.ts\";\n\n/** GenesisState defines the ibc connection submodule's genesis state. */\nexport interface GenesisState {\n connections: IdentifiedConnection[];\n clientConnectionPaths: ConnectionPaths[];\n /** the sequence for the next generated connection identifier */\n nextConnectionSequence: Long;\n params: Params | undefined;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { connections: [], clientConnectionPaths: [], nextConnectionSequence: Long.UZERO, params: undefined };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.connection.v1.GenesisState\"> = {\n $type: \"ibc.core.connection.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connections) {\n IdentifiedConnection.encode(v!, writer.uint32(10).fork()).join();\n }\n for (const v of message.clientConnectionPaths) {\n ConnectionPaths.encode(v!, writer.uint32(18).fork()).join();\n }\n if (!message.nextConnectionSequence.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.nextConnectionSequence.toString());\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connections.push(IdentifiedConnection.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientConnectionPaths.push(ConnectionPaths.decode(reader, reader.uint32()));\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.nextConnectionSequence = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n connections: globalThis.Array.isArray(object?.connections)\n ? object.connections.map((e: any) => IdentifiedConnection.fromJSON(e))\n : [],\n clientConnectionPaths: globalThis.Array.isArray(object?.client_connection_paths)\n ? object.client_connection_paths.map((e: any) => ConnectionPaths.fromJSON(e))\n : [],\n nextConnectionSequence: isSet(object.next_connection_sequence)\n ? Long.fromValue(object.next_connection_sequence)\n : Long.UZERO,\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.connections?.length) {\n obj.connections = message.connections.map((e) => IdentifiedConnection.toJSON(e));\n }\n if (message.clientConnectionPaths?.length) {\n obj.client_connection_paths = message.clientConnectionPaths.map((e) => ConnectionPaths.toJSON(e));\n }\n if (!message.nextConnectionSequence.equals(Long.UZERO)) {\n obj.next_connection_sequence = (message.nextConnectionSequence || Long.UZERO).toString();\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.connections = object.connections?.map((e) => IdentifiedConnection.fromPartial(e)) || [];\n message.clientConnectionPaths = object.clientConnectionPaths?.map((e) => ConnectionPaths.fromPartial(e)) || [];\n message.nextConnectionSequence =\n (object.nextConnectionSequence !== undefined && object.nextConnectionSequence !== null)\n ? Long.fromValue(object.nextConnectionSequence)\n : Long.UZERO;\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/connection/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height, IdentifiedClientState } from \"../../client/v1/client.ts\";\nimport { ConnectionEnd, IdentifiedConnection, Params } from \"./connection.ts\";\n\n/**\n * QueryConnectionRequest is the request type for the Query/Connection RPC\n * method\n */\nexport interface QueryConnectionRequest {\n /** connection unique identifier */\n connectionId: string;\n}\n\n/**\n * QueryConnectionResponse is the response type for the Query/Connection RPC\n * method. Besides the connection end, it includes a proof and the height from\n * which the proof was retrieved.\n */\nexport interface QueryConnectionResponse {\n /** connection associated with the request identifier */\n connection:\n | ConnectionEnd\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionsRequest is the request type for the Query/Connections RPC\n * method\n */\nexport interface QueryConnectionsRequest {\n pagination: PageRequest | undefined;\n}\n\n/**\n * QueryConnectionsResponse is the response type for the Query/Connections RPC\n * method.\n */\nexport interface QueryConnectionsResponse {\n /** list of stored connections of the chain. */\n connections: IdentifiedConnection[];\n /** pagination response */\n pagination:\n | PageResponse\n | undefined;\n /** query block height */\n height: Height | undefined;\n}\n\n/**\n * QueryClientConnectionsRequest is the request type for the\n * Query/ClientConnections RPC method\n */\nexport interface QueryClientConnectionsRequest {\n /** client identifier associated with a connection */\n clientId: string;\n}\n\n/**\n * QueryClientConnectionsResponse is the response type for the\n * Query/ClientConnections RPC method\n */\nexport interface QueryClientConnectionsResponse {\n /** slice of all the connection paths associated with a client. */\n connectionPaths: string[];\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was generated */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionClientStateRequest is the request type for the\n * Query/ConnectionClientState RPC method\n */\nexport interface QueryConnectionClientStateRequest {\n /** connection identifier */\n connectionId: string;\n}\n\n/**\n * QueryConnectionClientStateResponse is the response type for the\n * Query/ConnectionClientState RPC method\n */\nexport interface QueryConnectionClientStateResponse {\n /** client state associated with the channel */\n identifiedClientState:\n | IdentifiedClientState\n | undefined;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/**\n * QueryConnectionConsensusStateRequest is the request type for the\n * Query/ConnectionConsensusState RPC method\n */\nexport interface QueryConnectionConsensusStateRequest {\n /** connection identifier */\n connectionId: string;\n revisionNumber: Long;\n revisionHeight: Long;\n}\n\n/**\n * QueryConnectionConsensusStateResponse is the response type for the\n * Query/ConnectionConsensusState RPC method\n */\nexport interface QueryConnectionConsensusStateResponse {\n /** consensus state associated with the channel */\n consensusState:\n | Any\n | undefined;\n /** client ID associated with the consensus state */\n clientId: string;\n /** merkle proof of existence */\n proof: Uint8Array;\n /** height at which the proof was retrieved */\n proofHeight: Height | undefined;\n}\n\n/** QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method. */\nexport interface QueryConnectionParamsRequest {\n}\n\n/** QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method. */\nexport interface QueryConnectionParamsResponse {\n /** params defines the parameters of the module. */\n params: Params | undefined;\n}\n\nfunction createBaseQueryConnectionRequest(): QueryConnectionRequest {\n return { connectionId: \"\" };\n}\n\nexport const QueryConnectionRequest: MessageFns<\n QueryConnectionRequest,\n \"ibc.core.connection.v1.QueryConnectionRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionRequest\" as const,\n\n encode(message: QueryConnectionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionRequest {\n return { connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\" };\n },\n\n toJSON(message: QueryConnectionRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionRequest>): QueryConnectionRequest {\n const message = createBaseQueryConnectionRequest();\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryConnectionResponse(): QueryConnectionResponse {\n return { connection: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionResponse: MessageFns<\n QueryConnectionResponse,\n \"ibc.core.connection.v1.QueryConnectionResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionResponse\" as const,\n\n encode(message: QueryConnectionResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connection !== undefined) {\n ConnectionEnd.encode(message.connection, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connection = ConnectionEnd.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionResponse {\n return {\n connection: isSet(object.connection) ? ConnectionEnd.fromJSON(object.connection) : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionResponse): unknown {\n const obj: any = {};\n if (message.connection !== undefined) {\n obj.connection = ConnectionEnd.toJSON(message.connection);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionResponse>): QueryConnectionResponse {\n const message = createBaseQueryConnectionResponse();\n message.connection = (object.connection !== undefined && object.connection !== null)\n ? ConnectionEnd.fromPartial(object.connection)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionsRequest(): QueryConnectionsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryConnectionsRequest: MessageFns<\n QueryConnectionsRequest,\n \"ibc.core.connection.v1.QueryConnectionsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionsRequest\" as const,\n\n encode(message: QueryConnectionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryConnectionsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionsRequest>): QueryConnectionsRequest {\n const message = createBaseQueryConnectionsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionsResponse(): QueryConnectionsResponse {\n return { connections: [], pagination: undefined, height: undefined };\n}\n\nexport const QueryConnectionsResponse: MessageFns<\n QueryConnectionsResponse,\n \"ibc.core.connection.v1.QueryConnectionsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionsResponse\" as const,\n\n encode(message: QueryConnectionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connections) {\n IdentifiedConnection.encode(v!, writer.uint32(10).fork()).join();\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n if (message.height !== undefined) {\n Height.encode(message.height, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connections.push(IdentifiedConnection.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.height = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionsResponse {\n return {\n connections: globalThis.Array.isArray(object?.connections)\n ? object.connections.map((e: any) => IdentifiedConnection.fromJSON(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionsResponse): unknown {\n const obj: any = {};\n if (message.connections?.length) {\n obj.connections = message.connections.map((e) => IdentifiedConnection.toJSON(e));\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n if (message.height !== undefined) {\n obj.height = Height.toJSON(message.height);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionsResponse>): QueryConnectionsResponse {\n const message = createBaseQueryConnectionsResponse();\n message.connections = object.connections?.map((e) => IdentifiedConnection.fromPartial(e)) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n message.height = (object.height !== undefined && object.height !== null)\n ? Height.fromPartial(object.height)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryClientConnectionsRequest(): QueryClientConnectionsRequest {\n return { clientId: \"\" };\n}\n\nexport const QueryClientConnectionsRequest: MessageFns<\n QueryClientConnectionsRequest,\n \"ibc.core.connection.v1.QueryClientConnectionsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryClientConnectionsRequest\" as const,\n\n encode(message: QueryClientConnectionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientConnectionsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientConnectionsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientConnectionsRequest {\n return { clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\" };\n },\n\n toJSON(message: QueryClientConnectionsRequest): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientConnectionsRequest>): QueryClientConnectionsRequest {\n const message = createBaseQueryClientConnectionsRequest();\n message.clientId = object.clientId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryClientConnectionsResponse(): QueryClientConnectionsResponse {\n return { connectionPaths: [], proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryClientConnectionsResponse: MessageFns<\n QueryClientConnectionsResponse,\n \"ibc.core.connection.v1.QueryClientConnectionsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryClientConnectionsResponse\" as const,\n\n encode(message: QueryClientConnectionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.connectionPaths) {\n writer.uint32(10).string(v!);\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryClientConnectionsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryClientConnectionsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionPaths.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryClientConnectionsResponse {\n return {\n connectionPaths: globalThis.Array.isArray(object?.connection_paths)\n ? object.connection_paths.map((e: any) => globalThis.String(e))\n : [],\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryClientConnectionsResponse): unknown {\n const obj: any = {};\n if (message.connectionPaths?.length) {\n obj.connection_paths = message.connectionPaths;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryClientConnectionsResponse>): QueryClientConnectionsResponse {\n const message = createBaseQueryClientConnectionsResponse();\n message.connectionPaths = object.connectionPaths?.map((e) => e) || [];\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionClientStateRequest(): QueryConnectionClientStateRequest {\n return { connectionId: \"\" };\n}\n\nexport const QueryConnectionClientStateRequest: MessageFns<\n QueryConnectionClientStateRequest,\n \"ibc.core.connection.v1.QueryConnectionClientStateRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionClientStateRequest\" as const,\n\n encode(message: QueryConnectionClientStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionClientStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionClientStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionClientStateRequest {\n return { connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\" };\n },\n\n toJSON(message: QueryConnectionClientStateRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionClientStateRequest>): QueryConnectionClientStateRequest {\n const message = createBaseQueryConnectionClientStateRequest();\n message.connectionId = object.connectionId ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryConnectionClientStateResponse(): QueryConnectionClientStateResponse {\n return { identifiedClientState: undefined, proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionClientStateResponse: MessageFns<\n QueryConnectionClientStateResponse,\n \"ibc.core.connection.v1.QueryConnectionClientStateResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionClientStateResponse\" as const,\n\n encode(message: QueryConnectionClientStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.identifiedClientState !== undefined) {\n IdentifiedClientState.encode(message.identifiedClientState, writer.uint32(10).fork()).join();\n }\n if (message.proof.length !== 0) {\n writer.uint32(18).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionClientStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionClientStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.identifiedClientState = IdentifiedClientState.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionClientStateResponse {\n return {\n identifiedClientState: isSet(object.identified_client_state)\n ? IdentifiedClientState.fromJSON(object.identified_client_state)\n : undefined,\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionClientStateResponse): unknown {\n const obj: any = {};\n if (message.identifiedClientState !== undefined) {\n obj.identified_client_state = IdentifiedClientState.toJSON(message.identifiedClientState);\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionClientStateResponse>): QueryConnectionClientStateResponse {\n const message = createBaseQueryConnectionClientStateResponse();\n message.identifiedClientState =\n (object.identifiedClientState !== undefined && object.identifiedClientState !== null)\n ? IdentifiedClientState.fromPartial(object.identifiedClientState)\n : undefined;\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionConsensusStateRequest(): QueryConnectionConsensusStateRequest {\n return { connectionId: \"\", revisionNumber: Long.UZERO, revisionHeight: Long.UZERO };\n}\n\nexport const QueryConnectionConsensusStateRequest: MessageFns<\n QueryConnectionConsensusStateRequest,\n \"ibc.core.connection.v1.QueryConnectionConsensusStateRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionConsensusStateRequest\" as const,\n\n encode(message: QueryConnectionConsensusStateRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.revisionNumber.toString());\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n writer.uint32(24).uint64(message.revisionHeight.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionConsensusStateRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionConsensusStateRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.revisionNumber = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 3: {\n if (tag !== 24) {\n break;\n }\n\n message.revisionHeight = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionConsensusStateRequest {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n revisionNumber: isSet(object.revision_number) ? Long.fromValue(object.revision_number) : Long.UZERO,\n revisionHeight: isSet(object.revision_height) ? Long.fromValue(object.revision_height) : Long.UZERO,\n };\n },\n\n toJSON(message: QueryConnectionConsensusStateRequest): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (!message.revisionNumber.equals(Long.UZERO)) {\n obj.revision_number = (message.revisionNumber || Long.UZERO).toString();\n }\n if (!message.revisionHeight.equals(Long.UZERO)) {\n obj.revision_height = (message.revisionHeight || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionConsensusStateRequest>): QueryConnectionConsensusStateRequest {\n const message = createBaseQueryConnectionConsensusStateRequest();\n message.connectionId = object.connectionId ?? \"\";\n message.revisionNumber = (object.revisionNumber !== undefined && object.revisionNumber !== null)\n ? Long.fromValue(object.revisionNumber)\n : Long.UZERO;\n message.revisionHeight = (object.revisionHeight !== undefined && object.revisionHeight !== null)\n ? Long.fromValue(object.revisionHeight)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionConsensusStateResponse(): QueryConnectionConsensusStateResponse {\n return { consensusState: undefined, clientId: \"\", proof: new Uint8Array(0), proofHeight: undefined };\n}\n\nexport const QueryConnectionConsensusStateResponse: MessageFns<\n QueryConnectionConsensusStateResponse,\n \"ibc.core.connection.v1.QueryConnectionConsensusStateResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionConsensusStateResponse\" as const,\n\n encode(message: QueryConnectionConsensusStateResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.consensusState !== undefined) {\n Any.encode(message.consensusState, writer.uint32(10).fork()).join();\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.proof.length !== 0) {\n writer.uint32(26).bytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionConsensusStateResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionConsensusStateResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.consensusState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proof = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionConsensusStateResponse {\n return {\n consensusState: isSet(object.consensus_state) ? Any.fromJSON(object.consensus_state) : undefined,\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n proof: isSet(object.proof) ? bytesFromBase64(object.proof) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n };\n },\n\n toJSON(message: QueryConnectionConsensusStateResponse): unknown {\n const obj: any = {};\n if (message.consensusState !== undefined) {\n obj.consensus_state = Any.toJSON(message.consensusState);\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.proof.length !== 0) {\n obj.proof = base64FromBytes(message.proof);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionConsensusStateResponse>): QueryConnectionConsensusStateResponse {\n const message = createBaseQueryConnectionConsensusStateResponse();\n message.consensusState = (object.consensusState !== undefined && object.consensusState !== null)\n ? Any.fromPartial(object.consensusState)\n : undefined;\n message.clientId = object.clientId ?? \"\";\n message.proof = object.proof ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryConnectionParamsRequest(): QueryConnectionParamsRequest {\n return {};\n}\n\nexport const QueryConnectionParamsRequest: MessageFns<\n QueryConnectionParamsRequest,\n \"ibc.core.connection.v1.QueryConnectionParamsRequest\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionParamsRequest\" as const,\n\n encode(_: QueryConnectionParamsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionParamsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionParamsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): QueryConnectionParamsRequest {\n return {};\n },\n\n toJSON(_: QueryConnectionParamsRequest): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<QueryConnectionParamsRequest>): QueryConnectionParamsRequest {\n const message = createBaseQueryConnectionParamsRequest();\n return message;\n },\n};\n\nfunction createBaseQueryConnectionParamsResponse(): QueryConnectionParamsResponse {\n return { params: undefined };\n}\n\nexport const QueryConnectionParamsResponse: MessageFns<\n QueryConnectionParamsResponse,\n \"ibc.core.connection.v1.QueryConnectionParamsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.QueryConnectionParamsResponse\" as const,\n\n encode(message: QueryConnectionParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryConnectionParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryConnectionParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryConnectionParamsResponse {\n return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };\n },\n\n toJSON(message: QueryConnectionParamsResponse): unknown {\n const obj: any = {};\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryConnectionParamsResponse>): QueryConnectionParamsResponse {\n const message = createBaseQueryConnectionParamsResponse();\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/connection/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Any } from \"../../../../google/protobuf/any.ts\";\nimport { Height } from \"../../client/v1/client.ts\";\nimport { Counterparty, Params, Version } from \"./connection.ts\";\n\n/**\n * MsgConnectionOpenInit defines the msg sent by an account on Chain A to\n * initialize a connection with Chain B.\n */\nexport interface MsgConnectionOpenInit {\n clientId: string;\n counterparty: Counterparty | undefined;\n version: Version | undefined;\n delayPeriod: Long;\n signer: string;\n}\n\n/**\n * MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response\n * type.\n */\nexport interface MsgConnectionOpenInitResponse {\n}\n\n/**\n * MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a\n * connection on Chain B.\n */\nexport interface MsgConnectionOpenTry {\n clientId: string;\n /**\n * Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC.\n *\n * @deprecated\n */\n previousConnectionId: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n clientState: Any | undefined;\n counterparty: Counterparty | undefined;\n delayPeriod: Long;\n counterpartyVersions: Version[];\n proofHeight:\n | Height\n | undefined;\n /**\n * proof of the initialization the connection on Chain A: `UNINITIALIZED ->\n * INIT`\n */\n proofInit: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofClient: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofConsensus: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n consensusHeight: Height | undefined;\n signer: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n hostConsensusStateProof: Uint8Array;\n}\n\n/** MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type. */\nexport interface MsgConnectionOpenTryResponse {\n}\n\n/**\n * MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to\n * acknowledge the change of connection state to TRYOPEN on Chain B.\n */\nexport interface MsgConnectionOpenAck {\n connectionId: string;\n counterpartyConnectionId: string;\n version:\n | Version\n | undefined;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n clientState: Any | undefined;\n proofHeight:\n | Height\n | undefined;\n /**\n * proof of the initialization the connection on Chain B: `UNINITIALIZED ->\n * TRYOPEN`\n */\n proofTry: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofClient: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n proofConsensus: Uint8Array;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n consensusHeight: Height | undefined;\n signer: string;\n /**\n * Deprecated: this field is unused.\n *\n * @deprecated\n */\n hostConsensusStateProof: Uint8Array;\n}\n\n/** MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type. */\nexport interface MsgConnectionOpenAckResponse {\n}\n\n/**\n * MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to\n * acknowledge the change of connection state to OPEN on Chain A.\n */\nexport interface MsgConnectionOpenConfirm {\n connectionId: string;\n /** proof for the change of the connection state on Chain A: `INIT -> OPEN` */\n proofAck: Uint8Array;\n proofHeight: Height | undefined;\n signer: string;\n}\n\n/**\n * MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm\n * response type.\n */\nexport interface MsgConnectionOpenConfirmResponse {\n}\n\n/** MsgUpdateParams defines the sdk.Msg type to update the connection parameters. */\nexport interface MsgUpdateParams {\n /** signer address */\n signer: string;\n /**\n * params defines the connection parameters to update.\n *\n * NOTE: All parameters must be supplied.\n */\n params: Params | undefined;\n}\n\n/** MsgUpdateParamsResponse defines the MsgUpdateParams response type. */\nexport interface MsgUpdateParamsResponse {\n}\n\nfunction createBaseMsgConnectionOpenInit(): MsgConnectionOpenInit {\n return { clientId: \"\", counterparty: undefined, version: undefined, delayPeriod: Long.UZERO, signer: \"\" };\n}\n\nexport const MsgConnectionOpenInit: MessageFns<MsgConnectionOpenInit, \"ibc.core.connection.v1.MsgConnectionOpenInit\"> =\n {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenInit\" as const,\n\n encode(message: MsgConnectionOpenInit, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.counterparty !== undefined) {\n Counterparty.encode(message.counterparty, writer.uint32(18).fork()).join();\n }\n if (message.version !== undefined) {\n Version.encode(message.version, writer.uint32(26).fork()).join();\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n writer.uint32(32).uint64(message.delayPeriod.toString());\n }\n if (message.signer !== \"\") {\n writer.uint32(42).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenInit {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenInit();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.counterparty = Counterparty.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = Version.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 32) {\n break;\n }\n\n message.delayPeriod = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenInit {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,\n version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,\n delayPeriod: isSet(object.delay_period) ? Long.fromValue(object.delay_period) : Long.UZERO,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgConnectionOpenInit): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.counterparty !== undefined) {\n obj.counterparty = Counterparty.toJSON(message.counterparty);\n }\n if (message.version !== undefined) {\n obj.version = Version.toJSON(message.version);\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n obj.delay_period = (message.delayPeriod || Long.UZERO).toString();\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenInit>): MsgConnectionOpenInit {\n const message = createBaseMsgConnectionOpenInit();\n message.clientId = object.clientId ?? \"\";\n message.counterparty = (object.counterparty !== undefined && object.counterparty !== null)\n ? Counterparty.fromPartial(object.counterparty)\n : undefined;\n message.version = (object.version !== undefined && object.version !== null)\n ? Version.fromPartial(object.version)\n : undefined;\n message.delayPeriod = (object.delayPeriod !== undefined && object.delayPeriod !== null)\n ? Long.fromValue(object.delayPeriod)\n : Long.UZERO;\n message.signer = object.signer ?? \"\";\n return message;\n },\n };\n\nfunction createBaseMsgConnectionOpenInitResponse(): MsgConnectionOpenInitResponse {\n return {};\n}\n\nexport const MsgConnectionOpenInitResponse: MessageFns<\n MsgConnectionOpenInitResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenInitResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenInitResponse\" as const,\n\n encode(_: MsgConnectionOpenInitResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenInitResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenInitResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenInitResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenInitResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenInitResponse>): MsgConnectionOpenInitResponse {\n const message = createBaseMsgConnectionOpenInitResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenTry(): MsgConnectionOpenTry {\n return {\n clientId: \"\",\n previousConnectionId: \"\",\n clientState: undefined,\n counterparty: undefined,\n delayPeriod: Long.UZERO,\n counterpartyVersions: [],\n proofHeight: undefined,\n proofInit: new Uint8Array(0),\n proofClient: new Uint8Array(0),\n proofConsensus: new Uint8Array(0),\n consensusHeight: undefined,\n signer: \"\",\n hostConsensusStateProof: new Uint8Array(0),\n };\n}\n\nexport const MsgConnectionOpenTry: MessageFns<MsgConnectionOpenTry, \"ibc.core.connection.v1.MsgConnectionOpenTry\"> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenTry\" as const,\n\n encode(message: MsgConnectionOpenTry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.previousConnectionId !== \"\") {\n writer.uint32(18).string(message.previousConnectionId);\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(26).fork()).join();\n }\n if (message.counterparty !== undefined) {\n Counterparty.encode(message.counterparty, writer.uint32(34).fork()).join();\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n writer.uint32(40).uint64(message.delayPeriod.toString());\n }\n for (const v of message.counterpartyVersions) {\n Version.encode(v!, writer.uint32(50).fork()).join();\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(58).fork()).join();\n }\n if (message.proofInit.length !== 0) {\n writer.uint32(66).bytes(message.proofInit);\n }\n if (message.proofClient.length !== 0) {\n writer.uint32(74).bytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n writer.uint32(82).bytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n Height.encode(message.consensusHeight, writer.uint32(90).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(98).string(message.signer);\n }\n if (message.hostConsensusStateProof.length !== 0) {\n writer.uint32(106).bytes(message.hostConsensusStateProof);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenTry {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenTry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.previousConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.counterparty = Counterparty.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 40) {\n break;\n }\n\n message.delayPeriod = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.counterpartyVersions.push(Version.decode(reader, reader.uint32()));\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofInit = reader.bytes();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.proofClient = reader.bytes();\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.proofConsensus = reader.bytes();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.consensusHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 12: {\n if (tag !== 98) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 13: {\n if (tag !== 106) {\n break;\n }\n\n message.hostConsensusStateProof = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenTry {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n previousConnectionId: isSet(object.previous_connection_id)\n ? globalThis.String(object.previous_connection_id)\n : \"\",\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,\n delayPeriod: isSet(object.delay_period) ? Long.fromValue(object.delay_period) : Long.UZERO,\n counterpartyVersions: globalThis.Array.isArray(object?.counterparty_versions)\n ? object.counterparty_versions.map((e: any) => Version.fromJSON(e))\n : [],\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n proofInit: isSet(object.proof_init) ? bytesFromBase64(object.proof_init) : new Uint8Array(0),\n proofClient: isSet(object.proof_client) ? bytesFromBase64(object.proof_client) : new Uint8Array(0),\n proofConsensus: isSet(object.proof_consensus) ? bytesFromBase64(object.proof_consensus) : new Uint8Array(0),\n consensusHeight: isSet(object.consensus_height) ? Height.fromJSON(object.consensus_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n hostConsensusStateProof: isSet(object.host_consensus_state_proof)\n ? bytesFromBase64(object.host_consensus_state_proof)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgConnectionOpenTry): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.previousConnectionId !== \"\") {\n obj.previous_connection_id = message.previousConnectionId;\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.counterparty !== undefined) {\n obj.counterparty = Counterparty.toJSON(message.counterparty);\n }\n if (!message.delayPeriod.equals(Long.UZERO)) {\n obj.delay_period = (message.delayPeriod || Long.UZERO).toString();\n }\n if (message.counterpartyVersions?.length) {\n obj.counterparty_versions = message.counterpartyVersions.map((e) => Version.toJSON(e));\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.proofInit.length !== 0) {\n obj.proof_init = base64FromBytes(message.proofInit);\n }\n if (message.proofClient.length !== 0) {\n obj.proof_client = base64FromBytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n obj.proof_consensus = base64FromBytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n obj.consensus_height = Height.toJSON(message.consensusHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.hostConsensusStateProof.length !== 0) {\n obj.host_consensus_state_proof = base64FromBytes(message.hostConsensusStateProof);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenTry>): MsgConnectionOpenTry {\n const message = createBaseMsgConnectionOpenTry();\n message.clientId = object.clientId ?? \"\";\n message.previousConnectionId = object.previousConnectionId ?? \"\";\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.counterparty = (object.counterparty !== undefined && object.counterparty !== null)\n ? Counterparty.fromPartial(object.counterparty)\n : undefined;\n message.delayPeriod = (object.delayPeriod !== undefined && object.delayPeriod !== null)\n ? Long.fromValue(object.delayPeriod)\n : Long.UZERO;\n message.counterpartyVersions = object.counterpartyVersions?.map((e) => Version.fromPartial(e)) || [];\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.proofInit = object.proofInit ?? new Uint8Array(0);\n message.proofClient = object.proofClient ?? new Uint8Array(0);\n message.proofConsensus = object.proofConsensus ?? new Uint8Array(0);\n message.consensusHeight = (object.consensusHeight !== undefined && object.consensusHeight !== null)\n ? Height.fromPartial(object.consensusHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n message.hostConsensusStateProof = object.hostConsensusStateProof ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenTryResponse(): MsgConnectionOpenTryResponse {\n return {};\n}\n\nexport const MsgConnectionOpenTryResponse: MessageFns<\n MsgConnectionOpenTryResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenTryResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenTryResponse\" as const,\n\n encode(_: MsgConnectionOpenTryResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenTryResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenTryResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenTryResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenTryResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenTryResponse>): MsgConnectionOpenTryResponse {\n const message = createBaseMsgConnectionOpenTryResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenAck(): MsgConnectionOpenAck {\n return {\n connectionId: \"\",\n counterpartyConnectionId: \"\",\n version: undefined,\n clientState: undefined,\n proofHeight: undefined,\n proofTry: new Uint8Array(0),\n proofClient: new Uint8Array(0),\n proofConsensus: new Uint8Array(0),\n consensusHeight: undefined,\n signer: \"\",\n hostConsensusStateProof: new Uint8Array(0),\n };\n}\n\nexport const MsgConnectionOpenAck: MessageFns<MsgConnectionOpenAck, \"ibc.core.connection.v1.MsgConnectionOpenAck\"> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenAck\" as const,\n\n encode(message: MsgConnectionOpenAck, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.counterpartyConnectionId !== \"\") {\n writer.uint32(18).string(message.counterpartyConnectionId);\n }\n if (message.version !== undefined) {\n Version.encode(message.version, writer.uint32(26).fork()).join();\n }\n if (message.clientState !== undefined) {\n Any.encode(message.clientState, writer.uint32(34).fork()).join();\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(42).fork()).join();\n }\n if (message.proofTry.length !== 0) {\n writer.uint32(50).bytes(message.proofTry);\n }\n if (message.proofClient.length !== 0) {\n writer.uint32(58).bytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n writer.uint32(66).bytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n Height.encode(message.consensusHeight, writer.uint32(74).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(82).string(message.signer);\n }\n if (message.hostConsensusStateProof.length !== 0) {\n writer.uint32(90).bytes(message.hostConsensusStateProof);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenAck {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenAck();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.counterpartyConnectionId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.version = Version.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.clientState = Any.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.proofTry = reader.bytes();\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.proofClient = reader.bytes();\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofConsensus = reader.bytes();\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.consensusHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 10: {\n if (tag !== 82) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 11: {\n if (tag !== 90) {\n break;\n }\n\n message.hostConsensusStateProof = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenAck {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n counterpartyConnectionId: isSet(object.counterparty_connection_id)\n ? globalThis.String(object.counterparty_connection_id)\n : \"\",\n version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,\n clientState: isSet(object.client_state) ? Any.fromJSON(object.client_state) : undefined,\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n proofTry: isSet(object.proof_try) ? bytesFromBase64(object.proof_try) : new Uint8Array(0),\n proofClient: isSet(object.proof_client) ? bytesFromBase64(object.proof_client) : new Uint8Array(0),\n proofConsensus: isSet(object.proof_consensus) ? bytesFromBase64(object.proof_consensus) : new Uint8Array(0),\n consensusHeight: isSet(object.consensus_height) ? Height.fromJSON(object.consensus_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n hostConsensusStateProof: isSet(object.host_consensus_state_proof)\n ? bytesFromBase64(object.host_consensus_state_proof)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgConnectionOpenAck): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.counterpartyConnectionId !== \"\") {\n obj.counterparty_connection_id = message.counterpartyConnectionId;\n }\n if (message.version !== undefined) {\n obj.version = Version.toJSON(message.version);\n }\n if (message.clientState !== undefined) {\n obj.client_state = Any.toJSON(message.clientState);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.proofTry.length !== 0) {\n obj.proof_try = base64FromBytes(message.proofTry);\n }\n if (message.proofClient.length !== 0) {\n obj.proof_client = base64FromBytes(message.proofClient);\n }\n if (message.proofConsensus.length !== 0) {\n obj.proof_consensus = base64FromBytes(message.proofConsensus);\n }\n if (message.consensusHeight !== undefined) {\n obj.consensus_height = Height.toJSON(message.consensusHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.hostConsensusStateProof.length !== 0) {\n obj.host_consensus_state_proof = base64FromBytes(message.hostConsensusStateProof);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenAck>): MsgConnectionOpenAck {\n const message = createBaseMsgConnectionOpenAck();\n message.connectionId = object.connectionId ?? \"\";\n message.counterpartyConnectionId = object.counterpartyConnectionId ?? \"\";\n message.version = (object.version !== undefined && object.version !== null)\n ? Version.fromPartial(object.version)\n : undefined;\n message.clientState = (object.clientState !== undefined && object.clientState !== null)\n ? Any.fromPartial(object.clientState)\n : undefined;\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.proofTry = object.proofTry ?? new Uint8Array(0);\n message.proofClient = object.proofClient ?? new Uint8Array(0);\n message.proofConsensus = object.proofConsensus ?? new Uint8Array(0);\n message.consensusHeight = (object.consensusHeight !== undefined && object.consensusHeight !== null)\n ? Height.fromPartial(object.consensusHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n message.hostConsensusStateProof = object.hostConsensusStateProof ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenAckResponse(): MsgConnectionOpenAckResponse {\n return {};\n}\n\nexport const MsgConnectionOpenAckResponse: MessageFns<\n MsgConnectionOpenAckResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenAckResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenAckResponse\" as const,\n\n encode(_: MsgConnectionOpenAckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenAckResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenAckResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenAckResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenAckResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenAckResponse>): MsgConnectionOpenAckResponse {\n const message = createBaseMsgConnectionOpenAckResponse();\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenConfirm(): MsgConnectionOpenConfirm {\n return { connectionId: \"\", proofAck: new Uint8Array(0), proofHeight: undefined, signer: \"\" };\n}\n\nexport const MsgConnectionOpenConfirm: MessageFns<\n MsgConnectionOpenConfirm,\n \"ibc.core.connection.v1.MsgConnectionOpenConfirm\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenConfirm\" as const,\n\n encode(message: MsgConnectionOpenConfirm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.connectionId !== \"\") {\n writer.uint32(10).string(message.connectionId);\n }\n if (message.proofAck.length !== 0) {\n writer.uint32(18).bytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n Height.encode(message.proofHeight, writer.uint32(26).fork()).join();\n }\n if (message.signer !== \"\") {\n writer.uint32(34).string(message.signer);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenConfirm {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenConfirm();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.connectionId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.proofAck = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.proofHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgConnectionOpenConfirm {\n return {\n connectionId: isSet(object.connection_id) ? globalThis.String(object.connection_id) : \"\",\n proofAck: isSet(object.proof_ack) ? bytesFromBase64(object.proof_ack) : new Uint8Array(0),\n proofHeight: isSet(object.proof_height) ? Height.fromJSON(object.proof_height) : undefined,\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n };\n },\n\n toJSON(message: MsgConnectionOpenConfirm): unknown {\n const obj: any = {};\n if (message.connectionId !== \"\") {\n obj.connection_id = message.connectionId;\n }\n if (message.proofAck.length !== 0) {\n obj.proof_ack = base64FromBytes(message.proofAck);\n }\n if (message.proofHeight !== undefined) {\n obj.proof_height = Height.toJSON(message.proofHeight);\n }\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgConnectionOpenConfirm>): MsgConnectionOpenConfirm {\n const message = createBaseMsgConnectionOpenConfirm();\n message.connectionId = object.connectionId ?? \"\";\n message.proofAck = object.proofAck ?? new Uint8Array(0);\n message.proofHeight = (object.proofHeight !== undefined && object.proofHeight !== null)\n ? Height.fromPartial(object.proofHeight)\n : undefined;\n message.signer = object.signer ?? \"\";\n return message;\n },\n};\n\nfunction createBaseMsgConnectionOpenConfirmResponse(): MsgConnectionOpenConfirmResponse {\n return {};\n}\n\nexport const MsgConnectionOpenConfirmResponse: MessageFns<\n MsgConnectionOpenConfirmResponse,\n \"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgConnectionOpenConfirmResponse\" as const,\n\n encode(_: MsgConnectionOpenConfirmResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgConnectionOpenConfirmResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgConnectionOpenConfirmResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgConnectionOpenConfirmResponse {\n return {};\n },\n\n toJSON(_: MsgConnectionOpenConfirmResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgConnectionOpenConfirmResponse>): MsgConnectionOpenConfirmResponse {\n const message = createBaseMsgConnectionOpenConfirmResponse();\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParams(): MsgUpdateParams {\n return { signer: \"\", params: undefined };\n}\n\nexport const MsgUpdateParams: MessageFns<MsgUpdateParams, \"ibc.core.connection.v1.MsgUpdateParams\"> = {\n $type: \"ibc.core.connection.v1.MsgUpdateParams\" as const,\n\n encode(message: MsgUpdateParams, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.params !== undefined) {\n Params.encode(message.params, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParams {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParams();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.params = Params.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgUpdateParams {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,\n };\n },\n\n toJSON(message: MsgUpdateParams): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.params !== undefined) {\n obj.params = Params.toJSON(message.params);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgUpdateParams>): MsgUpdateParams {\n const message = createBaseMsgUpdateParams();\n message.signer = object.signer ?? \"\";\n message.params = (object.params !== undefined && object.params !== null)\n ? Params.fromPartial(object.params)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse {\n return {};\n}\n\nexport const MsgUpdateParamsResponse: MessageFns<\n MsgUpdateParamsResponse,\n \"ibc.core.connection.v1.MsgUpdateParamsResponse\"\n> = {\n $type: \"ibc.core.connection.v1.MsgUpdateParamsResponse\" as const,\n\n encode(_: MsgUpdateParamsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgUpdateParamsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgUpdateParamsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgUpdateParamsResponse {\n return {};\n },\n\n toJSON(_: MsgUpdateParamsResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgUpdateParamsResponse>): MsgUpdateParamsResponse {\n const message = createBaseMsgUpdateParamsResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/core/types/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { GenesisState as GenesisState3 } from \"../../channel/v1/genesis.ts\";\nimport { GenesisState as GenesisState5 } from \"../../channel/v2/genesis.ts\";\nimport { GenesisState as GenesisState1 } from \"../../client/v1/genesis.ts\";\nimport { GenesisState as GenesisState4 } from \"../../client/v2/genesis.ts\";\nimport { GenesisState as GenesisState2 } from \"../../connection/v1/genesis.ts\";\n\n/** GenesisState defines the ibc module's genesis state. */\nexport interface GenesisState {\n /** ICS002 - Clients genesis state */\n clientGenesis:\n | GenesisState1\n | undefined;\n /** ICS003 - Connections genesis state */\n connectionGenesis:\n | GenesisState2\n | undefined;\n /** ICS004 - Channel genesis state */\n channelGenesis:\n | GenesisState3\n | undefined;\n /** ICS002 - Clients/v2 genesis state */\n clientV2Genesis:\n | GenesisState4\n | undefined;\n /** ICS004 - Channel/v2 genesis state */\n channelV2Genesis: GenesisState5 | undefined;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return {\n clientGenesis: undefined,\n connectionGenesis: undefined,\n channelGenesis: undefined,\n clientV2Genesis: undefined,\n channelV2Genesis: undefined,\n };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.core.types.v1.GenesisState\"> = {\n $type: \"ibc.core.types.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientGenesis !== undefined) {\n GenesisState1.encode(message.clientGenesis, writer.uint32(10).fork()).join();\n }\n if (message.connectionGenesis !== undefined) {\n GenesisState2.encode(message.connectionGenesis, writer.uint32(18).fork()).join();\n }\n if (message.channelGenesis !== undefined) {\n GenesisState3.encode(message.channelGenesis, writer.uint32(26).fork()).join();\n }\n if (message.clientV2Genesis !== undefined) {\n GenesisState4.encode(message.clientV2Genesis, writer.uint32(34).fork()).join();\n }\n if (message.channelV2Genesis !== undefined) {\n GenesisState5.encode(message.channelV2Genesis, writer.uint32(42).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientGenesis = GenesisState1.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.connectionGenesis = GenesisState2.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.channelGenesis = GenesisState3.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.clientV2Genesis = GenesisState4.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.channelV2Genesis = GenesisState5.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n clientGenesis: isSet(object.client_genesis) ? GenesisState1.fromJSON(object.client_genesis) : undefined,\n connectionGenesis: isSet(object.connection_genesis)\n ? GenesisState2.fromJSON(object.connection_genesis)\n : undefined,\n channelGenesis: isSet(object.channel_genesis) ? GenesisState3.fromJSON(object.channel_genesis) : undefined,\n clientV2Genesis: isSet(object.client_v2_genesis) ? GenesisState4.fromJSON(object.client_v2_genesis) : undefined,\n channelV2Genesis: isSet(object.channel_v2_genesis)\n ? GenesisState5.fromJSON(object.channel_v2_genesis)\n : undefined,\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.clientGenesis !== undefined) {\n obj.client_genesis = GenesisState1.toJSON(message.clientGenesis);\n }\n if (message.connectionGenesis !== undefined) {\n obj.connection_genesis = GenesisState2.toJSON(message.connectionGenesis);\n }\n if (message.channelGenesis !== undefined) {\n obj.channel_genesis = GenesisState3.toJSON(message.channelGenesis);\n }\n if (message.clientV2Genesis !== undefined) {\n obj.client_v2_genesis = GenesisState4.toJSON(message.clientV2Genesis);\n }\n if (message.channelV2Genesis !== undefined) {\n obj.channel_v2_genesis = GenesisState5.toJSON(message.channelV2Genesis);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.clientGenesis = (object.clientGenesis !== undefined && object.clientGenesis !== null)\n ? GenesisState1.fromPartial(object.clientGenesis)\n : undefined;\n message.connectionGenesis = (object.connectionGenesis !== undefined && object.connectionGenesis !== null)\n ? GenesisState2.fromPartial(object.connectionGenesis)\n : undefined;\n message.channelGenesis = (object.channelGenesis !== undefined && object.channelGenesis !== null)\n ? GenesisState3.fromPartial(object.channelGenesis)\n : undefined;\n message.clientV2Genesis = (object.clientV2Genesis !== undefined && object.clientV2Genesis !== null)\n ? GenesisState4.fromPartial(object.clientV2Genesis)\n : undefined;\n message.channelV2Genesis = (object.channelV2Genesis !== undefined && object.channelV2Genesis !== null)\n ? GenesisState5.fromPartial(object.channelV2Genesis)\n : undefined;\n return message;\n },\n};\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, toTimestamp, fromTimestamp, fromJsonTimestamp, numberToLong, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/lightclients/tendermint/v1/tendermint.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { ProofSpec } from \"../../../../cosmos/ics23/v1/proofs.ts\";\nimport { Duration } from \"../../../../google/protobuf/duration.ts\";\nimport { Timestamp } from \"../../../../google/protobuf/timestamp.ts\";\nimport { SignedHeader } from \"../../../../tendermint/types/types.ts\";\nimport { ValidatorSet } from \"../../../../tendermint/types/validator.ts\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\nimport { MerkleRoot } from \"../../../core/commitment/v1/commitment.ts\";\n\n/**\n * ClientState from Tendermint tracks the current validator set, latest height,\n * and a possible frozen height.\n */\nexport interface ClientState {\n chainId: string;\n trustLevel:\n | Fraction\n | undefined;\n /**\n * duration of the period since the LatestTimestamp during which the\n * submitted headers are valid for upgrade\n */\n trustingPeriod:\n | Duration\n | undefined;\n /** duration of the staking unbonding period */\n unbondingPeriod:\n | Duration\n | undefined;\n /** defines how much new (untrusted) header's Time can drift into the future. */\n maxClockDrift:\n | Duration\n | undefined;\n /** Block height when the client was frozen due to a misbehaviour */\n frozenHeight:\n | Height\n | undefined;\n /** Latest height the client was updated to */\n latestHeight:\n | Height\n | undefined;\n /** Proof specifications used in verifying counterparty state */\n proofSpecs: ProofSpec[];\n /**\n * Path at which next upgraded client will be committed.\n * Each element corresponds to the key for a single CommitmentProof in the\n * chained proof. NOTE: ClientState must stored under\n * `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored\n * under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using\n * the default upgrade module, upgrade_path should be []string{\"upgrade\",\n * \"upgradedIBCState\"}`\n */\n upgradePath: string[];\n /**\n * allow_update_after_expiry is deprecated\n *\n * @deprecated\n */\n allowUpdateAfterExpiry: boolean;\n /**\n * allow_update_after_misbehaviour is deprecated\n *\n * @deprecated\n */\n allowUpdateAfterMisbehaviour: boolean;\n}\n\n/** ConsensusState defines the consensus state from Tendermint. */\nexport interface ConsensusState {\n /**\n * timestamp that corresponds to the block height in which the ConsensusState\n * was stored.\n */\n timestamp:\n | Date\n | undefined;\n /** commitment root (i.e app hash) */\n root: MerkleRoot | undefined;\n nextValidatorsHash: Uint8Array;\n}\n\n/**\n * Misbehaviour is a wrapper over two conflicting Headers\n * that implements Misbehaviour interface expected by ICS-02\n */\nexport interface Misbehaviour {\n /**\n * ClientID is deprecated\n *\n * @deprecated\n */\n clientId: string;\n header1: Header | undefined;\n header2: Header | undefined;\n}\n\n/**\n * Header defines the Tendermint client consensus Header.\n * It encapsulates all the information necessary to update from a trusted\n * Tendermint ConsensusState. The inclusion of TrustedHeight and\n * TrustedValidators allows this update to process correctly, so long as the\n * ConsensusState for the TrustedHeight exists, this removes race conditions\n * among relayers The SignedHeader and ValidatorSet are the new untrusted update\n * fields for the client. The TrustedHeight is the height of a stored\n * ConsensusState on the client that will be used to verify the new untrusted\n * header. The Trusted ConsensusState must be within the unbonding period of\n * current time in order to correctly verify, and the TrustedValidators must\n * hash to TrustedConsensusState.NextValidatorsHash since that is the last\n * trusted validator set at the TrustedHeight.\n */\nexport interface Header {\n signedHeader: SignedHeader | undefined;\n validatorSet: ValidatorSet | undefined;\n trustedHeight: Height | undefined;\n trustedValidators: ValidatorSet | undefined;\n}\n\n/**\n * Fraction defines the protobuf message type for tmmath.Fraction that only\n * supports positive values.\n */\nexport interface Fraction {\n numerator: Long;\n denominator: Long;\n}\n\nfunction createBaseClientState(): ClientState {\n return {\n chainId: \"\",\n trustLevel: undefined,\n trustingPeriod: undefined,\n unbondingPeriod: undefined,\n maxClockDrift: undefined,\n frozenHeight: undefined,\n latestHeight: undefined,\n proofSpecs: [],\n upgradePath: [],\n allowUpdateAfterExpiry: false,\n allowUpdateAfterMisbehaviour: false,\n };\n}\n\nexport const ClientState: MessageFns<ClientState, \"ibc.lightclients.tendermint.v1.ClientState\"> = {\n $type: \"ibc.lightclients.tendermint.v1.ClientState\" as const,\n\n encode(message: ClientState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.chainId !== \"\") {\n writer.uint32(10).string(message.chainId);\n }\n if (message.trustLevel !== undefined) {\n Fraction.encode(message.trustLevel, writer.uint32(18).fork()).join();\n }\n if (message.trustingPeriod !== undefined) {\n Duration.encode(message.trustingPeriod, writer.uint32(26).fork()).join();\n }\n if (message.unbondingPeriod !== undefined) {\n Duration.encode(message.unbondingPeriod, writer.uint32(34).fork()).join();\n }\n if (message.maxClockDrift !== undefined) {\n Duration.encode(message.maxClockDrift, writer.uint32(42).fork()).join();\n }\n if (message.frozenHeight !== undefined) {\n Height.encode(message.frozenHeight, writer.uint32(50).fork()).join();\n }\n if (message.latestHeight !== undefined) {\n Height.encode(message.latestHeight, writer.uint32(58).fork()).join();\n }\n for (const v of message.proofSpecs) {\n ProofSpec.encode(v!, writer.uint32(66).fork()).join();\n }\n for (const v of message.upgradePath) {\n writer.uint32(74).string(v!);\n }\n if (message.allowUpdateAfterExpiry !== false) {\n writer.uint32(80).bool(message.allowUpdateAfterExpiry);\n }\n if (message.allowUpdateAfterMisbehaviour !== false) {\n writer.uint32(88).bool(message.allowUpdateAfterMisbehaviour);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.chainId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.trustLevel = Fraction.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trustingPeriod = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.unbondingPeriod = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 5: {\n if (tag !== 42) {\n break;\n }\n\n message.maxClockDrift = Duration.decode(reader, reader.uint32());\n continue;\n }\n case 6: {\n if (tag !== 50) {\n break;\n }\n\n message.frozenHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 7: {\n if (tag !== 58) {\n break;\n }\n\n message.latestHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 8: {\n if (tag !== 66) {\n break;\n }\n\n message.proofSpecs.push(ProofSpec.decode(reader, reader.uint32()));\n continue;\n }\n case 9: {\n if (tag !== 74) {\n break;\n }\n\n message.upgradePath.push(reader.string());\n continue;\n }\n case 10: {\n if (tag !== 80) {\n break;\n }\n\n message.allowUpdateAfterExpiry = reader.bool();\n continue;\n }\n case 11: {\n if (tag !== 88) {\n break;\n }\n\n message.allowUpdateAfterMisbehaviour = reader.bool();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientState {\n return {\n chainId: isSet(object.chain_id) ? globalThis.String(object.chain_id) : \"\",\n trustLevel: isSet(object.trust_level) ? Fraction.fromJSON(object.trust_level) : undefined,\n trustingPeriod: isSet(object.trusting_period) ? Duration.fromJSON(object.trusting_period) : undefined,\n unbondingPeriod: isSet(object.unbonding_period) ? Duration.fromJSON(object.unbonding_period) : undefined,\n maxClockDrift: isSet(object.max_clock_drift) ? Duration.fromJSON(object.max_clock_drift) : undefined,\n frozenHeight: isSet(object.frozen_height) ? Height.fromJSON(object.frozen_height) : undefined,\n latestHeight: isSet(object.latest_height) ? Height.fromJSON(object.latest_height) : undefined,\n proofSpecs: globalThis.Array.isArray(object?.proof_specs)\n ? object.proof_specs.map((e: any) => ProofSpec.fromJSON(e))\n : [],\n upgradePath: globalThis.Array.isArray(object?.upgrade_path)\n ? object.upgrade_path.map((e: any) => globalThis.String(e))\n : [],\n allowUpdateAfterExpiry: isSet(object.allow_update_after_expiry)\n ? globalThis.Boolean(object.allow_update_after_expiry)\n : false,\n allowUpdateAfterMisbehaviour: isSet(object.allow_update_after_misbehaviour)\n ? globalThis.Boolean(object.allow_update_after_misbehaviour)\n : false,\n };\n },\n\n toJSON(message: ClientState): unknown {\n const obj: any = {};\n if (message.chainId !== \"\") {\n obj.chain_id = message.chainId;\n }\n if (message.trustLevel !== undefined) {\n obj.trust_level = Fraction.toJSON(message.trustLevel);\n }\n if (message.trustingPeriod !== undefined) {\n obj.trusting_period = Duration.toJSON(message.trustingPeriod);\n }\n if (message.unbondingPeriod !== undefined) {\n obj.unbonding_period = Duration.toJSON(message.unbondingPeriod);\n }\n if (message.maxClockDrift !== undefined) {\n obj.max_clock_drift = Duration.toJSON(message.maxClockDrift);\n }\n if (message.frozenHeight !== undefined) {\n obj.frozen_height = Height.toJSON(message.frozenHeight);\n }\n if (message.latestHeight !== undefined) {\n obj.latest_height = Height.toJSON(message.latestHeight);\n }\n if (message.proofSpecs?.length) {\n obj.proof_specs = message.proofSpecs.map((e) => ProofSpec.toJSON(e));\n }\n if (message.upgradePath?.length) {\n obj.upgrade_path = message.upgradePath;\n }\n if (message.allowUpdateAfterExpiry !== false) {\n obj.allow_update_after_expiry = message.allowUpdateAfterExpiry;\n }\n if (message.allowUpdateAfterMisbehaviour !== false) {\n obj.allow_update_after_misbehaviour = message.allowUpdateAfterMisbehaviour;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientState>): ClientState {\n const message = createBaseClientState();\n message.chainId = object.chainId ?? \"\";\n message.trustLevel = (object.trustLevel !== undefined && object.trustLevel !== null)\n ? Fraction.fromPartial(object.trustLevel)\n : undefined;\n message.trustingPeriod = (object.trustingPeriod !== undefined && object.trustingPeriod !== null)\n ? Duration.fromPartial(object.trustingPeriod)\n : undefined;\n message.unbondingPeriod = (object.unbondingPeriod !== undefined && object.unbondingPeriod !== null)\n ? Duration.fromPartial(object.unbondingPeriod)\n : undefined;\n message.maxClockDrift = (object.maxClockDrift !== undefined && object.maxClockDrift !== null)\n ? Duration.fromPartial(object.maxClockDrift)\n : undefined;\n message.frozenHeight = (object.frozenHeight !== undefined && object.frozenHeight !== null)\n ? Height.fromPartial(object.frozenHeight)\n : undefined;\n message.latestHeight = (object.latestHeight !== undefined && object.latestHeight !== null)\n ? Height.fromPartial(object.latestHeight)\n : undefined;\n message.proofSpecs = object.proofSpecs?.map((e) => ProofSpec.fromPartial(e)) || [];\n message.upgradePath = object.upgradePath?.map((e) => e) || [];\n message.allowUpdateAfterExpiry = object.allowUpdateAfterExpiry ?? false;\n message.allowUpdateAfterMisbehaviour = object.allowUpdateAfterMisbehaviour ?? false;\n return message;\n },\n};\n\nfunction createBaseConsensusState(): ConsensusState {\n return { timestamp: undefined, root: undefined, nextValidatorsHash: new Uint8Array(0) };\n}\n\nexport const ConsensusState: MessageFns<ConsensusState, \"ibc.lightclients.tendermint.v1.ConsensusState\"> = {\n $type: \"ibc.lightclients.tendermint.v1.ConsensusState\" as const,\n\n encode(message: ConsensusState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.timestamp !== undefined) {\n Timestamp.encode(toTimestamp(message.timestamp), writer.uint32(10).fork()).join();\n }\n if (message.root !== undefined) {\n MerkleRoot.encode(message.root, writer.uint32(18).fork()).join();\n }\n if (message.nextValidatorsHash.length !== 0) {\n writer.uint32(26).bytes(message.nextValidatorsHash);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseConsensusState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.timestamp = fromTimestamp(Timestamp.decode(reader, reader.uint32()));\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.root = MerkleRoot.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.nextValidatorsHash = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ConsensusState {\n return {\n timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,\n root: isSet(object.root) ? MerkleRoot.fromJSON(object.root) : undefined,\n nextValidatorsHash: isSet(object.next_validators_hash)\n ? bytesFromBase64(object.next_validators_hash)\n : new Uint8Array(0),\n };\n },\n\n toJSON(message: ConsensusState): unknown {\n const obj: any = {};\n if (message.timestamp !== undefined) {\n obj.timestamp = message.timestamp.toISOString();\n }\n if (message.root !== undefined) {\n obj.root = MerkleRoot.toJSON(message.root);\n }\n if (message.nextValidatorsHash.length !== 0) {\n obj.next_validators_hash = base64FromBytes(message.nextValidatorsHash);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ConsensusState>): ConsensusState {\n const message = createBaseConsensusState();\n message.timestamp = object.timestamp ?? undefined;\n message.root = (object.root !== undefined && object.root !== null)\n ? MerkleRoot.fromPartial(object.root)\n : undefined;\n message.nextValidatorsHash = object.nextValidatorsHash ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMisbehaviour(): Misbehaviour {\n return { clientId: \"\", header1: undefined, header2: undefined };\n}\n\nexport const Misbehaviour: MessageFns<Misbehaviour, \"ibc.lightclients.tendermint.v1.Misbehaviour\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Misbehaviour\" as const,\n\n encode(message: Misbehaviour, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.clientId !== \"\") {\n writer.uint32(10).string(message.clientId);\n }\n if (message.header1 !== undefined) {\n Header.encode(message.header1, writer.uint32(18).fork()).join();\n }\n if (message.header2 !== undefined) {\n Header.encode(message.header2, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Misbehaviour {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMisbehaviour();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.header1 = Header.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.header2 = Header.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Misbehaviour {\n return {\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n header1: isSet(object.header_1) ? Header.fromJSON(object.header_1) : undefined,\n header2: isSet(object.header_2) ? Header.fromJSON(object.header_2) : undefined,\n };\n },\n\n toJSON(message: Misbehaviour): unknown {\n const obj: any = {};\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.header1 !== undefined) {\n obj.header_1 = Header.toJSON(message.header1);\n }\n if (message.header2 !== undefined) {\n obj.header_2 = Header.toJSON(message.header2);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Misbehaviour>): Misbehaviour {\n const message = createBaseMisbehaviour();\n message.clientId = object.clientId ?? \"\";\n message.header1 = (object.header1 !== undefined && object.header1 !== null)\n ? Header.fromPartial(object.header1)\n : undefined;\n message.header2 = (object.header2 !== undefined && object.header2 !== null)\n ? Header.fromPartial(object.header2)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseHeader(): Header {\n return { signedHeader: undefined, validatorSet: undefined, trustedHeight: undefined, trustedValidators: undefined };\n}\n\nexport const Header: MessageFns<Header, \"ibc.lightclients.tendermint.v1.Header\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Header\" as const,\n\n encode(message: Header, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signedHeader !== undefined) {\n SignedHeader.encode(message.signedHeader, writer.uint32(10).fork()).join();\n }\n if (message.validatorSet !== undefined) {\n ValidatorSet.encode(message.validatorSet, writer.uint32(18).fork()).join();\n }\n if (message.trustedHeight !== undefined) {\n Height.encode(message.trustedHeight, writer.uint32(26).fork()).join();\n }\n if (message.trustedValidators !== undefined) {\n ValidatorSet.encode(message.trustedValidators, writer.uint32(34).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Header {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseHeader();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signedHeader = SignedHeader.decode(reader, reader.uint32());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.validatorSet = ValidatorSet.decode(reader, reader.uint32());\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.trustedHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.trustedValidators = ValidatorSet.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Header {\n return {\n signedHeader: isSet(object.signed_header) ? SignedHeader.fromJSON(object.signed_header) : undefined,\n validatorSet: isSet(object.validator_set) ? ValidatorSet.fromJSON(object.validator_set) : undefined,\n trustedHeight: isSet(object.trusted_height) ? Height.fromJSON(object.trusted_height) : undefined,\n trustedValidators: isSet(object.trusted_validators)\n ? ValidatorSet.fromJSON(object.trusted_validators)\n : undefined,\n };\n },\n\n toJSON(message: Header): unknown {\n const obj: any = {};\n if (message.signedHeader !== undefined) {\n obj.signed_header = SignedHeader.toJSON(message.signedHeader);\n }\n if (message.validatorSet !== undefined) {\n obj.validator_set = ValidatorSet.toJSON(message.validatorSet);\n }\n if (message.trustedHeight !== undefined) {\n obj.trusted_height = Height.toJSON(message.trustedHeight);\n }\n if (message.trustedValidators !== undefined) {\n obj.trusted_validators = ValidatorSet.toJSON(message.trustedValidators);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Header>): Header {\n const message = createBaseHeader();\n message.signedHeader = (object.signedHeader !== undefined && object.signedHeader !== null)\n ? SignedHeader.fromPartial(object.signedHeader)\n : undefined;\n message.validatorSet = (object.validatorSet !== undefined && object.validatorSet !== null)\n ? ValidatorSet.fromPartial(object.validatorSet)\n : undefined;\n message.trustedHeight = (object.trustedHeight !== undefined && object.trustedHeight !== null)\n ? Height.fromPartial(object.trustedHeight)\n : undefined;\n message.trustedValidators = (object.trustedValidators !== undefined && object.trustedValidators !== null)\n ? ValidatorSet.fromPartial(object.trustedValidators)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseFraction(): Fraction {\n return { numerator: Long.UZERO, denominator: Long.UZERO };\n}\n\nexport const Fraction: MessageFns<Fraction, \"ibc.lightclients.tendermint.v1.Fraction\"> = {\n $type: \"ibc.lightclients.tendermint.v1.Fraction\" as const,\n\n encode(message: Fraction, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (!message.numerator.equals(Long.UZERO)) {\n writer.uint32(8).uint64(message.numerator.toString());\n }\n if (!message.denominator.equals(Long.UZERO)) {\n writer.uint32(16).uint64(message.denominator.toString());\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Fraction {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFraction();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 8) {\n break;\n }\n\n message.numerator = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n case 2: {\n if (tag !== 16) {\n break;\n }\n\n message.denominator = Long.fromString(reader.uint64().toString(), true);\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Fraction {\n return {\n numerator: isSet(object.numerator) ? Long.fromValue(object.numerator) : Long.UZERO,\n denominator: isSet(object.denominator) ? Long.fromValue(object.denominator) : Long.UZERO,\n };\n },\n\n toJSON(message: Fraction): unknown {\n const obj: any = {};\n if (!message.numerator.equals(Long.UZERO)) {\n obj.numerator = (message.numerator || Long.UZERO).toString();\n }\n if (!message.denominator.equals(Long.UZERO)) {\n obj.denominator = (message.denominator || Long.UZERO).toString();\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Fraction>): Fraction {\n const message = createBaseFraction();\n message.numerator = (object.numerator !== undefined && object.numerator !== null)\n ? Long.fromValue(object.numerator)\n : Long.UZERO;\n message.denominator = (object.denominator !== undefined && object.denominator !== null)\n ? Long.fromValue(object.denominator)\n : Long.UZERO;\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_toTimestamp(date: Date): Timestamp {\n const seconds = numberToLong(Math.trunc(date.getTime() / 1_000));\n const nanos = (date.getTime() % 1_000) * 1_000_000;\n return { seconds, nanos };\n}\n\nfunction _unused_fromTimestamp(t: Timestamp): Date {\n let millis = (t.seconds.toNumber() || 0) * 1_000;\n millis += (t.nanos || 0) / 1_000_000;\n return new globalThis.Date(millis);\n}\n\nfunction _unused_fromJsonTimestamp(o: any): Date {\n if (o instanceof globalThis.Date) {\n return o;\n } else if (typeof o === \"string\") {\n return new globalThis.Date(o);\n } else {\n return fromTimestamp(Timestamp.fromJSON(o));\n }\n}\n\nfunction _unused_numberToLong(number: number) {\n return Long.fromNumber(number);\n}\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/genesis.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** GenesisState defines 08-wasm's keeper genesis state */\nexport interface GenesisState {\n /** uploaded light client wasm contracts */\n contracts: Contract[];\n}\n\n/** Contract stores contract code */\nexport interface Contract {\n /** contract byte code */\n codeBytes: Uint8Array;\n}\n\nfunction createBaseGenesisState(): GenesisState {\n return { contracts: [] };\n}\n\nexport const GenesisState: MessageFns<GenesisState, \"ibc.lightclients.wasm.v1.GenesisState\"> = {\n $type: \"ibc.lightclients.wasm.v1.GenesisState\" as const,\n\n encode(message: GenesisState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.contracts) {\n Contract.encode(v!, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): GenesisState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGenesisState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.contracts.push(Contract.decode(reader, reader.uint32()));\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): GenesisState {\n return {\n contracts: globalThis.Array.isArray(object?.contracts)\n ? object.contracts.map((e: any) => Contract.fromJSON(e))\n : [],\n };\n },\n\n toJSON(message: GenesisState): unknown {\n const obj: any = {};\n if (message.contracts?.length) {\n obj.contracts = message.contracts.map((e) => Contract.toJSON(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<GenesisState>): GenesisState {\n const message = createBaseGenesisState();\n message.contracts = object.contracts?.map((e) => Contract.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseContract(): Contract {\n return { codeBytes: new Uint8Array(0) };\n}\n\nexport const Contract: MessageFns<Contract, \"ibc.lightclients.wasm.v1.Contract\"> = {\n $type: \"ibc.lightclients.wasm.v1.Contract\" as const,\n\n encode(message: Contract, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.codeBytes.length !== 0) {\n writer.uint32(10).bytes(message.codeBytes);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Contract {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseContract();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.codeBytes = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Contract {\n return { codeBytes: isSet(object.code_bytes) ? bytesFromBase64(object.code_bytes) : new Uint8Array(0) };\n },\n\n toJSON(message: Contract): unknown {\n const obj: any = {};\n if (message.codeBytes.length !== 0) {\n obj.code_bytes = base64FromBytes(message.codeBytes);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Contract>): Contract {\n const message = createBaseContract();\n message.codeBytes = object.codeBytes ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/query.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { PageRequest, PageResponse } from \"../../../../cosmos/base/query/v1beta1/pagination.ts\";\n\n/** QueryChecksumsRequest is the request type for the Query/Checksums RPC method. */\nexport interface QueryChecksumsRequest {\n /** pagination defines an optional pagination for the request. */\n pagination: PageRequest | undefined;\n}\n\n/** QueryChecksumsResponse is the response type for the Query/Checksums RPC method. */\nexport interface QueryChecksumsResponse {\n /** checksums is a list of the hex encoded checksums of all wasm codes stored. */\n checksums: string[];\n /** pagination defines the pagination in the response. */\n pagination: PageResponse | undefined;\n}\n\n/** QueryCodeRequest is the request type for the Query/Code RPC method. */\nexport interface QueryCodeRequest {\n /** checksum is a hex encoded string of the code stored. */\n checksum: string;\n}\n\n/** QueryCodeResponse is the response type for the Query/Code RPC method. */\nexport interface QueryCodeResponse {\n data: Uint8Array;\n}\n\nfunction createBaseQueryChecksumsRequest(): QueryChecksumsRequest {\n return { pagination: undefined };\n}\n\nexport const QueryChecksumsRequest: MessageFns<\n QueryChecksumsRequest,\n \"ibc.lightclients.wasm.v1.QueryChecksumsRequest\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.QueryChecksumsRequest\" as const,\n\n encode(message: QueryChecksumsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.pagination !== undefined) {\n PageRequest.encode(message.pagination, writer.uint32(10).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChecksumsRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChecksumsRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.pagination = PageRequest.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChecksumsRequest {\n return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined };\n },\n\n toJSON(message: QueryChecksumsRequest): unknown {\n const obj: any = {};\n if (message.pagination !== undefined) {\n obj.pagination = PageRequest.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChecksumsRequest>): QueryChecksumsRequest {\n const message = createBaseQueryChecksumsRequest();\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageRequest.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryChecksumsResponse(): QueryChecksumsResponse {\n return { checksums: [], pagination: undefined };\n}\n\nexport const QueryChecksumsResponse: MessageFns<\n QueryChecksumsResponse,\n \"ibc.lightclients.wasm.v1.QueryChecksumsResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.QueryChecksumsResponse\" as const,\n\n encode(message: QueryChecksumsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.checksums) {\n writer.uint32(10).string(v!);\n }\n if (message.pagination !== undefined) {\n PageResponse.encode(message.pagination, writer.uint32(18).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryChecksumsResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryChecksumsResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksums.push(reader.string());\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.pagination = PageResponse.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryChecksumsResponse {\n return {\n checksums: globalThis.Array.isArray(object?.checksums)\n ? object.checksums.map((e: any) => globalThis.String(e))\n : [],\n pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,\n };\n },\n\n toJSON(message: QueryChecksumsResponse): unknown {\n const obj: any = {};\n if (message.checksums?.length) {\n obj.checksums = message.checksums;\n }\n if (message.pagination !== undefined) {\n obj.pagination = PageResponse.toJSON(message.pagination);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryChecksumsResponse>): QueryChecksumsResponse {\n const message = createBaseQueryChecksumsResponse();\n message.checksums = object.checksums?.map((e) => e) || [];\n message.pagination = (object.pagination !== undefined && object.pagination !== null)\n ? PageResponse.fromPartial(object.pagination)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseQueryCodeRequest(): QueryCodeRequest {\n return { checksum: \"\" };\n}\n\nexport const QueryCodeRequest: MessageFns<QueryCodeRequest, \"ibc.lightclients.wasm.v1.QueryCodeRequest\"> = {\n $type: \"ibc.lightclients.wasm.v1.QueryCodeRequest\" as const,\n\n encode(message: QueryCodeRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.checksum !== \"\") {\n writer.uint32(10).string(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryCodeRequest {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryCodeRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksum = reader.string();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryCodeRequest {\n return { checksum: isSet(object.checksum) ? globalThis.String(object.checksum) : \"\" };\n },\n\n toJSON(message: QueryCodeRequest): unknown {\n const obj: any = {};\n if (message.checksum !== \"\") {\n obj.checksum = message.checksum;\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryCodeRequest>): QueryCodeRequest {\n const message = createBaseQueryCodeRequest();\n message.checksum = object.checksum ?? \"\";\n return message;\n },\n};\n\nfunction createBaseQueryCodeResponse(): QueryCodeResponse {\n return { data: new Uint8Array(0) };\n}\n\nexport const QueryCodeResponse: MessageFns<QueryCodeResponse, \"ibc.lightclients.wasm.v1.QueryCodeResponse\"> = {\n $type: \"ibc.lightclients.wasm.v1.QueryCodeResponse\" as const,\n\n encode(message: QueryCodeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): QueryCodeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseQueryCodeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): QueryCodeResponse {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: QueryCodeResponse): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<QueryCodeResponse>): QueryCodeResponse {\n const message = createBaseQueryCodeResponse();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/tx.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\n\n/** MsgStoreCode defines the request type for the StoreCode rpc. */\nexport interface MsgStoreCode {\n /** signer address */\n signer: string;\n /** wasm byte code of light client contract. It can be raw or gzip compressed */\n wasmByteCode: Uint8Array;\n}\n\n/** MsgStoreCodeResponse defines the response type for the StoreCode rpc */\nexport interface MsgStoreCodeResponse {\n /** checksum is the sha256 hash of the stored code */\n checksum: Uint8Array;\n}\n\n/** MsgRemoveChecksum defines the request type for the MsgRemoveChecksum rpc. */\nexport interface MsgRemoveChecksum {\n /** signer address */\n signer: string;\n /** checksum is the sha256 hash to be removed from the store */\n checksum: Uint8Array;\n}\n\n/** MsgStoreChecksumResponse defines the response type for the StoreCode rpc */\nexport interface MsgRemoveChecksumResponse {\n}\n\n/** MsgMigrateContract defines the request type for the MigrateContract rpc. */\nexport interface MsgMigrateContract {\n /** signer address */\n signer: string;\n /** the client id of the contract */\n clientId: string;\n /** checksum is the sha256 hash of the new wasm byte code for the contract */\n checksum: Uint8Array;\n /** the json encoded message to be passed to the contract on migration */\n msg: Uint8Array;\n}\n\n/** MsgMigrateContractResponse defines the response type for the MigrateContract rpc */\nexport interface MsgMigrateContractResponse {\n}\n\nfunction createBaseMsgStoreCode(): MsgStoreCode {\n return { signer: \"\", wasmByteCode: new Uint8Array(0) };\n}\n\nexport const MsgStoreCode: MessageFns<MsgStoreCode, \"ibc.lightclients.wasm.v1.MsgStoreCode\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgStoreCode\" as const,\n\n encode(message: MsgStoreCode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.wasmByteCode.length !== 0) {\n writer.uint32(18).bytes(message.wasmByteCode);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCode {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgStoreCode();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.wasmByteCode = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgStoreCode {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n wasmByteCode: isSet(object.wasm_byte_code) ? bytesFromBase64(object.wasm_byte_code) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgStoreCode): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.wasmByteCode.length !== 0) {\n obj.wasm_byte_code = base64FromBytes(message.wasmByteCode);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgStoreCode>): MsgStoreCode {\n const message = createBaseMsgStoreCode();\n message.signer = object.signer ?? \"\";\n message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgStoreCodeResponse(): MsgStoreCodeResponse {\n return { checksum: new Uint8Array(0) };\n}\n\nexport const MsgStoreCodeResponse: MessageFns<MsgStoreCodeResponse, \"ibc.lightclients.wasm.v1.MsgStoreCodeResponse\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgStoreCodeResponse\" as const,\n\n encode(message: MsgStoreCodeResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.checksum.length !== 0) {\n writer.uint32(10).bytes(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgStoreCodeResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgStoreCodeResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgStoreCodeResponse {\n return { checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0) };\n },\n\n toJSON(message: MsgStoreCodeResponse): unknown {\n const obj: any = {};\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgStoreCodeResponse>): MsgStoreCodeResponse {\n const message = createBaseMsgStoreCodeResponse();\n message.checksum = object.checksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgRemoveChecksum(): MsgRemoveChecksum {\n return { signer: \"\", checksum: new Uint8Array(0) };\n}\n\nexport const MsgRemoveChecksum: MessageFns<MsgRemoveChecksum, \"ibc.lightclients.wasm.v1.MsgRemoveChecksum\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgRemoveChecksum\" as const,\n\n encode(message: MsgRemoveChecksum, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(18).bytes(message.checksum);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveChecksum {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRemoveChecksum();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgRemoveChecksum {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgRemoveChecksum): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgRemoveChecksum>): MsgRemoveChecksum {\n const message = createBaseMsgRemoveChecksum();\n message.signer = object.signer ?? \"\";\n message.checksum = object.checksum ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgRemoveChecksumResponse(): MsgRemoveChecksumResponse {\n return {};\n}\n\nexport const MsgRemoveChecksumResponse: MessageFns<\n MsgRemoveChecksumResponse,\n \"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.MsgRemoveChecksumResponse\" as const,\n\n encode(_: MsgRemoveChecksumResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgRemoveChecksumResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgRemoveChecksumResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgRemoveChecksumResponse {\n return {};\n },\n\n toJSON(_: MsgRemoveChecksumResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgRemoveChecksumResponse>): MsgRemoveChecksumResponse {\n const message = createBaseMsgRemoveChecksumResponse();\n return message;\n },\n};\n\nfunction createBaseMsgMigrateContract(): MsgMigrateContract {\n return { signer: \"\", clientId: \"\", checksum: new Uint8Array(0), msg: new Uint8Array(0) };\n}\n\nexport const MsgMigrateContract: MessageFns<MsgMigrateContract, \"ibc.lightclients.wasm.v1.MsgMigrateContract\"> = {\n $type: \"ibc.lightclients.wasm.v1.MsgMigrateContract\" as const,\n\n encode(message: MsgMigrateContract, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.signer !== \"\") {\n writer.uint32(10).string(message.signer);\n }\n if (message.clientId !== \"\") {\n writer.uint32(18).string(message.clientId);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(26).bytes(message.checksum);\n }\n if (message.msg.length !== 0) {\n writer.uint32(34).bytes(message.msg);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContract {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgMigrateContract();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.signer = reader.string();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.clientId = reader.string();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n case 4: {\n if (tag !== 34) {\n break;\n }\n\n message.msg = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): MsgMigrateContract {\n return {\n signer: isSet(object.signer) ? globalThis.String(object.signer) : \"\",\n clientId: isSet(object.client_id) ? globalThis.String(object.client_id) : \"\",\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0),\n };\n },\n\n toJSON(message: MsgMigrateContract): unknown {\n const obj: any = {};\n if (message.signer !== \"\") {\n obj.signer = message.signer;\n }\n if (message.clientId !== \"\") {\n obj.client_id = message.clientId;\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n if (message.msg.length !== 0) {\n obj.msg = base64FromBytes(message.msg);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<MsgMigrateContract>): MsgMigrateContract {\n const message = createBaseMsgMigrateContract();\n message.signer = object.signer ?? \"\";\n message.clientId = object.clientId ?? \"\";\n message.checksum = object.checksum ?? new Uint8Array(0);\n message.msg = object.msg ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseMsgMigrateContractResponse(): MsgMigrateContractResponse {\n return {};\n}\n\nexport const MsgMigrateContractResponse: MessageFns<\n MsgMigrateContractResponse,\n \"ibc.lightclients.wasm.v1.MsgMigrateContractResponse\"\n> = {\n $type: \"ibc.lightclients.wasm.v1.MsgMigrateContractResponse\" as const,\n\n encode(_: MsgMigrateContractResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): MsgMigrateContractResponse {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseMsgMigrateContractResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(_: any): MsgMigrateContractResponse {\n return {};\n },\n\n toJSON(_: MsgMigrateContractResponse): unknown {\n const obj: any = {};\n return obj;\n },\n fromPartial(_: DeepPartial<MsgMigrateContractResponse>): MsgMigrateContractResponse {\n const message = createBaseMsgMigrateContractResponse();\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n", "import { bytesFromBase64, base64FromBytes, isSet } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\nimport type { DeepPartial, MessageFns } from \"../../../../../../encoding/typeEncodingHelpers.ts\"\n// Code generated by protoc-gen-ts_proto. DO NOT EDIT.\n// versions:\n// protoc-gen-ts_proto v2.11.8\n// protoc unknown\n// source: ibc/lightclients/wasm/v1/wasm.proto\n\n/* eslint-disable */\nimport { BinaryReader, BinaryWriter } from \"@bufbuild/protobuf/wire\";\nimport Long from \"long\";\nimport { Height } from \"../../../core/client/v1/client.ts\";\n\n/** Wasm light client's Client state */\nexport interface ClientState {\n /**\n * bytes encoding the client state of the underlying light client\n * implemented as a Wasm contract.\n */\n data: Uint8Array;\n checksum: Uint8Array;\n latestHeight: Height | undefined;\n}\n\n/** Wasm light client's ConsensusState */\nexport interface ConsensusState {\n /**\n * bytes encoding the consensus state of the underlying light client\n * implemented as a Wasm contract.\n */\n data: Uint8Array;\n}\n\n/** Wasm light client message (either header(s) or misbehaviour) */\nexport interface ClientMessage {\n data: Uint8Array;\n}\n\n/**\n * Checksums defines a list of all checksums that are stored\n *\n * Deprecated: This message is deprecated in favor of storing the checksums\n * using a Collections.KeySet.\n *\n * @deprecated\n */\nexport interface Checksums {\n checksums: Uint8Array[];\n}\n\nfunction createBaseClientState(): ClientState {\n return { data: new Uint8Array(0), checksum: new Uint8Array(0), latestHeight: undefined };\n}\n\nexport const ClientState: MessageFns<ClientState, \"ibc.lightclients.wasm.v1.ClientState\"> = {\n $type: \"ibc.lightclients.wasm.v1.ClientState\" as const,\n\n encode(message: ClientState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n if (message.checksum.length !== 0) {\n writer.uint32(18).bytes(message.checksum);\n }\n if (message.latestHeight !== undefined) {\n Height.encode(message.latestHeight, writer.uint32(26).fork()).join();\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n case 2: {\n if (tag !== 18) {\n break;\n }\n\n message.checksum = reader.bytes();\n continue;\n }\n case 3: {\n if (tag !== 26) {\n break;\n }\n\n message.latestHeight = Height.decode(reader, reader.uint32());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientState {\n return {\n data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),\n checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0),\n latestHeight: isSet(object.latest_height) ? Height.fromJSON(object.latest_height) : undefined,\n };\n },\n\n toJSON(message: ClientState): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n if (message.checksum.length !== 0) {\n obj.checksum = base64FromBytes(message.checksum);\n }\n if (message.latestHeight !== undefined) {\n obj.latest_height = Height.toJSON(message.latestHeight);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientState>): ClientState {\n const message = createBaseClientState();\n message.data = object.data ?? new Uint8Array(0);\n message.checksum = object.checksum ?? new Uint8Array(0);\n message.latestHeight = (object.latestHeight !== undefined && object.latestHeight !== null)\n ? Height.fromPartial(object.latestHeight)\n : undefined;\n return message;\n },\n};\n\nfunction createBaseConsensusState(): ConsensusState {\n return { data: new Uint8Array(0) };\n}\n\nexport const ConsensusState: MessageFns<ConsensusState, \"ibc.lightclients.wasm.v1.ConsensusState\"> = {\n $type: \"ibc.lightclients.wasm.v1.ConsensusState\" as const,\n\n encode(message: ConsensusState, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ConsensusState {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseConsensusState();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ConsensusState {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: ConsensusState): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ConsensusState>): ConsensusState {\n const message = createBaseConsensusState();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseClientMessage(): ClientMessage {\n return { data: new Uint8Array(0) };\n}\n\nexport const ClientMessage: MessageFns<ClientMessage, \"ibc.lightclients.wasm.v1.ClientMessage\"> = {\n $type: \"ibc.lightclients.wasm.v1.ClientMessage\" as const,\n\n encode(message: ClientMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n if (message.data.length !== 0) {\n writer.uint32(10).bytes(message.data);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): ClientMessage {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseClientMessage();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.data = reader.bytes();\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): ClientMessage {\n return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) };\n },\n\n toJSON(message: ClientMessage): unknown {\n const obj: any = {};\n if (message.data.length !== 0) {\n obj.data = base64FromBytes(message.data);\n }\n return obj;\n },\n fromPartial(object: DeepPartial<ClientMessage>): ClientMessage {\n const message = createBaseClientMessage();\n message.data = object.data ?? new Uint8Array(0);\n return message;\n },\n};\n\nfunction createBaseChecksums(): Checksums {\n return { checksums: [] };\n}\n\nexport const Checksums: MessageFns<Checksums, \"ibc.lightclients.wasm.v1.Checksums\"> = {\n $type: \"ibc.lightclients.wasm.v1.Checksums\" as const,\n\n encode(message: Checksums, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {\n for (const v of message.checksums) {\n writer.uint32(10).bytes(v!);\n }\n return writer;\n },\n\n decode(input: BinaryReader | Uint8Array, length?: number): Checksums {\n const reader = input instanceof BinaryReader ? input : new BinaryReader(input);\n const end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseChecksums();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1: {\n if (tag !== 10) {\n break;\n }\n\n message.checksums.push(reader.bytes());\n continue;\n }\n }\n if ((tag & 7) === 4 || tag === 0) {\n break;\n }\n reader.skip(tag & 7);\n }\n return message;\n },\n\n fromJSON(object: any): Checksums {\n return {\n checksums: globalThis.Array.isArray(object?.checksums)\n ? object.checksums.map((e: any) => bytesFromBase64(e))\n : [],\n };\n },\n\n toJSON(message: Checksums): unknown {\n const obj: any = {};\n if (message.checksums?.length) {\n obj.checksums = message.checksums.map((e) => base64FromBytes(e));\n }\n return obj;\n },\n fromPartial(object: DeepPartial<Checksums>): Checksums {\n const message = createBaseChecksums();\n message.checksums = object.checksums?.map((e) => e) || [];\n return message;\n },\n};\n\nfunction _unused_bytesFromBase64(b64: string): Uint8Array {\n if ((globalThis as any).Buffer) {\n return Uint8Array.from((globalThis as any).Buffer.from(b64, \"base64\"));\n } else {\n const bin = globalThis.atob(b64);\n const arr = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; ++i) {\n arr[i] = bin.charCodeAt(i);\n }\n return arr;\n }\n}\n\nfunction _unused_base64FromBytes(arr: Uint8Array): string {\n if ((globalThis as any).Buffer) {\n return (globalThis as any).Buffer.from(arr).toString(\"base64\");\n } else {\n const bin: string[] = [];\n arr.forEach((byte) => {\n bin.push(globalThis.String.fromCharCode(byte));\n });\n return globalThis.btoa(bin.join(\"\"));\n }\n}\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\ntype _unused_DeepPartial<T> = T extends Builtin ? T\n : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>\n : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction _unused_isSet(value: any): boolean {\n return value !== null && value !== undefined;\n}\n\ninterface _unused_MessageFns<T, V extends string> {\n readonly $type: V;\n encode(message: T, writer?: BinaryWriter): BinaryWriter;\n decode(input: BinaryReader | Uint8Array, length?: number): T;\n fromJSON(object: any): T;\n toJSON(message: T): unknown;\n create(base?: DeepPartial<T>): T;\n fromPartial(object: DeepPartial<T>): T;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAS,cAAc,oBAAoB;AAY3C,SAAS,mBAA2B;AAClC,SAAO,EAAE,mBAAmB,MAAM;AACpC;AAEO,IAAMA,UAA0F;AAAA,EACrG,OAAO;AAAA,EAEP,OAAO,SAAiB,SAAuB,IAAI,aAAa,GAAiB;AAC/E,QAAI,QAAQ,sBAAsB,OAAO;AACvC,aAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,iBAAiB;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyB;AAChE,UAAM,SAAS,iBAAiB,eAAe,QAAQ,IAAI,aAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iBAAiB;AACjC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,oBAAoB,OAAO,KAAK;AACxC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqB;AAC5B,WAAO;AAAA,MACL,mBAAmB,MAAM,OAAO,kBAAkB,IAAI,WAAW,QAAQ,OAAO,kBAAkB,IAAI;AAAA,IACxG;AAAA,EACF;AAAA,EAEA,OAAO,SAA0B;AAC/B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,sBAAsB,OAAO;AACvC,UAAI,qBAAqB,QAAQ;AAAA,IACnC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqC;AAC/C,UAAM,UAAU,iBAAiB;AACjC,YAAQ,oBAAoB,OAAO,qBAAqB;AACxD,WAAO;AAAA,EACT;AACF;;;ACpEA,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAyB3C,SAAS,0CAAyE;AAChF,SAAO,EAAE,OAAO,IAAI,cAAc,GAAG;AACvC;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAIC,cAAa,GAAiB;AACtG,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI;AAAA,MAC/D,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,IACxF;AAAA,EACF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,QAAQ,OAAO,SAAS;AAChC,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,SAAS,GAAG;AACvB;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAID,cAAa,GAAiB;AACvG,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO,EAAE,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI,GAAG;AAAA,EACnF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,UAAU,OAAO,WAAW;AACpC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,CAAC;AACV;AAEO,IAAM,qBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAuB,SAAuB,IAAID,cAAa,GAAiB;AACrF,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAA4B;AACnC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAwD;AAClE,UAAM,UAAU,6BAA6B;AAC7C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gCAAqD;AAC5D,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAM,sBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAID,cAAa,GAAiB;AAC5F,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAE,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASC,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACrF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAU,8BAA8B;AAC9C,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;;;ACxQA,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAQpC,IAAK,OAAL,kBAAKC,UAAL;AAEL,EAAAA,YAAA,sBAAmB,KAAnB;AAEA,EAAAA,YAAA,qBAAkB,KAAlB;AACA,EAAAA,YAAA,kBAAe,MAAf;AALU,SAAAA;AAAA,GAAA;AAQL,SAAS,aAAa,QAAmB;AAC9C,UAAQ,QAAQ;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,WAAW,QAAsB;AAC/C,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAcA,SAAS,wCAAqE;AAC5E,SAAO,EAAE,MAAM,GAAG,MAAM,IAAI,WAAW,CAAC,GAAG,MAAM,GAAG;AACtD;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAsC,SAAuB,IAAIC,cAAa,GAAiB;AACpG,QAAI,QAAQ,SAAS,GAAG;AACtB,aAAO,OAAO,CAAC,EAAE,MAAM,QAAQ,IAAI;AAAA,IACrC;AACA,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0C;AACjD,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,aAAa,OAAO,IAAI,IAAI;AAAA,MACvD,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC;AAAA,MAC1E,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,IAC9D;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,GAAG;AACtB,UAAI,OAAO,WAAW,QAAQ,IAAI;AAAA,IACpC;AACA,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+E;AACzF,UAAM,UAAU,sCAAsC;AACtD,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,YAAQ,OAAO,OAAO,QAAQ;AAC9B,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAA+B;AACtC,SAAO,EAAE,UAAU,CAAC,EAAE;AACxB;AAEO,IAAM,WAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAAmB,SAAuB,IAAID,cAAa,GAAiB;AACjF,eAAW,KAAK,QAAQ,UAAU;AAChC,UAAI,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2B;AAClE,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mBAAmB;AACnC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuB;AAC9B,WAAO;AAAA,MACL,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAAI,OAAO,SAAS,IAAI,CAAC,MAAW,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC;AAAA,IAC7G;AAAA,EACF;AAAA,EAEA,OAAO,SAA4B;AACjC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;AAAA,IAC1D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyC;AACnD,UAAM,UAAU,mBAAmB;AACnC,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC;AACvE,WAAO;AAAA,EACT;AACF;;;AC5MA,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAC3C,OAAO,UAAU;AAsDjB,SAAS,yCAAuE;AAC9E,SAAO,EAAE,OAAO,IAAI,cAAc,IAAI,SAAS,IAAI,UAAU,EAAE;AACjE;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAuC,SAAuB,IAAIC,cAAa,GAAiB;AACrG,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,QAAI,QAAQ,aAAa,GAAG;AAC1B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2C;AAClD,WAAO;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI;AAAA,MAC/D,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACrE,UAAU,MAAM,OAAO,QAAQ,IAAI,cAAc,OAAO,QAAQ,IAAI;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,OAAO,SAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,aAAa,GAAG;AAC1B,UAAI,WAAW,YAAY,QAAQ,QAAQ;AAAA,IAC7C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiF;AAC3F,UAAM,UAAU,uCAAuC;AACvD,YAAQ,QAAQ,OAAO,SAAS;AAChC,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,UAAU,OAAO,WAAW;AACpC,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iDAAuF;AAC9F,SAAO,EAAE,WAAW,IAAI,QAAQ,GAAG;AACrC;AAEO,IAAM,uCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA+C,SAAuB,IAAID,cAAa,GAAiB;AAC7G,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuD;AAC9F,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+CAA+C;AAC/D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmD;AAC1D,WAAO;AAAA,MACL,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,OAAO,SAAwD;AAC7D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiG;AAC3G,UAAM,UAAU,+CAA+C;AAC/D,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sBAAiC;AACxC,SAAO,EAAE,OAAO,IAAI,cAAc,IAAI,YAAY,QAAW,iBAAiB,KAAK,MAAM;AAC3F;AAEO,IAAM,YAAmG;AAAA,EAC9G,OAAO;AAAA,EAEP,OAAO,SAAoB,SAAuB,IAAID,cAAa,GAAiB;AAClF,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kCAA4B,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxF;AACA,QAAI,CAAC,QAAQ,gBAAgB,OAAO,KAAK,KAAK,GAAG;AAC/C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,gBAAgB,SAAS,CAAC;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4B;AACnE,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oBAAoB;AACpC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,4BAA4B,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,KAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC1E;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwB;AAC/B,WAAO;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI;AAAA,MAC/D,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,YAAY,MAAM,OAAO,WAAW,IAAI,4BAA4B,SAAS,OAAO,WAAW,IAAI;AAAA,MACnG,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,KAAK,UAAU,OAAO,gBAAgB,IAAI,KAAK;AAAA,IACnG;AAAA,EACF;AAAA,EAEA,OAAO,SAA6B;AAClC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,cAAc,4BAA4B,OAAO,QAAQ,UAAU;AAAA,IACzE;AACA,QAAI,CAAC,QAAQ,gBAAgB,OAAO,KAAK,KAAK,GAAG;AAC/C,UAAI,oBAAoB,QAAQ,mBAAmB,KAAK,OAAO,SAAS;AAAA,IAC1E;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2C;AACrD,UAAM,UAAU,oBAAoB;AACpC,YAAQ,QAAQ,OAAO,SAAS;AAChC,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,4BAA4B,YAAY,OAAO,UAAU,IACzD;AACJ,YAAQ,kBAAmB,OAAO,oBAAoB,UAAa,OAAO,oBAAoB,OAC1F,KAAK,UAAU,OAAO,eAAe,IACrC,KAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO,EAAE,UAAU,KAAK,MAAM;AAChC;AAEO,IAAM,oBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAID,cAAa,GAAiB;AAC1F,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,KAAK,GAAG;AACxC,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,WAAW,KAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO,EAAE,UAAU,MAAM,OAAO,QAAQ,IAAI,KAAK,UAAU,OAAO,QAAQ,IAAI,KAAK,MAAM;AAAA,EAC3F;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,SAAS,OAAO,KAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAY,KAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrE,KAAK,UAAU,OAAO,QAAQ,IAC9B,KAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4BAA6C;AACpD,SAAO,EAAE,QAAQ,IAAI,QAAQ,OAAU;AACzC;AAEO,IAAM,kBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAID,cAAa,GAAiB;AACxF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAE,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASC,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAU,0BAA0B;AAC1C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAIF,cAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAU,kCAAkC;AAClD,WAAO;AAAA,EACT;AACF;;;ACrhBA,SAAS,gBAAAE,eAAc,gBAAAC,qBAAoB;AA+B3C,SAASC,oBAA2B;AAClC,SAAO,EAAE,aAAa,OAAO,eAAe,CAAC,EAAE;AACjD;AAEO,IAAMC,UAAoF;AAAA,EAC/F,OAAO;AAAA,EAEP,OAAO,SAAiB,SAAuB,IAAIF,cAAa,GAAiB;AAC/E,QAAI,QAAQ,gBAAgB,OAAO;AACjC,aAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,WAAW;AAAA,IAC3C;AACA,eAAW,KAAK,QAAQ,eAAe;AACrC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyB;AAChE,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUE,kBAAiB;AACjC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,KAAK;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,KAAK,OAAO,OAAO,CAAC;AAC1C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqB;AAC5B,WAAO;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,WAAW,QAAQ,OAAO,YAAY,IAAI;AAAA,MACpF,eAAe,WAAW,MAAM,QAAQ,QAAQ,cAAc,IAC1D,OAAO,eAAe,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IAC1D,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA0B;AAC/B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,OAAO;AACjC,UAAI,eAAe,QAAQ;AAAA,IAC7B;AACA,QAAI,QAAQ,eAAe,QAAQ;AACjC,UAAI,iBAAiB,QAAQ;AAAA,IAC/B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqC;AAC/C,UAAM,UAAUA,kBAAiB;AACjC,YAAQ,cAAc,OAAO,eAAe;AAC5C,YAAQ,gBAAgB,OAAO,eAAe,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAChE,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yBAAuC;AAC9C,SAAO,EAAE,MAAM,IAAI,MAAM,IAAI,WAAW,CAAC,EAAE;AAC7C;AAEO,IAAM,eAAsG;AAAA,EACjH,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAID,cAAa,GAAiB;AACrF,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,MAC5D,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC;AAAA,IAC5E;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAU,uBAAuB;AACvC,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,WAAO;AAAA,EACT;AACF;;;ACnLA,SAAS,gBAAAI,eAAc,gBAAAC,qBAAoB;AA6C3C,SAAS,yBAAuC;AAC9C,SAAO,EAAE,wBAAwB,QAAW,kBAAkB,OAAU;AAC1E;AAEO,IAAMC,gBAAyG;AAAA,EACpH,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,cAAa,GAAiB;AACrF,QAAI,QAAQ,2BAA2B,QAAW;AAChD,6BAAuB,OAAO,QAAQ,wBAAwB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/F;AACA,QAAI,QAAQ,qBAAqB,QAAW;AAC1C,uBAAiB,OAAO,QAAQ,kBAAkB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACnF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,yBAAyB,uBAAuB,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmB,iBAAiB,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC1E;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,wBAAwB,MAAM,OAAO,wBAAwB,IACzD,uBAAuB,SAAS,OAAO,wBAAwB,IAC/D;AAAA,MACJ,kBAAkB,MAAM,OAAO,kBAAkB,IAC7C,iBAAiB,SAAS,OAAO,kBAAkB,IACnD;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,2BAA2B,QAAW;AAChD,UAAI,2BAA2B,uBAAuB,OAAO,QAAQ,sBAAsB;AAAA,IAC7F;AACA,QAAI,QAAQ,qBAAqB,QAAW;AAC1C,UAAI,qBAAqB,iBAAiB,OAAO,QAAQ,gBAAgB;AAAA,IAC3E;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAU,uBAAuB;AACvC,YAAQ,yBACL,OAAO,2BAA2B,UAAa,OAAO,2BAA2B,OAC9E,uBAAuB,YAAY,OAAO,sBAAsB,IAChE;AACN,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7F,iBAAiB,YAAY,OAAO,gBAAgB,IACpD;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mCAA2D;AAClE,SAAO,EAAE,gBAAgB,CAAC,GAAG,oBAAoB,CAAC,GAAG,OAAO,CAAC,GAAG,QAAQ,OAAU;AACpF;AAEO,IAAM,yBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAID,cAAa,GAAiB;AAC/F,eAAW,KAAK,QAAQ,gBAAgB;AACtC,oBAAc,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC1D;AACA,eAAW,KAAK,QAAQ,oBAAoB;AAC1C,kCAA4B,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,eAAW,KAAK,QAAQ,OAAO;AAC7B,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAE,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,KAAK,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmB,KAAK,4BAA4B,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC3F;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,MAAM,KAAK,OAAO,OAAO,CAAC;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASC,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO;AAAA,MACL,gBAAgB,WAAW,MAAM,QAAQ,QAAQ,eAAe,IAC5D,OAAO,gBAAgB,IAAI,CAAC,MAAW,cAAc,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,oBAAoB,WAAW,MAAM,QAAQ,QAAQ,mBAAmB,IACpE,OAAO,oBAAoB,IAAI,CAAC,MAAW,4BAA4B,SAAS,CAAC,CAAC,IAClF,CAAC;AAAA,MACL,OAAO,WAAW,MAAM,QAAQ,QAAQ,KAAK,IAAI,OAAO,MAAM,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IAAI,CAAC;AAAA,MACvG,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,QAAQ;AAClC,UAAI,kBAAkB,QAAQ,eAAe,IAAI,CAAC,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IACjF;AACA,QAAI,QAAQ,oBAAoB,QAAQ;AACtC,UAAI,sBAAsB,QAAQ,mBAAmB,IAAI,CAAC,MAAM,4BAA4B,OAAO,CAAC,CAAC;AAAA,IACvG;AACA,QAAI,QAAQ,OAAO,QAAQ;AACzB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,iBAAiB,OAAO,gBAAgB,IAAI,CAAC,MAAM,cAAc,YAAY,CAAC,CAAC,KAAK,CAAC;AAC7F,YAAQ,qBAAqB,OAAO,oBAAoB,IAAI,CAAC,MAAM,4BAA4B,YAAY,CAAC,CAAC,KAC3G,CAAC;AACH,YAAQ,QAAQ,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAChD,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6BAA+C;AACtD,SAAO,EAAE,gBAAgB,CAAC,GAAG,oBAAoB,CAAC,GAAG,MAAM,IAAI,QAAQ,OAAU;AACnF;AAEO,IAAM,mBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA2B,SAAuB,IAAIF,cAAa,GAAiB;AACzF,eAAW,KAAK,QAAQ,gBAAgB;AACtC,oBAAc,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC1D;AACA,eAAW,KAAK,QAAQ,oBAAoB;AAC1C,kCAA4B,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAE,QAAQ,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmC;AAC1E,UAAM,SAAS,iBAAiBD,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2BAA2B;AAC3C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,KAAK,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmB,KAAK,4BAA4B,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC3F;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASC,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACvD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+B;AACtC,WAAO;AAAA,MACL,gBAAgB,WAAW,MAAM,QAAQ,QAAQ,eAAe,IAC5D,OAAO,gBAAgB,IAAI,CAAC,MAAW,cAAc,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,oBAAoB,WAAW,MAAM,QAAQ,QAAQ,mBAAmB,IACpE,OAAO,oBAAoB,IAAI,CAAC,MAAW,4BAA4B,SAAS,CAAC,CAAC,IAClF,CAAC;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,MAC5D,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAQ,SAAS,OAAO,MAAM,IAAI;AAAA,IACnE;AAAA,EACF;AAAA,EAEA,OAAO,SAAoC;AACzC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,QAAQ;AAClC,UAAI,kBAAkB,QAAQ,eAAe,IAAI,CAAC,MAAM,cAAc,OAAO,CAAC,CAAC;AAAA,IACjF;AACA,QAAI,QAAQ,oBAAoB,QAAQ;AACtC,UAAI,sBAAsB,QAAQ,mBAAmB,IAAI,CAAC,MAAM,4BAA4B,OAAO,CAAC,CAAC;AAAA,IACvG;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAQ,OAAO,QAAQ,MAAM;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyD;AACnE,UAAM,UAAU,2BAA2B;AAC3C,YAAQ,iBAAiB,OAAO,gBAAgB,IAAI,CAAC,MAAM,cAAc,YAAY,CAAC,CAAC,KAAK,CAAC;AAC7F,YAAQ,qBAAqB,OAAO,oBAAoB,IAAI,CAAC,MAAM,4BAA4B,YAAY,CAAC,CAAC,KAC3G,CAAC;AACH,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,QAAQ,YAAY,OAAO,MAAM,IACjC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0BAAyC;AAChD,SAAO,EAAE,cAAc,IAAI,QAAQ,IAAI,WAAW,IAAI,qBAAqB,MAAM;AACnF;AAEO,IAAM,gBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAAwB,SAAuB,IAAIF,cAAa,GAAiB;AACtF,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,wBAAwB,OAAO;AACzC,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,mBAAmB;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgC;AACvE,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wBAAwB;AACxC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,OAAO,KAAK;AAC1C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4B;AACnC,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,qBAAqB,MAAM,OAAO,qBAAqB,IACnD,WAAW,QAAQ,OAAO,qBAAqB,IAC/C;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAAiC;AACtC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,wBAAwB,OAAO;AACzC,UAAI,wBAAwB,QAAQ;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmD;AAC7D,UAAM,UAAU,wBAAwB;AACxC,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,sBAAsB,OAAO,uBAAuB;AAC5D,WAAO;AAAA,EACT;AACF;AAEF,SAAS,wCAAqE;AAC5E,SAAO,EAAE,cAAc,IAAI,QAAQ,IAAI,gBAAgB,GAAG;AAC5D;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAsC,SAAuB,IAAID,cAAa,GAAiB;AACpG,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,mBAAmB,IAAI;AACjC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,cAAc;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,OAAO,OAAO;AACvC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0C;AACjD,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,gBAAgB,MAAM,OAAO,eAAe,IAAI,WAAW,OAAO,OAAO,eAAe,IAAI;AAAA,IAC9F;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,mBAAmB,IAAI;AACjC,UAAI,kBAAkB,QAAQ;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+E;AACzF,UAAM,UAAU,sCAAsC;AACtD,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,iBAAiB,OAAO,kBAAkB;AAClD,WAAO;AAAA,EACT;AACF;;;AChjBA,SAAS,gBAAAE,eAAc,gBAAAC,qBAAoB;AAc3C,SAASC,gCAAmD;AAC1D,SAAO,CAAC;AACV;AAEO,IAAMC,sBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAuB,SAAuB,IAAIC,cAAa,GAAiB;AACrF,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUH,8BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAA4B;AACnC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAwD;AAClE,UAAM,UAAUA,8BAA6B;AAC7C,WAAO;AAAA,EACT;AACF;AAEA,SAASI,iCAAqD;AAC5D,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAMC,uBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAIH,cAAa,GAAiB;AAC5F,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAI,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBH,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,+BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASE,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACrF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAUF,+BAA8B;AAC9C,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DE,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;;;ACrHA,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAC3C,OAAOC,WAAU;AAmCjB,SAASC,6BAA6C;AACpD,SAAO,EAAE,QAAQ,IAAI,QAAQ,OAAU;AACzC;AAEO,IAAMC,mBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIC,cAAa,GAAiB;AACxF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAC,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUJ,2BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASG,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAUH,2BAA0B;AAC1C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DG,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAASE,qCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAMC,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAIJ,cAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBE,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,mCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAUA,mCAAkC;AAClD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,QAAQ,IAAI,UAAU,CAAC,EAAE;AACpC;AAEO,IAAM,qBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAIH,cAAa,GAAiB;AAC3F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,eAAW,KAAK,QAAQ,UAAU;AAChC,mBAAa,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBE,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAClE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAC/C,OAAO,SAAS,IAAI,CAAC,MAAW,aAAa,SAAS,CAAC,CAAC,IACxD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,aAAa,OAAO,CAAC,CAAC;AAAA,IACnE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,aAAa,YAAY,CAAC,CAAC,KAAK,CAAC;AAChF,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,QAAQG,MAAK,OAAO,WAAW,CAAC,EAAE;AAC7C;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAIL,cAAa,GAAiB;AACnG,QAAI,CAAC,QAAQ,OAAO,OAAOK,MAAK,KAAK,GAAG;AACtC,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,OAAO,SAAS,CAAC;AAAA,IACnD;AACA,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,CAAE;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBH,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,SAASG,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACjE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,KAAK,OAAO,MAAM,CAAC;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAIA,MAAK,UAAU,OAAO,MAAM,IAAIA,MAAK;AAAA,MACpE,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IACjD,OAAO,UAAU,IAAI,CAAC,MAAW,gBAAgB,CAAC,CAAC,IACnD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,OAAO,OAAOA,MAAK,KAAK,GAAG;AACtC,UAAI,UAAU,QAAQ,UAAUA,MAAK,OAAO,SAAS;AAAA,IACvD;AACA,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ,UAAU,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,MAAK,UAAU,OAAO,MAAM,IAC5BA,MAAK;AACT,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,WAAO;AAAA,EACT;AACF;;;AC7TA,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAU3C,SAAS,8BAAiD;AACxD,SAAO,EAAE,aAAa,QAAW,cAAc,GAAG;AACpD;AAEO,IAAM,oBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAIC,cAAa,GAAiB;AAC1F,QAAI,QAAQ,gBAAgB,QAAW;AACrC,kBAAY,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,gBAAe,QAAQ,IAAIA,cAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,YAAY,SAAS,OAAO,YAAY,IAAI;AAAA,MACtF,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,IACxF;AAAA,EACF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,YAAY,OAAO,QAAQ,WAAW;AAAA,IAC3D;AACA,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,YAAY,YAAY,OAAO,WAAW,IAC1C;AACJ,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,WAAO;AAAA,EACT;AACF;;;ACvFA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAyB3C,SAAS,qBAA+B;AACtC,SAAO,EAAE,SAAS,IAAI,wBAAwB,IAAI,kBAAkB,IAAI,SAAS,IAAI,UAAU,IAAI,QAAQ,GAAG;AAChH;AAEO,IAAM,WAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAAmB,SAAuB,IAAIA,eAAa,GAAiB;AACjF,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,QAAI,QAAQ,2BAA2B,IAAI;AACzC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,sBAAsB;AAAA,IACzD;AACA,QAAI,QAAQ,qBAAqB,IAAI;AACnC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,gBAAgB;AAAA,IACnD;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2B;AAClE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mBAAmB;AACnC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,yBAAyB,OAAO,OAAO;AAC/C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmB,OAAO,OAAO;AACzC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuB;AAC9B,WAAO;AAAA,MACL,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACrE,wBAAwB,MAAM,OAAO,wBAAwB,IACzD,WAAW,OAAO,OAAO,wBAAwB,IACjD;AAAA,MACJ,kBAAkB,MAAM,OAAO,kBAAkB,IAAI,WAAW,OAAO,OAAO,kBAAkB,IAAI;AAAA,MACpG,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACrE,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI;AAAA,MACxE,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,OAAO,SAA4B;AACjC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,2BAA2B,IAAI;AACzC,UAAI,2BAA2B,QAAQ;AAAA,IACzC;AACA,QAAI,QAAQ,qBAAqB,IAAI;AACnC,UAAI,qBAAqB,QAAQ;AAAA,IACnC;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyC;AACnD,UAAM,UAAU,mBAAmB;AACnC,YAAQ,UAAU,OAAO,WAAW;AACpC,YAAQ,yBAAyB,OAAO,0BAA0B;AAClE,YAAQ,mBAAmB,OAAO,oBAAoB;AACtD,YAAQ,UAAU,OAAO,WAAW;AACpC,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;;;ACnKA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AA8B3C,SAAS,uBAAmC;AAC1C,SAAO,EAAE,YAAY,IAAI,eAAe,IAAI,YAAY,CAAC,GAAG,WAAW,CAAC,GAAG,mBAAmB,CAAC,EAAE;AACnG;AAEO,IAAM,aAAgF;AAAA,EAC3F,OAAO;AAAA,EAEP,OAAO,SAAqB,SAAuB,IAAIC,eAAa,GAAiB;AACnF,QAAI,QAAQ,eAAe,IAAI;AAC7B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,UAAU;AAAA,IAC7C;AACA,QAAI,QAAQ,kBAAkB,IAAI;AAChC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,aAAa;AAAA,IAChD;AACA,eAAW,KAAK,QAAQ,YAAY;AAClC,WAAK,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjD;AACA,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,eAAW,KAAK,QAAQ,mBAAmB;AACzC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6B;AACpE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qBAAqB;AACrC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,OAAO;AACnC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,OAAO,OAAO;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,KAAK,KAAK,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC5D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,KAAK,OAAO,OAAO,CAAC;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,KAAK,OAAO,OAAO,CAAC;AAC9C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO;AAAA,MACL,YAAY,MAAM,OAAO,WAAW,IAAI,WAAW,OAAO,OAAO,WAAW,IAAI;AAAA,MAChF,eAAe,MAAM,OAAO,cAAc,IAAI,WAAW,OAAO,OAAO,cAAc,IAAI;AAAA,MACzF,YAAY,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACpD,OAAO,YAAY,IAAI,CAAC,MAAW,KAAK,SAAS,CAAC,CAAC,IACnD,CAAC;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,UAAU,IAClD,OAAO,WAAW,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IACtD,CAAC;AAAA,MACL,mBAAmB,WAAW,MAAM,QAAQ,QAAQ,mBAAmB,IACnE,OAAO,oBAAoB,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IAC/D,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA8B;AACnC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,IAAI;AAC7B,UAAI,cAAc,QAAQ;AAAA,IAC5B;AACA,QAAI,QAAQ,kBAAkB,IAAI;AAChC,UAAI,iBAAiB,QAAQ;AAAA,IAC/B;AACA,QAAI,QAAQ,YAAY,QAAQ;AAC9B,UAAI,cAAc,QAAQ,WAAW,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IAChE;AACA,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,mBAAmB,QAAQ;AACrC,UAAI,sBAAsB,QAAQ;AAAA,IACpC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6C;AACvD,UAAM,UAAU,qBAAqB;AACrC,YAAQ,aAAa,OAAO,cAAc;AAC1C,YAAQ,gBAAgB,OAAO,iBAAiB;AAChD,YAAQ,aAAa,OAAO,YAAY,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK,CAAC;AAC5E,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,YAAQ,oBAAoB,OAAO,mBAAmB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxE,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,aAAa,CAAC,EAAE;AAC3B;AAEO,IAAM,wBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,eAAW,KAAK,QAAQ,aAAa;AACnC,iBAAW,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACvD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,WAAW,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACrD,OAAO,YAAY,IAAI,CAAC,MAAW,WAAW,SAAS,CAAC,CAAC,IACzD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,cAAc,QAAQ,YAAY,IAAI,CAAC,MAAM,WAAW,OAAO,CAAC,CAAC;AAAA,IACvE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,WAAW,YAAY,CAAC,CAAC,KAAK,CAAC;AACpF,WAAO;AAAA,EACT;AACF;;;AC3NA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAmB3C,SAAS,uBAAmC;AAC1C,SAAO,EAAE,MAAM,IAAI,WAAW,GAAG;AACnC;AAEO,IAAM,aAAgF;AAAA,EAC3F,OAAO;AAAA,EAEP,OAAO,SAAqB,SAAuB,IAAIA,eAAa,GAAiB;AACnF,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6B;AACpE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qBAAqB;AACrC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,MAC5D,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAA8B;AACnC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6C;AACvD,UAAM,UAAU,qBAAqB;AACrC,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;;;AC3FA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAsB3C,SAASC,oBAA2B;AAClC,SAAO,EAAE,aAAa,OAAO,gBAAgB,MAAM;AACrD;AAEO,IAAMC,UAAoE;AAAA,EAC/E,OAAO;AAAA,EAEP,OAAO,SAAiB,SAAuB,IAAIF,eAAa,GAAiB;AAC/E,QAAI,QAAQ,gBAAgB,OAAO;AACjC,aAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,WAAW;AAAA,IAC3C;AACA,QAAI,QAAQ,mBAAmB,OAAO;AACpC,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,cAAc;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyB;AAChE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUE,kBAAiB;AACjC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,KAAK;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,OAAO,KAAK;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqB;AAC5B,WAAO;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,WAAW,QAAQ,OAAO,YAAY,IAAI;AAAA,MACpF,gBAAgB,MAAM,OAAO,eAAe,IAAI,WAAW,QAAQ,OAAO,eAAe,IAAI;AAAA,IAC/F;AAAA,EACF;AAAA,EAEA,OAAO,SAA0B;AAC/B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,OAAO;AACjC,UAAI,eAAe,QAAQ;AAAA,IAC7B;AACA,QAAI,QAAQ,mBAAmB,OAAO;AACpC,UAAI,kBAAkB,QAAQ;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqC;AAC/C,UAAM,UAAUA,kBAAiB;AACjC,YAAQ,cAAc,OAAO,eAAe;AAC5C,YAAQ,iBAAiB,OAAO,kBAAkB;AAClD,WAAO;AAAA,EACT;AACF;;;AC9FA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AA2B3C,SAAS,kBAAyB;AAChC,SAAO,EAAE,OAAO,QAAW,QAAQ,GAAG;AACxC;AAEO,IAAM,QAAiE;AAAA,EAC5E,OAAO;AAAA,EAEP,OAAO,SAAgB,SAAuB,IAAIA,eAAa,GAAiB;AAC9E,QAAI,QAAQ,UAAU,QAAW;AAC/B,YAAM,OAAO,QAAQ,OAAO,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwB;AAC/D,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gBAAgB;AAChC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoB;AAC3B,WAAO;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI;AAAA,MAC5D,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyB;AAC9B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAW;AAC/B,UAAI,QAAQ,MAAM,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmC;AAC7C,UAAM,UAAU,gBAAgB;AAChC,YAAQ,QAAS,OAAO,UAAU,UAAa,OAAO,UAAU,OAAQ,MAAM,YAAY,OAAO,KAAK,IAAI;AAC1G,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kBAAyB;AAChC,SAAO,EAAE,MAAM,IAAI,OAAO,CAAC,EAAE;AAC/B;AAEO,IAAM,QAAiE;AAAA,EAC5E,OAAO;AAAA,EAEP,OAAO,SAAgB,SAAuB,IAAIC,eAAa,GAAiB;AAC9E,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,eAAW,KAAK,QAAQ,OAAO;AAC7B,UAAI,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwB;AAC/D,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gBAAgB;AAChC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,MAAM,KAAK,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoB;AAC3B,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,MAC5D,OAAO,WAAW,MAAM,QAAQ,QAAQ,KAAK,IAAI,OAAO,MAAM,IAAI,CAAC,MAAW,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC;AAAA,IACpG;AAAA,EACF;AAAA,EAEA,OAAO,SAAyB;AAC9B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,QAAI,QAAQ,OAAO,QAAQ;AACzB,UAAI,QAAQ,QAAQ,MAAM,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmC;AAC7C,UAAM,UAAU,gBAAgB;AAChC,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,QAAQ,OAAO,OAAO,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC;AACjE,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gBAAqB;AAC5B,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,MAA2D;AAAA,EACtE,OAAO;AAAA,EAEP,OAAO,SAAc,SAAuB,IAAIC,eAAa,GAAiB;AAC5E,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsB;AAC7D,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,cAAc;AAC9B,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkB;AACzB,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAuB;AAC5B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+B;AACzC,UAAM,UAAU,cAAc;AAC9B,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;;;ACvPA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAoB3C,SAASC,0BAAuC;AAC9C,SAAO,EAAE,QAAQ,IAAI,QAAQ,CAAC,GAAG,QAAQ,QAAW,eAAe,CAAC,EAAE;AACxE;AAEO,IAAMC,gBAAsF;AAAA,EACjG,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,eAAW,KAAK,QAAQ,QAAQ;AAC9B,YAAM,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAC,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,eAAW,KAAK,QAAQ,eAAe;AACrC,WAAK,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUJ,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,KAAK,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASG,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,KAAK,KAAK,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,QAAQ,WAAW,MAAM,QAAQ,QAAQ,MAAM,IAAI,OAAO,OAAO,IAAI,CAAC,MAAW,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC;AAAA,MACvG,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,eAAe,WAAW,MAAM,QAAQ,QAAQ,cAAc,IAC1D,OAAO,eAAe,IAAI,CAAC,MAAW,KAAK,SAAS,CAAC,CAAC,IACtD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,QAAQ,QAAQ;AAC1B,UAAI,SAAS,QAAQ,OAAO,IAAI,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC;AAAA,IACxD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,eAAe,QAAQ;AACjC,UAAI,iBAAiB,QAAQ,cAAc,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IACtE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUH,wBAAuB;AACvC,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAS,OAAO,QAAQ,IAAI,CAAC,MAAM,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC;AACrE,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DG,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,gBAAgB,OAAO,eAAe,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,KAAK,CAAC;AAClF,WAAO;AAAA,EACT;AACF;;;AChIA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAqB3C,SAAS,oCAA6D;AACpE,SAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,IAAI,UAAU,IAAI,MAAM,GAAG;AACrE;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAkC,SAAuB,IAAIA,eAAa,GAAiB;AAChG,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAsC;AAC7C,WAAO;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI;AAAA,MAC/D,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI;AAAA,MACxE,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,IAC9D;AAAA,EACF;AAAA,EAEA,OAAO,SAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuE;AACjF,UAAM,UAAU,kCAAkC;AAClD,YAAQ,QAAQ,OAAO,SAAS;AAChC,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,OAAO,OAAO,QAAQ;AAC9B,WAAO;AAAA,EACT;AACF;;;AChJA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAiG3C,SAASC,gCAAmD;AAC1D,SAAO,CAAC;AACV;AAEO,IAAMC,sBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,GAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUH,8BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAA4B;AACnC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAwD;AAClE,UAAM,UAAUA,8BAA6B;AAC7C,WAAO;AAAA,EACT;AACF;AAEA,SAASI,iCAAqD;AAC5D,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAMC,uBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAIH,eAAa,GAAiB;AAC5F,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAI,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBH,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,+BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASE,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACrF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAUF,+BAA8B;AAC9C,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DE,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEF,SAAS,8BAAiD;AACxD,SAAO,EAAE,MAAM,GAAG;AACpB;AAEO,IAAM,oBAAqG;AAAA,EAChH,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAIJ,eAAa,GAAiB;AAC1F,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO,EAAE,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI,GAAG;AAAA,EAC1E;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,OAAO,OAAO,QAAQ;AAC9B,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,OAAO,OAAU;AAC5B;AAEO,IAAM,qBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,QAAI,QAAQ,UAAU,QAAW;AAC/B,YAAM,OAAO,QAAQ,OAAO,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI,OAAU;AAAA,EACjF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAW;AAC/B,UAAI,QAAQ,MAAM,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,QAAS,OAAO,UAAU,UAAa,OAAO,UAAU,OAAQ,MAAM,YAAY,OAAO,KAAK,IAAI;AAC1G,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,YAAY,OAAU;AACjC;AAEO,IAAM,qBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO,EAAE,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI,OAAU;AAAA,EACtG;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gCAAqD;AAC5D,SAAO,EAAE,QAAQ,CAAC,GAAG,YAAY,OAAU;AAC7C;AAEO,IAAM,sBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAID,eAAa,GAAiB;AAC5F,eAAW,KAAK,QAAQ,QAAQ;AAC9B,YAAM,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,KAAK,MAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO;AAAA,MACL,QAAQ,WAAW,MAAM,QAAQ,QAAQ,MAAM,IAAI,OAAO,OAAO,IAAI,CAAC,MAAW,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC;AAAA,MACvG,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,QAAQ,QAAQ;AAC1B,UAAI,SAAS,QAAQ,OAAO,IAAI,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAU,8BAA8B;AAC9C,YAAQ,SAAS,OAAO,QAAQ,IAAI,CAAC,MAAM,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC;AACrE,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEF,SAAS,kCAAyD;AAChE,SAAO,EAAE,OAAO,GAAG;AACrB;AAEO,IAAM,wBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI,GAAG;AAAA,EAC7E;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,QAAQ,OAAO,SAAS;AAChC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mCAA2D;AAClE,SAAO,EAAE,MAAM,GAAG;AACpB;AAEO,IAAM,yBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAID,eAAa,GAAiB;AAC/F,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO,EAAE,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI,GAAG;AAAA,EAC1E;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,OAAO,OAAO,QAAQ;AAC9B,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,eAAe,GAAG;AAC7B;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAID,eAAa,GAAiB;AACnG,QAAI,QAAQ,kBAAkB,IAAI;AAChC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,aAAa;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,OAAO,OAAO;AACtC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO,EAAE,eAAe,MAAM,OAAO,cAAc,IAAI,WAAW,OAAO,OAAO,cAAc,IAAI,GAAG;AAAA,EACvG;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,kBAAkB,IAAI;AAChC,UAAI,iBAAiB,QAAQ;AAAA,IAC/B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,gBAAgB,OAAO,iBAAiB;AAChD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4CAA6E;AACpF,SAAO,EAAE,OAAO,GAAG;AACrB;AAEO,IAAM,kCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0C,SAAuB,IAAID,eAAa,GAAiB;AACxG,QAAI,QAAQ,UAAU,IAAI;AACxB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,KAAK;AAAA,IACxC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkD;AACzF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0CAA0C;AAC1D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,OAAO;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8C;AACrD,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK,IAAI,WAAW,OAAO,OAAO,KAAK,IAAI,GAAG;AAAA,EAC7E;AAAA,EAEA,OAAO,SAAmD;AACxD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,IAAI;AACxB,UAAI,QAAQ,QAAQ;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuF;AACjG,UAAM,UAAU,0CAA0C;AAC1D,YAAQ,QAAQ,OAAO,SAAS;AAChC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6CAA+E;AACtF,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAM,mCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA2C,SAAuB,IAAID,eAAa,GAAiB;AACzG,QAAI,QAAQ,WAAW,QAAW;AAChC,WAAK,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmD;AAC1F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2CAA2C;AAC3D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+C;AACtD,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,KAAK,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACnF;AAAA,EAEA,OAAO,SAAoD;AACzD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,KAAK,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyF;AACnG,UAAM,UAAU,2CAA2C;AAC3D,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,KAAK,YAAY,OAAO,MAAM,IAC9B;AACJ,WAAO;AAAA,EACT;AACF;;;AChzBA,SAAS,gBAAAI,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AAoEjB,SAAS,wBAAqC;AAC5C,SAAO;AAAA,IACL,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,eAAe;AAAA,IACf,kBAAkBC,MAAK;AAAA,IACvB,MAAM;AAAA,IACN,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,cAAmF;AAAA,EAC9F,OAAO;AAAA,EAEP,OAAO,SAAsB,SAAuB,IAAIC,eAAa,GAAiB;AACpF,QAAI,QAAQ,eAAe,IAAI;AAC7B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,UAAU;AAAA,IAC7C;AACA,QAAI,QAAQ,kBAAkB,IAAI;AAChC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,aAAa;AAAA,IAChD;AACA,QAAI,QAAQ,UAAU,QAAW;AAC/B,WAAK,OAAO,QAAQ,OAAO,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC5D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,aAAO,OAAO,QAAQ,eAAe,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACtE;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOD,MAAK,KAAK,GAAG;AAChD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,iBAAiB,SAAS,CAAC;AAAA,IAC9D;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8B;AACrE,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sBAAsB;AACtC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,OAAO;AACnC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,OAAO,OAAO;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,KAAK,OAAO,QAAQ,OAAO,OAAO,CAAC;AACnD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC7D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmBF,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC3E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,OAAO;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0B;AACjC,WAAO;AAAA,MACL,YAAY,MAAM,OAAO,WAAW,IAAI,WAAW,OAAO,OAAO,WAAW,IAAI;AAAA,MAChF,eAAe,MAAM,OAAO,cAAc,IAAI,WAAW,OAAO,OAAO,cAAc,IAAI;AAAA,MACzF,OAAO,MAAM,OAAO,KAAK,IAAI,KAAK,SAAS,OAAO,KAAK,IAAI;AAAA,MAC3D,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI;AAAA,MACxE,eAAe,MAAM,OAAO,cAAc,IAAI,OAAO,SAAS,OAAO,cAAc,IAAI;AAAA,MACvF,kBAAkB,MAAM,OAAO,iBAAiB,IAAIA,MAAK,UAAU,OAAO,iBAAiB,IAAIA,MAAK;AAAA,MACpG,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,OAAO,OAAO,IAAI,IAAI;AAAA,MAC5D,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI;AAAA,IAC1E;AAAA,EACF;AAAA,EAEA,OAAO,SAA+B;AACpC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,IAAI;AAC7B,UAAI,cAAc,QAAQ;AAAA,IAC5B;AACA,QAAI,QAAQ,kBAAkB,IAAI;AAChC,UAAI,iBAAiB,QAAQ;AAAA,IAC/B;AACA,QAAI,QAAQ,UAAU,QAAW;AAC/B,UAAI,QAAQ,KAAK,OAAO,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,iBAAiB,OAAO,OAAO,QAAQ,aAAa;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOA,MAAK,KAAK,GAAG;AAChD,UAAI,qBAAqB,QAAQ,oBAAoBA,MAAK,OAAO,SAAS;AAAA,IAC5E;AACA,QAAI,QAAQ,SAAS,IAAI;AACvB,UAAI,OAAO,QAAQ;AAAA,IACrB;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+C;AACzD,UAAM,UAAU,sBAAsB;AACtC,YAAQ,aAAa,OAAO,cAAc;AAC1C,YAAQ,gBAAgB,OAAO,iBAAiB;AAChD,YAAQ,QAAS,OAAO,UAAU,UAAa,OAAO,UAAU,OAAQ,KAAK,YAAY,OAAO,KAAK,IAAI;AACzG,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,gBAAiB,OAAO,kBAAkB,UAAa,OAAO,kBAAkB,OACpF,OAAO,YAAY,OAAO,aAAa,IACvC;AACJ,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7FA,MAAK,UAAU,OAAO,gBAAgB,IACtCA,MAAK;AACT,YAAQ,OAAO,OAAO,QAAQ;AAC9B,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gCAAqD;AAC5D,SAAO,EAAE,UAAUA,MAAK,MAAM;AAChC;AAEO,IAAM,sBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAIC,eAAa,GAAiB;AAC5F,QAAI,CAAC,QAAQ,SAAS,OAAOD,MAAK,KAAK,GAAG;AACxC,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,WAAWF,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO,EAAE,UAAU,MAAM,OAAO,QAAQ,IAAIA,MAAK,UAAU,OAAO,QAAQ,IAAIA,MAAK,MAAM;AAAA,EAC3F;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,SAAS,OAAOA,MAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAYA,MAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAU,8BAA8B;AAC9C,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrEA,MAAK,UAAU,OAAO,QAAQ,IAC9BA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEF,SAASG,6BAA6C;AACpD,SAAO,EAAE,QAAQ,IAAI,QAAQ,OAAU;AACzC;AAEO,IAAMC,mBAA+F;AAAA,EAC1G,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIH,eAAa,GAAiB;AACxF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAI,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBH,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,2BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASE,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAUF,2BAA0B;AAC1C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DE,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAASC,qCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAMC,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAIN,eAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUI,mCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAUA,mCAAkC;AAClD,WAAO;AAAA,EACT;AACF;;;AC9bA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AA0BjB,SAASC,0BAAuC;AAC9C,SAAO;AAAA,IACL,UAAU,CAAC;AAAA,IACX,kBAAkB,CAAC;AAAA,IACnB,aAAa,CAAC;AAAA,IACd,UAAU,CAAC;AAAA,IACX,eAAe,CAAC;AAAA,IAChB,eAAe,CAAC;AAAA,IAChB,cAAc,CAAC;AAAA,IACf,qBAAqBC,MAAK;AAAA,EAC5B;AACF;AAEO,IAAMC,gBAA6E;AAAA,EACxF,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,eAAW,KAAK,QAAQ,UAAU;AAChC,wBAAkB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC9D;AACA,eAAW,KAAK,QAAQ,kBAAkB;AACxC,kBAAY,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxD;AACA,eAAW,KAAK,QAAQ,aAAa;AACnC,kBAAY,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxD;AACA,eAAW,KAAK,QAAQ,UAAU;AAChC,kBAAY,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxD;AACA,eAAW,KAAK,QAAQ,eAAe;AACrC,qBAAe,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3D;AACA,eAAW,KAAK,QAAQ,eAAe;AACrC,qBAAe,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3D;AACA,eAAW,KAAK,QAAQ,cAAc;AACpC,qBAAe,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3D;AACA,QAAI,CAAC,QAAQ,oBAAoB,OAAOF,MAAK,KAAK,GAAG;AACnD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,oBAAoB,SAAS,CAAC;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBG,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUJ,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,kBAAkB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACvE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,KAAK,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACpE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACjE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,KAAK,eAAe,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,KAAK,eAAe,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,KAAK,eAAe,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACxE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC9E;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAC/C,OAAO,SAAS,IAAI,CAAC,MAAW,kBAAkB,SAAS,CAAC,CAAC,IAC7D,CAAC;AAAA,MACL,kBAAkB,WAAW,MAAM,QAAQ,QAAQ,gBAAgB,IAC/D,OAAO,iBAAiB,IAAI,CAAC,MAAW,YAAY,SAAS,CAAC,CAAC,IAC/D,CAAC;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACrD,OAAO,YAAY,IAAI,CAAC,MAAW,YAAY,SAAS,CAAC,CAAC,IAC1D,CAAC;AAAA,MACL,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAC/C,OAAO,SAAS,IAAI,CAAC,MAAW,YAAY,SAAS,CAAC,CAAC,IACvD,CAAC;AAAA,MACL,eAAe,WAAW,MAAM,QAAQ,QAAQ,cAAc,IAC1D,OAAO,eAAe,IAAI,CAAC,MAAW,eAAe,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,eAAe,WAAW,MAAM,QAAQ,QAAQ,cAAc,IAC1D,OAAO,eAAe,IAAI,CAAC,MAAW,eAAe,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,cAAc,WAAW,MAAM,QAAQ,QAAQ,aAAa,IACxD,OAAO,cAAc,IAAI,CAAC,MAAW,eAAe,SAAS,CAAC,CAAC,IAC/D,CAAC;AAAA,MACL,qBAAqB,MAAM,OAAO,qBAAqB,IACnDA,MAAK,UAAU,OAAO,qBAAqB,IAC3CA,MAAK;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,kBAAkB,OAAO,CAAC,CAAC;AAAA,IACxE;AACA,QAAI,QAAQ,kBAAkB,QAAQ;AACpC,UAAI,mBAAmB,QAAQ,iBAAiB,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC;AAAA,IAClF;AACA,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,cAAc,QAAQ,YAAY,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC;AAAA,IACxE;AACA,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC;AAAA,IAClE;AACA,QAAI,QAAQ,eAAe,QAAQ;AACjC,UAAI,iBAAiB,QAAQ,cAAc,IAAI,CAAC,MAAM,eAAe,OAAO,CAAC,CAAC;AAAA,IAChF;AACA,QAAI,QAAQ,eAAe,QAAQ;AACjC,UAAI,iBAAiB,QAAQ,cAAc,IAAI,CAAC,MAAM,eAAe,OAAO,CAAC,CAAC;AAAA,IAChF;AACA,QAAI,QAAQ,cAAc,QAAQ;AAChC,UAAI,gBAAgB,QAAQ,aAAa,IAAI,CAAC,MAAM,eAAe,OAAO,CAAC,CAAC;AAAA,IAC9E;AACA,QAAI,CAAC,QAAQ,oBAAoB,OAAOA,MAAK,KAAK,GAAG;AACnD,UAAI,yBAAyB,QAAQ,uBAAuBA,MAAK,OAAO,SAAS;AAAA,IACnF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUD,wBAAuB;AACvC,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,kBAAkB,YAAY,CAAC,CAAC,KAAK,CAAC;AACrF,YAAQ,mBAAmB,OAAO,kBAAkB,IAAI,CAAC,MAAM,YAAY,YAAY,CAAC,CAAC,KAAK,CAAC;AAC/F,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,YAAY,YAAY,CAAC,CAAC,KAAK,CAAC;AACrF,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,YAAY,YAAY,CAAC,CAAC,KAAK,CAAC;AAC/E,YAAQ,gBAAgB,OAAO,eAAe,IAAI,CAAC,MAAM,eAAe,YAAY,CAAC,CAAC,KAAK,CAAC;AAC5F,YAAQ,gBAAgB,OAAO,eAAe,IAAI,CAAC,MAAM,eAAe,YAAY,CAAC,CAAC,KAAK,CAAC;AAC5F,YAAQ,eAAe,OAAO,cAAc,IAAI,CAAC,MAAM,eAAe,YAAY,CAAC,CAAC,KAAK,CAAC;AAC1F,YAAQ,sBAAuB,OAAO,wBAAwB,UAAa,OAAO,wBAAwB,OACtGC,MAAK,UAAU,OAAO,mBAAmB,IACzCA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2BAA2C;AAClD,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,UAAUA,MAAK,MAAM;AAC3D;AAEO,IAAM,iBAAmF;AAAA,EAC9F,OAAO;AAAA,EAEP,OAAO,SAAyB,SAAuB,IAAIE,eAAa,GAAiB;AACvF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOF,MAAK,KAAK,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiC;AACxE,UAAM,SAAS,iBAAiBG,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yBAAyB;AACzC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAWH,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6B;AACpC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,UAAU,MAAM,OAAO,QAAQ,IAAIA,MAAK,UAAU,OAAO,QAAQ,IAAIA,MAAK;AAAA,IAC5E;AAAA,EACF;AAAA,EAEA,OAAO,SAAkC;AACvC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOA,MAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAYA,MAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqD;AAC/D,UAAM,UAAU,yBAAyB;AACzC,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrEA,MAAK,UAAU,OAAO,QAAQ,IAC9BA,MAAK;AACT,WAAO;AAAA,EACT;AACF;;;AC1TA,SAAS,gBAAAI,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AA+WjB,SAAS,gCAAqD;AAC5D,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,sBAAkG;AAAA,EAC7G,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAIC,eAAa,GAAiB;AAC5F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAU,8BAA8B;AAC9C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iCAAuD;AAC9D,SAAO,EAAE,SAAS,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAChF;AAEO,IAAM,uBAAqG;AAAA,EAChH,OAAO;AAAA,EAEP,OAAO,SAA+B,SAAuB,IAAID,eAAa,GAAiB;AAC7F,QAAI,QAAQ,YAAY,QAAW;AACjC,cAAQ,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuC;AAC9E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+BAA+B;AAC/C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmC;AAC1C,WAAO;AAAA,MACL,SAAS,MAAM,OAAO,OAAO,IAAI,QAAQ,SAAS,OAAO,OAAO,IAAI;AAAA,MACpE,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,UAAU,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiE;AAC3E,UAAM,UAAU,+BAA+B;AAC/C,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,QAAQ,YAAY,OAAO,OAAO,IAClC;AACJ,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iCAAuD;AAC9D,SAAO,EAAE,YAAY,OAAU;AACjC;AAEO,IAAM,uBAAqG;AAAA,EAChH,OAAO;AAAA,EAEP,OAAO,SAA+B,SAAuB,IAAID,eAAa,GAAiB;AAC7F,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuC;AAC9E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+BAA+B;AAC/C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmC;AAC1C,WAAO,EAAE,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI,OAAU;AAAA,EACtG;AAAA,EAEA,OAAO,SAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiE;AAC3E,UAAM,UAAU,+BAA+B;AAC/C,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,UAAU,CAAC,GAAG,YAAY,QAAW,QAAQ,OAAU;AAClE;AAEO,IAAM,wBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,eAAW,KAAK,QAAQ,UAAU;AAChC,wBAAkB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC9D;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,kBAAkB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACvE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAC/C,OAAO,SAAS,IAAI,CAAC,MAAW,kBAAkB,SAAS,CAAC,CAAC,IAC7D,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,MAClF,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,kBAAkB,OAAO,CAAC,CAAC;AAAA,IACxE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,kBAAkB,YAAY,CAAC,CAAC,KAAK,CAAC;AACrF,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,YAAY,IAAI,YAAY,OAAU;AACjD;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAID,eAAa,GAAiB;AACvG,QAAI,QAAQ,eAAe,IAAI;AAC7B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,UAAU;AAAA,IAC7C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,OAAO;AACnC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC9E,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,IAAI;AAC7B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,aAAa,OAAO,cAAc;AAC1C,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4CAA6E;AACpF,SAAO,EAAE,UAAU,CAAC,GAAG,YAAY,QAAW,QAAQ,OAAU;AAClE;AAEO,IAAM,kCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0C,SAAuB,IAAID,eAAa,GAAiB;AACxG,eAAW,KAAK,QAAQ,UAAU;AAChC,wBAAkB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC9D;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkD;AACzF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0CAA0C;AAC1D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,KAAK,kBAAkB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACvE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8C;AACrD,WAAO;AAAA,MACL,UAAU,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAC/C,OAAO,SAAS,IAAI,CAAC,MAAW,kBAAkB,SAAS,CAAC,CAAC,IAC7D,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,MAClF,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmD;AACxD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,UAAI,WAAW,QAAQ,SAAS,IAAI,CAAC,MAAM,kBAAkB,OAAO,CAAC,CAAC;AAAA,IACxE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuF;AACjG,UAAM,UAAU,0CAA0C;AAC1D,YAAQ,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM,kBAAkB,YAAY,CAAC,CAAC,KAAK,CAAC;AACrF,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAID,eAAa,GAAiB;AACvG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4CAA6E;AACpF,SAAO,EAAE,uBAAuB,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC9F;AAEO,IAAM,kCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0C,SAAuB,IAAID,eAAa,GAAiB;AACxG,QAAI,QAAQ,0BAA0B,QAAW;AAC/C,4BAAsB,OAAO,QAAQ,uBAAuB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7F;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkD;AACzF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0CAA0C;AAC1D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,wBAAwB,sBAAsB,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8C;AACrD,WAAO;AAAA,MACL,uBAAuB,MAAM,OAAO,uBAAuB,IACvD,sBAAsB,SAAS,OAAO,uBAAuB,IAC7D;AAAA,MACJ,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAmD;AACxD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,0BAA0B,QAAW;AAC/C,UAAI,0BAA0B,sBAAsB,OAAO,QAAQ,qBAAqB;AAAA,IAC1F;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuF;AACjG,UAAM,UAAU,0CAA0C;AAC1D,YAAQ,wBACL,OAAO,0BAA0B,UAAa,OAAO,0BAA0B,OAC5E,sBAAsB,YAAY,OAAO,qBAAqB,IAC9D;AACN,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8CAAiF;AACxF,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,gBAAgBC,MAAK,OAAO,gBAAgBA,MAAK,MAAM;AAC7F;AAEO,IAAM,oCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4C,SAAuB,IAAIF,eAAa,GAAiB;AAC1G,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOE,MAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoD;AAC3F,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4CAA4C;AAC5D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgD;AACvD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,gBAAgB,MAAM,OAAO,eAAe,IAAIA,MAAK,UAAU,OAAO,eAAe,IAAIA,MAAK;AAAA,MAC9F,gBAAgB,MAAM,OAAO,eAAe,IAAIA,MAAK,UAAU,OAAO,eAAe,IAAIA,MAAK;AAAA,IAChG;AAAA,EACF;AAAA,EAEA,OAAO,SAAqD;AAC1D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,MAAK,OAAO,SAAS;AAAA,IACxE;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,MAAK,OAAO,SAAS;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2F;AACrG,UAAM,UAAU,4CAA4C;AAC5D,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,MAAK,UAAU,OAAO,cAAc,IACpCA,MAAK;AACT,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,MAAK,UAAU,OAAO,cAAc,IACpCA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,EAAE,gBAAgB,QAAW,UAAU,IAAI,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACrG;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6C,SAAuB,IAAIF,eAAa,GAAiB;AAC3G,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiD;AACxD,WAAO;AAAA,MACL,gBAAgB,MAAM,OAAO,eAAe,IAAI,IAAI,SAAS,OAAO,eAAe,IAAI;AAAA,MACvF,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAsD;AAC3D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,IAAI,OAAO,QAAQ,cAAc;AAAA,IACzD;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6F;AACvG,UAAM,UAAU,6CAA6C;AAC7D,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,IAAI,YAAY,OAAO,cAAc,IACrC;AACJ,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,UAAUC,MAAK,MAAM;AAC3D;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAuC,SAAuB,IAAIF,eAAa,GAAiB;AACrG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOE,MAAK,KAAK,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAWC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2C;AAClD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,UAAU,MAAM,OAAO,QAAQ,IAAIA,MAAK,UAAU,OAAO,QAAQ,IAAIA,MAAK;AAAA,IAC5E;AAAA,EACF;AAAA,EAEA,OAAO,SAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOA,MAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAYA,MAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiF;AAC3F,UAAM,UAAU,uCAAuC;AACvD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrEA,MAAK,UAAU,OAAO,QAAQ,IAC9BA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,YAAY,IAAI,WAAW,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC3F;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAIF,eAAa,GAAiB;AACtG,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,UAAU;AAAA,IAC5C;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,MAAM;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,gBAAgB,OAAO,UAAU,IAAI,IAAI,WAAW,CAAC;AAAA,MAC5F,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,UAAI,aAAa,gBAAgB,QAAQ,UAAU;AAAA,IACrD;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,aAAa,OAAO,cAAc,IAAI,WAAW,CAAC;AAC1D,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,YAAY,OAAU;AAC5D;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAID,eAAa,GAAiB;AACtG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,aAAa,CAAC,GAAG,YAAY,QAAW,QAAQ,OAAU;AACrE;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAID,eAAa,GAAiB;AACvG,eAAW,KAAK,QAAQ,aAAa;AACnC,kBAAY,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACpE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACrD,OAAO,YAAY,IAAI,CAAC,MAAW,YAAY,SAAS,CAAC,CAAC,IAC1D,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,MAClF,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,cAAc,QAAQ,YAAY,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC;AAAA,IACxE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,YAAY,YAAY,CAAC,CAAC,KAAK,CAAC;AACrF,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,UAAUC,MAAK,MAAM;AAC3D;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAIF,eAAa,GAAiB;AAClG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOE,MAAK,KAAK,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAWC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,UAAU,MAAM,OAAO,QAAQ,IAAIA,MAAK,UAAU,OAAO,QAAQ,IAAIA,MAAK;AAAA,IAC5E;AAAA,EACF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOA,MAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAYA,MAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrEA,MAAK,UAAU,OAAO,QAAQ,IAC9BA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,UAAU,OAAO,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC7E;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAIF,eAAa,GAAiB;AACnG,QAAI,QAAQ,aAAa,OAAO;AAC9B,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,QAAQ;AAAA,IACzC;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,KAAK;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,QAAQ,OAAO,QAAQ,IAAI;AAAA,MACzE,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,OAAO;AAC9B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8CAAiF;AACxF,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,UAAUC,MAAK,MAAM;AAC3D;AAEO,IAAM,oCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4C,SAAuB,IAAIF,eAAa,GAAiB;AAC1G,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOE,MAAK,KAAK,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS,SAAS,CAAC;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoD;AAC3F,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4CAA4C;AAC5D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAWC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgD;AACvD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,UAAU,MAAM,OAAO,QAAQ,IAAIA,MAAK,UAAU,OAAO,QAAQ,IAAIA,MAAK;AAAA,IAC5E;AAAA,EACF;AAAA,EAEA,OAAO,SAAqD;AAC1D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,CAAC,QAAQ,SAAS,OAAOA,MAAK,KAAK,GAAG;AACxC,UAAI,YAAY,QAAQ,YAAYA,MAAK,OAAO,SAAS;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2F;AACrG,UAAM,UAAU,4CAA4C;AAC5D,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,WAAY,OAAO,aAAa,UAAa,OAAO,aAAa,OACrEA,MAAK,UAAU,OAAO,QAAQ,IAC9BA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,EAAE,iBAAiB,IAAI,WAAW,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAChG;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6C,SAAuB,IAAIF,eAAa,GAAiB;AAC3G,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,eAAe;AAAA,IACjD;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,MAAM;AACvC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiD;AACxD,WAAO;AAAA,MACL,iBAAiB,MAAM,OAAO,eAAe,IAAI,gBAAgB,OAAO,eAAe,IAAI,IAAI,WAAW,CAAC;AAAA,MAC3G,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAsD;AAC3D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,UAAI,kBAAkB,gBAAgB,QAAQ,eAAe;AAAA,IAC/D;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6F;AACvG,UAAM,UAAU,6CAA6C;AAC7D,YAAQ,kBAAkB,OAAO,mBAAmB,IAAI,WAAW,CAAC;AACpE,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,YAAY,QAAW,2BAA2B,CAAC,EAAE;AAC3F;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6C,SAAuB,IAAID,eAAa,GAAiB;AAC3G,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO,OAAO,EAAE,EAAE,KAAK;AACvB,eAAW,KAAK,QAAQ,2BAA2B;AACjD,aAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC5B;AACA,WAAO,KAAK;AACZ,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd,oBAAQ,0BAA0B,KAAKC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAExF;AAAA,UACF;AAEA,cAAI,QAAQ,IAAI;AACd,kBAAM,OAAO,OAAO,OAAO,IAAI,OAAO;AACtC,mBAAO,OAAO,MAAM,MAAM;AACxB,sBAAQ,0BAA0B,KAAKA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAAA,YAC1F;AAEA;AAAA,UACF;AAEA;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiD;AACxD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI;AAAA,MACjF,2BAA2B,WAAW,MAAM,QAAQ,QAAQ,2BAA2B,IACnF,OAAO,4BAA4B,IAAI,CAAC,MAAWA,MAAK,UAAU,CAAC,CAAC,IACpE,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAsD;AAC3D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,QAAI,QAAQ,2BAA2B,QAAQ;AAC7C,UAAI,8BAA8B,QAAQ,0BAA0B,IAAI,CAAC,OAAO,KAAKA,MAAK,OAAO,SAAS,CAAC;AAAA,IAC7G;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6F;AACvG,UAAM,UAAU,6CAA6C;AAC7D,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,YAAQ,4BAA4B,OAAO,2BAA2B,IAAI,CAAC,MAAMA,MAAK,UAAU,CAAC,CAAC,KAAK,CAAC;AACxG,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gDAAqF;AAC5F,SAAO,EAAE,kBAAkB,CAAC,GAAG,YAAY,QAAW,QAAQ,OAAU;AAC1E;AAEO,IAAM,sCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA8C,SAAuB,IAAIF,eAAa,GAAiB;AAC5G,eAAW,KAAK,QAAQ,kBAAkB;AACxC,kBAAY,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsD;AAC7F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8CAA8C;AAC9D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,KAAK,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkD;AACzD,WAAO;AAAA,MACL,kBAAkB,WAAW,MAAM,QAAQ,QAAQ,gBAAgB,IAC/D,OAAO,iBAAiB,IAAI,CAAC,MAAW,YAAY,SAAS,CAAC,CAAC,IAC/D,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,MAClF,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAuD;AAC5D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,kBAAkB,QAAQ;AACpC,UAAI,mBAAmB,QAAQ,iBAAiB,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC;AAAA,IAClF;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+F;AACzG,UAAM,UAAU,8CAA8C;AAC9D,YAAQ,mBAAmB,OAAO,kBAAkB,IAAI,CAAC,MAAM,YAAY,YAAY,CAAC,CAAC,KAAK,CAAC;AAC/F,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,2BAA2B,CAAC,EAAE;AACpE;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAID,eAAa,GAAiB;AACtG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO,OAAO,EAAE,EAAE,KAAK;AACvB,eAAW,KAAK,QAAQ,2BAA2B;AACjD,aAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC5B;AACA,WAAO,KAAK;AACZ,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd,oBAAQ,0BAA0B,KAAKC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAExF;AAAA,UACF;AAEA,cAAI,QAAQ,IAAI;AACd,kBAAM,OAAO,OAAO,OAAO,IAAI,OAAO;AACtC,mBAAO,OAAO,MAAM,MAAM;AACxB,sBAAQ,0BAA0B,KAAKA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAAA,YAC1F;AAEA;AAAA,UACF;AAEA;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,2BAA2B,WAAW,MAAM,QAAQ,QAAQ,2BAA2B,IACnF,OAAO,4BAA4B,IAAI,CAAC,MAAWA,MAAK,UAAU,CAAC,CAAC,IACpE,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,2BAA2B,QAAQ;AAC7C,UAAI,8BAA8B,QAAQ,0BAA0B,IAAI,CAAC,OAAO,KAAKA,MAAK,OAAO,SAAS,CAAC;AAAA,IAC7G;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,4BAA4B,OAAO,2BAA2B,IAAI,CAAC,MAAMA,MAAK,UAAU,CAAC,CAAC,KAAK,CAAC;AACxG,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,WAAW,CAAC,GAAG,QAAQ,OAAU;AAC5C;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAIF,eAAa,GAAiB;AACvG,WAAO,OAAO,EAAE,EAAE,KAAK;AACvB,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC5B;AACA,WAAO,KAAK;AACZ,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb,oBAAQ,UAAU,KAAKC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAExE;AAAA,UACF;AAEA,cAAI,QAAQ,IAAI;AACd,kBAAM,OAAO,OAAO,OAAO,IAAI,OAAO;AACtC,mBAAO,OAAO,MAAM,MAAM;AACxB,sBAAQ,UAAU,KAAKA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAAA,YAC1E;AAEA;AAAA,UACF;AAEA;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IAAI,OAAO,UAAU,IAAI,CAAC,MAAWA,MAAK,UAAU,CAAC,CAAC,IAAI,CAAC;AAAA,MAChH,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ,UAAU,IAAI,CAAC,OAAO,KAAKA,MAAK,OAAO,SAAS,CAAC;AAAA,IAC3E;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAMA,MAAK,UAAU,CAAC,CAAC,KAAK,CAAC;AACxE,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,oBAAoB,CAAC,EAAE;AAC7D;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAIF,eAAa,GAAiB;AACnG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO,OAAO,EAAE,EAAE,KAAK;AACvB,eAAW,KAAK,QAAQ,oBAAoB;AAC1C,aAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC5B;AACA,WAAO,KAAK;AACZ,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd,oBAAQ,mBAAmB,KAAKC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAEjF;AAAA,UACF;AAEA,cAAI,QAAQ,IAAI;AACd,kBAAM,OAAO,OAAO,OAAO,IAAI,OAAO;AACtC,mBAAO,OAAO,MAAM,MAAM;AACxB,sBAAQ,mBAAmB,KAAKA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAAA,YACnF;AAEA;AAAA,UACF;AAEA;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,oBAAoB,WAAW,MAAM,QAAQ,QAAQ,oBAAoB,IACrE,OAAO,qBAAqB,IAAI,CAAC,MAAWA,MAAK,UAAU,CAAC,CAAC,IAC7D,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,oBAAoB,QAAQ;AACtC,UAAI,uBAAuB,QAAQ,mBAAmB,IAAI,CAAC,OAAO,KAAKA,MAAK,OAAO,SAAS,CAAC;AAAA,IAC/F;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,qBAAqB,OAAO,oBAAoB,IAAI,CAAC,MAAMA,MAAK,UAAU,CAAC,CAAC,KAAK,CAAC;AAC1F,WAAO;AAAA,EACT;AACF;AAEA,SAAS,wCAAqE;AAC5E,SAAO,EAAE,WAAW,CAAC,GAAG,QAAQ,OAAU;AAC5C;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAsC,SAAuB,IAAIF,eAAa,GAAiB;AACpG,WAAO,OAAO,EAAE,EAAE,KAAK;AACvB,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,SAAS,CAAC;AAAA,IAC5B;AACA,WAAO,KAAK;AACZ,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb,oBAAQ,UAAU,KAAKC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAExE;AAAA,UACF;AAEA,cAAI,QAAQ,IAAI;AACd,kBAAM,OAAO,OAAO,OAAO,IAAI,OAAO;AACtC,mBAAO,OAAO,MAAM,MAAM;AACxB,sBAAQ,UAAU,KAAKA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;AAAA,YAC1E;AAEA;AAAA,UACF;AAEA;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0C;AACjD,WAAO;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IAAI,OAAO,UAAU,IAAI,CAAC,MAAWA,MAAK,UAAU,CAAC,CAAC,IAAI,CAAC;AAAA,MAChH,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ,UAAU,IAAI,CAAC,OAAO,KAAKA,MAAK,OAAO,SAAS,CAAC;AAAA,IAC3E;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+E;AACzF,UAAM,UAAU,sCAAsC;AACtD,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAMA,MAAK,UAAU,CAAC,CAAC,KAAK,CAAC;AACxE,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4CAA6E;AACpF,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,kCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA0C,SAAuB,IAAIF,eAAa,GAAiB;AACxG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkD;AACzF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0CAA0C;AAC1D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8C;AACrD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAmD;AACxD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuF;AACjG,UAAM,UAAU,0CAA0C;AAC1D,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6CAA+E;AACtF,SAAO,EAAE,qBAAqBC,MAAK,OAAO,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC7F;AAEO,IAAM,mCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA2C,SAAuB,IAAIF,eAAa,GAAiB;AACzG,QAAI,CAAC,QAAQ,oBAAoB,OAAOE,MAAK,KAAK,GAAG;AACnD,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,oBAAoB,SAAS,CAAC;AAAA,IAChE;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmD;AAC1F,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2CAA2C;AAC3D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,sBAAsBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC9E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+C;AACtD,WAAO;AAAA,MACL,qBAAqB,MAAM,OAAO,qBAAqB,IACnDA,MAAK,UAAU,OAAO,qBAAqB,IAC3CA,MAAK;AAAA,MACT,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAoD;AACzD,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,oBAAoB,OAAOA,MAAK,KAAK,GAAG;AACnD,UAAI,yBAAyB,QAAQ,uBAAuBA,MAAK,OAAO,SAAS;AAAA,IACnF;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyF;AACnG,UAAM,UAAU,2CAA2C;AAC3D,YAAQ,sBAAuB,OAAO,wBAAwB,UAAa,OAAO,wBAAwB,OACtGA,MAAK,UAAU,OAAO,mBAAmB,IACzCA,MAAK;AACT,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,EAAE,QAAQ,IAAI,WAAW,GAAG;AACrC;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAuC,SAAuB,IAAIF,eAAa,GAAiB;AACrG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2C;AAClD,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiF;AAC3F,UAAM,UAAU,uCAAuC;AACvD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,kBAAkBC,MAAK,OAAO,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC1F;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAIF,eAAa,GAAiB;AACtG,QAAI,CAAC,QAAQ,iBAAiB,OAAOE,MAAK,KAAK,GAAG;AAChD,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,iBAAiB,SAAS,CAAC;AAAA,IAC7D;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,mBAAmBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC3E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO;AAAA,MACL,kBAAkB,MAAM,OAAO,kBAAkB,IAAIA,MAAK,UAAU,OAAO,kBAAkB,IAAIA,MAAK;AAAA,MACtG,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,iBAAiB,OAAOA,MAAK,KAAK,GAAG;AAChD,UAAI,sBAAsB,QAAQ,oBAAoBA,MAAK,OAAO,SAAS;AAAA,IAC7E;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7FA,MAAK,UAAU,OAAO,gBAAgB,IACtCA,MAAK;AACT,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;;;AC37FA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AAKV,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,sCAAmC,KAAnC;AAEA,EAAAA,wCAAA,+BAA4B,KAA5B;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AACA,EAAAA,wCAAA,kBAAe,MAAf;AATU,SAAAA;AAAA,GAAA;AAYL,SAAS,2BAA2B,QAAiC;AAC1E,UAAQ,QAAQ;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,yBAAyB,QAAoC;AAC3E,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AA2KA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,QAAQ,IAAI,SAAS,QAAW,QAAQ,GAAG;AACtD;AAEO,IAAM,qBAA+F;AAAA,EAC1G,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAIC,eAAa,GAAiB;AAC3F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,cAAQ,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,SAAS,MAAM,OAAO,OAAO,IAAI,QAAQ,SAAS,OAAO,OAAO,IAAI;AAAA,MACpE,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,UAAU,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,QAAQ,YAAY,OAAO,OAAO,IAClC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,WAAW,IAAI,SAAS,GAAG;AACtC;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAID,eAAa,GAAiB;AACnG,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO;AAAA,MACL,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,IACvE;AAAA,EACF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,UAAU,OAAO,WAAW;AACpC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,mBAAmB;AAAA,IACnB,SAAS;AAAA,IACT,qBAAqB;AAAA,IACrB,WAAW,IAAI,WAAW,CAAC;AAAA,IAC3B,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,oBAA4F;AAAA,EACvG,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAID,eAAa,GAAiB;AAC1F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,sBAAsB,IAAI;AACpC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,iBAAiB;AAAA,IACpD;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,cAAQ,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,wBAAwB,IAAI;AACtC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,mBAAmB;AAAA,IACtD;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,oBAAoB,OAAO,OAAO;AAC1C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,OAAO,OAAO;AAC5C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,MAAM;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,mBAAmB,MAAM,OAAO,mBAAmB,IAAI,WAAW,OAAO,OAAO,mBAAmB,IAAI;AAAA,MACvG,SAAS,MAAM,OAAO,OAAO,IAAI,QAAQ,SAAS,OAAO,OAAO,IAAI;AAAA,MACpE,qBAAqB,MAAM,OAAO,oBAAoB,IAAI,WAAW,OAAO,OAAO,oBAAoB,IAAI;AAAA,MAC3G,WAAW,MAAM,OAAO,UAAU,IAAI,gBAAgB,OAAO,UAAU,IAAI,IAAI,WAAW,CAAC;AAAA,MAC3F,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,sBAAsB,IAAI;AACpC,UAAI,sBAAsB,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,UAAU,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,QAAQ,wBAAwB,IAAI;AACtC,UAAI,uBAAuB,QAAQ;AAAA,IACrC;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,UAAI,aAAa,gBAAgB,QAAQ,SAAS;AAAA,IACpD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,oBAAoB,OAAO,qBAAqB;AACxD,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,QAAQ,YAAY,OAAO,OAAO,IAClC;AACJ,YAAQ,sBAAsB,OAAO,uBAAuB;AAC5D,YAAQ,YAAY,OAAO,aAAa,IAAI,WAAW,CAAC;AACxD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,SAAS,IAAI,WAAW,GAAG;AACtC;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO;AAAA,MACL,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACrE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,UAAU,OAAO,WAAW;AACpC,YAAQ,YAAY,OAAO,aAAa;AACxC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,uBAAuB;AAAA,IACvB,qBAAqB;AAAA,IACrB,UAAU,IAAI,WAAW,CAAC;AAAA,IAC1B,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,oBAA4F;AAAA,EACvG,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAID,eAAa,GAAiB;AAC1F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,0BAA0B,IAAI;AACxC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,qBAAqB;AAAA,IACxD;AACA,QAAI,QAAQ,wBAAwB,IAAI;AACtC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,mBAAmB;AAAA,IACtD;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,wBAAwB,OAAO,OAAO;AAC9C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,OAAO,OAAO;AAC5C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,uBAAuB,MAAM,OAAO,uBAAuB,IACvD,WAAW,OAAO,OAAO,uBAAuB,IAChD;AAAA,MACJ,qBAAqB,MAAM,OAAO,oBAAoB,IAAI,WAAW,OAAO,OAAO,oBAAoB,IAAI;AAAA,MAC3G,UAAU,MAAM,OAAO,SAAS,IAAI,gBAAgB,OAAO,SAAS,IAAI,IAAI,WAAW,CAAC;AAAA,MACxF,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,0BAA0B,IAAI;AACxC,UAAI,0BAA0B,QAAQ;AAAA,IACxC;AACA,QAAI,QAAQ,wBAAwB,IAAI;AACtC,UAAI,uBAAuB,QAAQ;AAAA,IACrC;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,YAAY,gBAAgB,QAAQ,QAAQ;AAAA,IAClD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,wBAAwB,OAAO,yBAAyB;AAChE,YAAQ,sBAAsB,OAAO,uBAAuB;AAC5D,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,CAAC;AACV;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA8B,SAAuB,IAAID,eAAa,GAAiB;AAC5F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAmC;AAC1C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAsE;AAChF,UAAM,UAAU,oCAAoC;AACpD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW,CAAC,GAAG,aAAa,QAAW,QAAQ,GAAG;AACtG;AAEO,IAAM,wBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,UAAU,MAAM,OAAO,SAAS,IAAI,gBAAgB,OAAO,SAAS,IAAI,IAAI,WAAW,CAAC;AAAA,MACxF,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,YAAY,gBAAgB,QAAQ,QAAQ;AAAA,IAClD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,CAAC;AACV;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAuC;AAC9C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA8E;AACxF,UAAM,UAAU,wCAAwC;AACxD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gCAAqD;AAC5D,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,QAAQ,GAAG;AACjD;AAEO,IAAM,sBAAkG;AAAA,EAC7G,OAAO;AAAA,EAEP,OAAO,SAA8B,SAAuB,IAAID,eAAa,GAAiB;AAC5F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsC;AAC7E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8BAA8B;AAC9C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkC;AACzC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+D;AACzE,UAAM,UAAU,8BAA8B;AAC9C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,wCAAqE;AAC5E,SAAO,CAAC;AACV;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAqC;AAC5C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA0E;AACpF,UAAM,UAAU,sCAAsC;AACtD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mCAA2D;AAClE,SAAO,EAAE,QAAQ,IAAI,WAAW,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,aAAa,QAAW,QAAQ,GAAG;AACvG;AAEO,IAAM,yBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAID,eAAa,GAAiB;AAC/F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,SAAS;AAAA,IAC5C;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,OAAO;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,MAAM;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI;AAAA,MACpE,WAAW,MAAM,OAAO,UAAU,IAAI,WAAW,OAAO,OAAO,UAAU,IAAI;AAAA,MAC7E,WAAW,MAAM,OAAO,UAAU,IAAI,gBAAgB,OAAO,UAAU,IAAI,IAAI,WAAW,CAAC;AAAA,MAC3F,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,QAAI,QAAQ,cAAc,IAAI;AAC5B,UAAI,aAAa,QAAQ;AAAA,IAC3B;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,UAAI,aAAa,gBAAgB,QAAQ,SAAS;AAAA,IACpD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,YAAY,OAAO,aAAa,IAAI,WAAW,CAAC;AACxD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEF,SAAS,2CAA2E;AAClF,SAAO,CAAC;AACV;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAwC;AAC/C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAgF;AAC1F,UAAM,UAAU,yCAAyC;AACzD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0BAAyC;AAChD,SAAO,EAAE,QAAQ,QAAW,iBAAiB,IAAI,WAAW,CAAC,GAAG,aAAa,QAAW,QAAQ,GAAG;AACrG;AAEO,IAAM,gBAAgF;AAAA,EAC3F,OAAO;AAAA,EAEP,OAAO,SAAwB,SAAuB,IAAID,eAAa,GAAiB;AACtF,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,eAAe;AAAA,IACjD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgC;AACvE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wBAAwB;AACxC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,MAAM;AACvC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4B;AACnC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,gBAAgB,OAAO,gBAAgB,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7G,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAiC;AACtC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,UAAI,mBAAmB,gBAAgB,QAAQ,eAAe;AAAA,IAChE;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmD;AAC7D,UAAM,UAAU,wBAAwB;AACxC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,kBAAkB,OAAO,mBAAmB,IAAI,WAAW,CAAC;AACpE,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,QAAQ,EAAE;AACrB;AAEO,IAAM,wBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,MAAM;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,2BAA2B,OAAO,MAAM,IAAI,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,GAAG;AACxB,UAAI,SAAS,yBAAyB,QAAQ,MAAM;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uBAAmC;AAC1C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB,IAAI,WAAW,CAAC;AAAA,IACjC,aAAa;AAAA,IACb,kBAAkBC,MAAK;AAAA,IACvB,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,aAAuE;AAAA,EAClF,OAAO;AAAA,EAEP,OAAO,SAAqB,SAAuB,IAAIF,eAAa,GAAiB;AACnF,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,eAAe;AAAA,IACjD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOE,MAAK,KAAK,GAAG;AAChD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,iBAAiB,SAAS,CAAC;AAAA,IAC9D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6B;AACpE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qBAAqB;AACrC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,MAAM;AACvC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC3E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyB;AAChC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,gBAAgB,OAAO,gBAAgB,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7G,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,kBAAkB,MAAM,OAAO,kBAAkB,IAAIA,MAAK,UAAU,OAAO,kBAAkB,IAAIA,MAAK;AAAA,MACtG,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAA8B;AACnC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,UAAI,mBAAmB,gBAAgB,QAAQ,eAAe;AAAA,IAChE;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOA,MAAK,KAAK,GAAG;AAChD,UAAI,sBAAsB,QAAQ,oBAAoBA,MAAK,OAAO,SAAS;AAAA,IAC7E;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6C;AACvD,UAAM,UAAU,qBAAqB;AACrC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,kBAAkB,OAAO,mBAAmB,IAAI,WAAW,CAAC;AACpE,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7FA,MAAK,UAAU,OAAO,gBAAgB,IACtCA,MAAK;AACT,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,QAAQ,EAAE;AACrB;AAEO,IAAM,qBAA+F;AAAA,EAC1G,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAIF,eAAa,GAAiB;AAC3F,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,MAAM;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,2BAA2B,OAAO,MAAM,IAAI,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,GAAG;AACxB,UAAI,SAAS,yBAAyB,QAAQ,MAAM;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB,IAAI,WAAW,CAAC;AAAA,IACjC,YAAY,IAAI,WAAW,CAAC;AAAA,IAC5B,aAAa;AAAA,IACb,kBAAkBC,MAAK;AAAA,IACvB,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,oBAA4F;AAAA,EACvG,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAIF,eAAa,GAAiB;AAC1F,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,eAAe;AAAA,IACjD;AACA,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,UAAU;AAAA,IAC5C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOE,MAAK,KAAK,GAAG;AAChD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,iBAAiB,SAAS,CAAC;AAAA,IAC9D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,MAAM;AACvC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,MAAM;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC3E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,gBAAgB,OAAO,gBAAgB,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7G,YAAY,MAAM,OAAO,WAAW,IAAI,gBAAgB,OAAO,WAAW,IAAI,IAAI,WAAW,CAAC;AAAA,MAC9F,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,kBAAkB,MAAM,OAAO,kBAAkB,IAAIA,MAAK,UAAU,OAAO,kBAAkB,IAAIA,MAAK;AAAA,MACtG,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,UAAI,mBAAmB,gBAAgB,QAAQ,eAAe;AAAA,IAChE;AACA,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,UAAI,cAAc,gBAAgB,QAAQ,UAAU;AAAA,IACtD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,CAAC,QAAQ,iBAAiB,OAAOA,MAAK,KAAK,GAAG;AAChD,UAAI,sBAAsB,QAAQ,oBAAoBA,MAAK,OAAO,SAAS;AAAA,IAC7E;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,kBAAkB,OAAO,mBAAmB,IAAI,WAAW,CAAC;AACpE,YAAQ,aAAa,OAAO,cAAc,IAAI,WAAW,CAAC;AAC1D,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7FA,MAAK,UAAU,OAAO,gBAAgB,IACtCA,MAAK;AACT,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,QAAQ,EAAE;AACrB;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAIF,eAAa,GAAiB;AAClG,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,MAAM;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,2BAA2B,OAAO,MAAM,IAAI,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,GAAG;AACxB,UAAI,SAAS,yBAAyB,QAAQ,MAAM;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB,IAAI,WAAW,CAAC;AAAA,IACjC,YAAY,IAAI,WAAW,CAAC;AAAA,IAC5B,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,qBAA+F;AAAA,EAC1G,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,eAAe;AAAA,IACjD;AACA,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,UAAU;AAAA,IAC5C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,MAAM;AACvC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,OAAO,MAAM;AAClC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,iBAAiB,MAAM,OAAO,eAAe,IAAI,gBAAgB,OAAO,eAAe,IAAI,IAAI,WAAW,CAAC;AAAA,MAC3G,YAAY,MAAM,OAAO,WAAW,IAAI,gBAAgB,OAAO,WAAW,IAAI,IAAI,WAAW,CAAC;AAAA,MAC9F,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,WAAW,GAAG;AACxC,UAAI,kBAAkB,gBAAgB,QAAQ,eAAe;AAAA,IAC/D;AACA,QAAI,QAAQ,WAAW,WAAW,GAAG;AACnC,UAAI,cAAc,gBAAgB,QAAQ,UAAU;AAAA,IACtD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,kBAAkB,OAAO,mBAAmB,IAAI,WAAW,CAAC;AACpE,YAAQ,aAAa,OAAO,cAAc,IAAI,WAAW,CAAC;AAC1D,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,QAAQ,EAAE;AACrB;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAID,eAAa,GAAiB;AACnG,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,MAAM;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,2BAA2B,OAAO,MAAM,IAAI,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,GAAG;AACxB,UAAI,SAAS,yBAAyB,QAAQ,MAAM;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;;;ACxhEA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AA6CjB,SAASC,0BAAuC;AAC9C,SAAO;AAAA,IACL,SAAS,CAAC;AAAA,IACV,kBAAkB,CAAC;AAAA,IACnB,iBAAiB,CAAC;AAAA,IAClB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,oBAAoBC,MAAK;AAAA,EAC3B;AACF;AAEO,IAAMC,gBAA4E;AAAA,EACvF,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,eAAW,KAAK,QAAQ,SAAS;AAC/B,4BAAsB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClE;AACA,eAAW,KAAK,QAAQ,kBAAkB;AACxC,4BAAsB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClE;AACA,eAAW,KAAK,QAAQ,iBAAiB;AACvC,gCAA0B,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACtE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,QAAI,QAAQ,oBAAoB,OAAO;AACrC,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,eAAe;AAAA,IAChD;AACA,QAAI,CAAC,QAAQ,mBAAmB,OAAOF,MAAK,KAAK,GAAG;AAClD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,mBAAmB,SAAS,CAAC;AAAA,IAChE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBG,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUJ,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,KAAK,sBAAsB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC1E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,KAAK,sBAAsB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACnF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,KAAK,0BAA0B,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACtF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,KAAK;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,qBAAqBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AAC7E;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,SAAS,WAAW,MAAM,QAAQ,QAAQ,OAAO,IAC7C,OAAO,QAAQ,IAAI,CAAC,MAAW,sBAAsB,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,kBAAkB,WAAW,MAAM,QAAQ,QAAQ,iBAAiB,IAChE,OAAO,kBAAkB,IAAI,CAAC,MAAW,sBAAsB,SAAS,CAAC,CAAC,IAC1E,CAAC;AAAA,MACL,iBAAiB,WAAW,MAAM,QAAQ,QAAQ,gBAAgB,IAC9D,OAAO,iBAAiB,IAAI,CAAC,MAAW,0BAA0B,SAAS,CAAC,CAAC,IAC7E,CAAC;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,MAChE,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,WAAW,QAAQ,OAAO,gBAAgB,IAAI;AAAA,MAChG,oBAAoB,MAAM,OAAO,oBAAoB,IAAIA,MAAK,UAAU,OAAO,oBAAoB,IAAIA,MAAK;AAAA,IAC9G;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,QAAQ;AAC3B,UAAI,UAAU,QAAQ,QAAQ,IAAI,CAAC,MAAM,sBAAsB,OAAO,CAAC,CAAC;AAAA,IAC1E;AACA,QAAI,QAAQ,kBAAkB,QAAQ;AACpC,UAAI,oBAAoB,QAAQ,iBAAiB,IAAI,CAAC,MAAM,sBAAsB,OAAO,CAAC,CAAC;AAAA,IAC7F;AACA,QAAI,QAAQ,iBAAiB,QAAQ;AACnC,UAAI,mBAAmB,QAAQ,gBAAgB,IAAI,CAAC,MAAM,0BAA0B,OAAO,CAAC,CAAC;AAAA,IAC/F;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,QAAI,QAAQ,oBAAoB,OAAO;AACrC,UAAI,mBAAmB,QAAQ;AAAA,IACjC;AACA,QAAI,CAAC,QAAQ,mBAAmB,OAAOA,MAAK,KAAK,GAAG;AAClD,UAAI,wBAAwB,QAAQ,sBAAsBA,MAAK,OAAO,SAAS;AAAA,IACjF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUD,wBAAuB;AACvC,YAAQ,UAAU,OAAO,SAAS,IAAI,CAAC,MAAM,sBAAsB,YAAY,CAAC,CAAC,KAAK,CAAC;AACvF,YAAQ,mBAAmB,OAAO,kBAAkB,IAAI,CAAC,MAAM,sBAAsB,YAAY,CAAC,CAAC,KAAK,CAAC;AACzG,YAAQ,kBAAkB,OAAO,iBAAiB,IAAI,CAAC,MAAM,0BAA0B,YAAY,CAAC,CAAC,KAAK,CAAC;AAC3G,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,YAAQ,kBAAkB,OAAO,mBAAmB;AACpD,YAAQ,qBAAsB,OAAO,uBAAuB,UAAa,OAAO,uBAAuB,OACnGC,MAAK,UAAU,OAAO,kBAAkB,IACxCA,MAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4BAA6C;AACpD,SAAO,EAAE,KAAK,IAAI,WAAW,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,EAAE;AAC5D;AAEO,IAAM,kBAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIE,eAAa,GAAiB;AACxF,QAAI,QAAQ,IAAI,WAAW,GAAG;AAC5B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,GAAG;AAAA,IACrC;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,MAAM,OAAO,MAAM;AAC3B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,KAAK,MAAM,OAAO,GAAG,IAAI,gBAAgB,OAAO,GAAG,IAAI,IAAI,WAAW,CAAC;AAAA,MACvE,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,IAAI,WAAW,GAAG;AAC5B,UAAI,MAAM,gBAAgB,QAAQ,GAAG;AAAA,IACvC;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAU,0BAA0B;AAC1C,YAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,CAAC;AAC5C,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,UAAU,IAAI,gBAAgB,CAAC,EAAE;AAC5C;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,eAAW,KAAK,QAAQ,gBAAgB;AACtC,sBAAgB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC5D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,KAAK,gBAAgB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC3E;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,gBAAgB,WAAW,MAAM,QAAQ,QAAQ,eAAe,IAC5D,OAAO,gBAAgB,IAAI,CAAC,MAAW,gBAAgB,SAAS,CAAC,CAAC,IAClE,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,gBAAgB,QAAQ;AAClC,UAAI,kBAAkB,QAAQ,eAAe,IAAI,CAAC,MAAM,gBAAgB,OAAO,CAAC,CAAC;AAAA,IACnF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,iBAAiB,OAAO,gBAAgB,IAAI,CAAC,MAAM,gBAAgB,YAAY,CAAC,CAAC,KAAK,CAAC;AAC/F,WAAO;AAAA,EACT;AACF;;;AChWA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AA8OjB,SAAS,oCAA6D;AACpE,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAkC,SAAuB,IAAIC,eAAa,GAAiB;AAChG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAsC;AAC7C,WAAO,EAAE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,GAAG;AAAA,EACxF;AAAA,EAEA,OAAO,SAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuE;AACjF,UAAM,UAAU,kCAAkC;AAClD,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,EAAE,aAAa,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACpF;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuC;AAC9C,WAAO;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC9E,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,IAAI,OAAO,QAAQ,WAAW;AAAA,IACnD;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyE;AACnF,UAAM,UAAU,mCAAmC;AACnD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,IAAI,YAAY,OAAO,WAAW,IAClC;AACJ,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,EAAE,YAAY,OAAU;AACjC;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuC;AAC9C,WAAO,EAAE,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI,OAAU;AAAA,EACtG;AAAA,EAEA,OAAO,SAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyE;AACnF,UAAM,UAAU,mCAAmC;AACnD,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,cAAc,CAAC,GAAG,YAAY,OAAU;AACnD;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,eAAW,KAAK,QAAQ,cAAc;AACpC,4BAAsB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,KAAK,sBAAsB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC/E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO;AAAA,MACL,cAAc,WAAW,MAAM,QAAQ,QAAQ,aAAa,IACxD,OAAO,cAAc,IAAI,CAAC,MAAW,sBAAsB,SAAS,CAAC,CAAC,IACtE,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,cAAc,QAAQ;AAChC,UAAI,gBAAgB,QAAQ,aAAa,IAAI,CAAC,MAAM,sBAAsB,OAAO,CAAC,CAAC;AAAA,IACrF;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,eAAe,OAAO,cAAc,IAAI,CAAC,MAAM,sBAAsB,YAAY,CAAC,CAAC,KAAK,CAAC;AACjG,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,UAAU,IAAI,gBAAgBC,MAAK,OAAO,gBAAgBA,MAAK,OAAO,cAAc,MAAM;AACrG;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAIF,eAAa,GAAiB;AACnG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOE,MAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,QAAI,QAAQ,iBAAiB,OAAO;AAClC,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,YAAY;AAAA,IAC7C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,KAAK;AACnC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,gBAAgB,MAAM,OAAO,eAAe,IAAIA,MAAK,UAAU,OAAO,eAAe,IAAIA,MAAK;AAAA,MAC9F,gBAAgB,MAAM,OAAO,eAAe,IAAIA,MAAK,UAAU,OAAO,eAAe,IAAIA,MAAK;AAAA,MAC9F,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,QAAQ,OAAO,aAAa,IAAI;AAAA,IACzF;AAAA,EACF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,MAAK,OAAO,SAAS;AAAA,IACxE;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,MAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,MAAK,OAAO,SAAS;AAAA,IACxE;AACA,QAAI,QAAQ,iBAAiB,OAAO;AAClC,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,MAAK,UAAU,OAAO,cAAc,IACpCA,MAAK;AACT,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,MAAK,UAAU,OAAO,cAAc,IACpCA,MAAK;AACT,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,wCAAqE;AAC5E,SAAO,EAAE,gBAAgB,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACvF;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAsC,SAAuB,IAAIF,eAAa,GAAiB;AACpG,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0C;AACjD,WAAO;AAAA,MACL,gBAAgB,MAAM,OAAO,eAAe,IAAI,IAAI,SAAS,OAAO,eAAe,IAAI;AAAA,MACvF,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,IAAI,OAAO,QAAQ,cAAc;AAAA,IACzD;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+E;AACzF,UAAM,UAAU,sCAAsC;AACtD,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,IAAI,YAAY,OAAO,cAAc,IACrC;AACJ,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,wCAAqE;AAC5E,SAAO,EAAE,UAAU,IAAI,YAAY,OAAU;AAC/C;AAEO,IAAM,8BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAsC,SAAuB,IAAID,eAAa,GAAiB;AACpG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8C;AACrF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sCAAsC;AACtD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0C;AACjD,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+E;AACzF,UAAM,UAAU,sCAAsC;AACtD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,EAAE,iBAAiB,CAAC,GAAG,YAAY,OAAU;AACtD;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAuC,SAAuB,IAAID,eAAa,GAAiB;AACrG,eAAW,KAAK,QAAQ,iBAAiB;AACvC,+BAAyB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,KAAK,yBAAyB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACrF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2C;AAClD,WAAO;AAAA,MACL,iBAAiB,WAAW,MAAM,QAAQ,QAAQ,gBAAgB,IAC9D,OAAO,iBAAiB,IAAI,CAAC,MAAW,yBAAyB,SAAS,CAAC,CAAC,IAC5E,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,QAAQ;AACnC,UAAI,mBAAmB,QAAQ,gBAAgB,IAAI,CAAC,MAAM,yBAAyB,OAAO,CAAC,CAAC;AAAA,IAC9F;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiF;AAC3F,UAAM,UAAU,uCAAuC;AACvD,YAAQ,kBAAkB,OAAO,iBAAiB,IAAI,CAAC,MAAM,yBAAyB,YAAY,CAAC,CAAC,KAAK,CAAC;AAC1G,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8CAAiF;AACxF,SAAO,EAAE,UAAU,IAAI,YAAY,OAAU;AAC/C;AAEO,IAAM,oCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4C,SAAuB,IAAID,eAAa,GAAiB;AAC1G,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoD;AAC3F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4CAA4C;AAC5D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgD;AACvD,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAqD;AAC1D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2F;AACrG,UAAM,UAAU,4CAA4C;AAC5D,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,EAAE,uBAAuB,CAAC,GAAG,YAAY,OAAU;AAC5D;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6C,SAAuB,IAAID,eAAa,GAAiB;AAC3G,eAAW,KAAK,QAAQ,uBAAuB;AAC7C,aAAO,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACnD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,KAAK,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiD;AACxD,WAAO;AAAA,MACL,uBAAuB,WAAW,MAAM,QAAQ,QAAQ,uBAAuB,IAC3E,OAAO,wBAAwB,IAAI,CAAC,MAAW,OAAO,SAAS,CAAC,CAAC,IACjE,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAAsD;AAC3D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,uBAAuB,QAAQ;AACzC,UAAI,0BAA0B,QAAQ,sBAAsB,IAAI,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAAA,IACzF;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6F;AACvG,UAAM,UAAU,6CAA6C;AAC7D,YAAQ,wBAAwB,OAAO,uBAAuB,IAAI,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC,KAAK,CAAC;AACpG,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuC;AAC9C,WAAO,EAAE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,GAAG;AAAA,EACxF;AAAA,EAEA,OAAO,SAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyE;AACnF,UAAM,UAAU,mCAAmC;AACnD,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,QAAQ,GAAG;AACtB;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI,GAAG;AAAA,EAChF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,CAAC;AACV;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAoE;AAC9E,UAAM,UAAU,mCAAmC;AACnD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACrF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwC;AAC/C,WAAO,EAAE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,GAAG;AAAA,EACxF;AAAA,EAEA,OAAO,SAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2E;AACrF,UAAM,UAAU,oCAAoC;AACpD,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,EAAE,SAAS,GAAG;AACvB;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAqC,SAAuB,IAAID,eAAa,GAAiB;AACnG,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAyC;AAChD,WAAO,EAAE,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,OAAO,OAAO,OAAO,IAAI,GAAG;AAAA,EACnF;AAAA,EAEA,OAAO,SAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6E;AACvF,UAAM,UAAU,qCAAqC;AACrD,YAAQ,UAAU,OAAO,WAAW;AACpC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4CAA6E;AACpF,SAAO,CAAC;AACV;AAEO,IAAM,kCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAoC,SAAuB,IAAID,eAAa,GAAiB;AAClG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkD;AACzF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0CAA0C;AAC1D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAyC;AAChD,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA6C;AAClD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkF;AAC5F,UAAM,UAAU,0CAA0C;AAC1D,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6CAA+E;AACtF,SAAO,EAAE,qBAAqB,OAAU;AAC1C;AAEO,IAAM,mCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA2C,SAAuB,IAAID,eAAa,GAAiB;AACzG,QAAI,QAAQ,wBAAwB,QAAW;AAC7C,UAAI,OAAO,QAAQ,qBAAqB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmD;AAC1F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2CAA2C;AAC3D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+C;AACtD,WAAO;AAAA,MACL,qBAAqB,MAAM,OAAO,qBAAqB,IAAI,IAAI,SAAS,OAAO,qBAAqB,IAAI;AAAA,IAC1G;AAAA,EACF;AAAA,EAEA,OAAO,SAAoD;AACzD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,wBAAwB,QAAW;AAC7C,UAAI,wBAAwB,IAAI,OAAO,QAAQ,mBAAmB;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyF;AACnG,UAAM,UAAU,2CAA2C;AAC3D,YAAQ,sBAAuB,OAAO,wBAAwB,UAAa,OAAO,wBAAwB,OACtG,IAAI,YAAY,OAAO,mBAAmB,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,CAAC;AACV;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAuC,SAAuB,IAAID,eAAa,GAAiB;AACrG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAA4C;AACnD,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAwF;AAClG,UAAM,UAAU,6CAA6C;AAC7D,WAAO;AAAA,EACT;AACF;AAEA,SAAS,gDAAqF;AAC5F,SAAO,EAAE,wBAAwB,OAAU;AAC7C;AAEO,IAAM,sCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA8C,SAAuB,IAAID,eAAa,GAAiB;AAC5G,QAAI,QAAQ,2BAA2B,QAAW;AAChD,UAAI,OAAO,QAAQ,wBAAwB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC5E;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAsD;AAC7F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,8CAA8C;AAC9D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,yBAAyB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACnE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAkD;AACzD,WAAO;AAAA,MACL,wBAAwB,MAAM,OAAO,wBAAwB,IACzD,IAAI,SAAS,OAAO,wBAAwB,IAC5C;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAAuD;AAC5D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,2BAA2B,QAAW;AAChD,UAAI,2BAA2B,IAAI,OAAO,QAAQ,sBAAsB;AAAA,IAC1E;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+F;AACzG,UAAM,UAAU,8CAA8C;AAC9D,YAAQ,yBACL,OAAO,2BAA2B,UAAa,OAAO,2BAA2B,OAC9E,IAAI,YAAY,OAAO,sBAAsB,IAC7C;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO;AAAA,IACL,UAAU;AAAA,IACV,OAAO,IAAI,WAAW,CAAC;AAAA,IACvB,aAAa;AAAA,IACb,OAAO,IAAI,WAAW,CAAC;AAAA,IACvB,WAAWC,MAAK;AAAA,IAChB,YAAYA,MAAK;AAAA,IACjB,YAAY;AAAA,EACd;AACF;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAuC,SAAuB,IAAIF,eAAa,GAAiB;AACrG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,CAAC,QAAQ,UAAU,OAAOE,MAAK,KAAK,GAAG;AACzC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,UAAU,SAAS,CAAC;AAAA,IACvD;AACA,QAAI,CAAC,QAAQ,WAAW,OAAOA,MAAK,KAAK,GAAG;AAC1C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,WAAW,SAAS,CAAC;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,iBAAW,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACvE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAYC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACpE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAaA,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACrE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,WAAW,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC9D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2C;AAClD,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,WAAW,MAAM,OAAO,UAAU,IAAIA,MAAK,UAAU,OAAO,UAAU,IAAIA,MAAK;AAAA,MAC/E,YAAY,MAAM,OAAO,WAAW,IAAIA,MAAK,UAAU,OAAO,WAAW,IAAIA,MAAK;AAAA,MAClF,YAAY,MAAM,OAAO,WAAW,IAAI,WAAW,SAAS,OAAO,WAAW,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAAgD;AACrD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,CAAC,QAAQ,UAAU,OAAOA,MAAK,KAAK,GAAG;AACzC,UAAI,cAAc,QAAQ,aAAaA,MAAK,OAAO,SAAS;AAAA,IAC9D;AACA,QAAI,CAAC,QAAQ,WAAW,OAAOA,MAAK,KAAK,GAAG;AAC1C,UAAI,eAAe,QAAQ,cAAcA,MAAK,OAAO,SAAS;AAAA,IAChE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,cAAc,WAAW,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiF;AAC3F,UAAM,UAAU,uCAAuC;AACvD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,YAAa,OAAO,cAAc,UAAa,OAAO,cAAc,OACxEA,MAAK,UAAU,OAAO,SAAS,IAC/BA,MAAK;AACT,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3EA,MAAK,UAAU,OAAO,UAAU,IAChCA,MAAK;AACT,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,WAAW,YAAY,OAAO,UAAU,IACxC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,SAAS,MAAM;AAC1B;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAIF,eAAa,GAAiB;AACtG,QAAI,QAAQ,YAAY,OAAO;AAC7B,aAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,OAAO;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,KAAK;AAC9B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO,EAAE,SAAS,MAAM,OAAO,OAAO,IAAI,WAAW,QAAQ,OAAO,OAAO,IAAI,MAAM;AAAA,EACvF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,OAAO;AAC7B,UAAI,UAAU,QAAQ;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,UAAU,OAAO,WAAW;AACpC,WAAO;AAAA,EACT;AACF;;;AC/zDA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AA6K3C,SAAS,4BAA6C;AACpD,SAAO,EAAE,aAAa,QAAW,gBAAgB,QAAW,QAAQ,GAAG;AACzE;AAEO,IAAM,kBAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIC,eAAa,GAAiB;AACxF,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC9E,gBAAgB,MAAM,OAAO,eAAe,IAAI,IAAI,SAAS,OAAO,eAAe,IAAI;AAAA,MACvF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,IAAI,OAAO,QAAQ,WAAW;AAAA,IACnD;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,IAAI,OAAO,QAAQ,cAAc;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAU,0BAA0B;AAC1C,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,IAAI,YAAY,OAAO,WAAW,IAClC;AACJ,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,IAAI,YAAY,OAAO,cAAc,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oCAA6D;AACpE,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAsC;AAC7C,WAAO,EAAE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,GAAG;AAAA,EACxF;AAAA,EAEA,OAAO,SAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuE;AACjF,UAAM,UAAU,kCAAkC;AAClD,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,4BAA6C;AACpD,SAAO,EAAE,UAAU,IAAI,eAAe,QAAW,QAAQ,GAAG;AAC9D;AAEO,IAAM,kBAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAID,eAAa,GAAiB;AACxF,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,OAAO,QAAQ,eAAe,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACnE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,0BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC1D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,eAAe,MAAM,OAAO,cAAc,IAAI,IAAI,SAAS,OAAO,cAAc,IAAI;AAAA,MACpF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,iBAAiB,IAAI,OAAO,QAAQ,aAAa;AAAA,IACvD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAU,0BAA0B;AAC1C,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,gBAAiB,OAAO,kBAAkB,UAAa,OAAO,kBAAkB,OACpF,IAAI,YAAY,OAAO,aAAa,IACpC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAID,eAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAU,kCAAkC;AAClD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6BAA+C;AACtD,SAAO;AAAA,IACL,UAAU;AAAA,IACV,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,oBAAoB,IAAI,WAAW,CAAC;AAAA,IACpC,4BAA4B,IAAI,WAAW,CAAC;AAAA,IAC5C,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,mBAAwF;AAAA,EACnG,OAAO;AAAA,EAEP,OAAO,SAA2B,SAAuB,IAAID,eAAa,GAAiB;AACzF,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,mBAAmB,WAAW,GAAG;AAC3C,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,kBAAkB;AAAA,IACpD;AACA,QAAI,QAAQ,2BAA2B,WAAW,GAAG;AACnD,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,0BAA0B;AAAA,IAC5D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmC;AAC1E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2BAA2B;AAC3C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,qBAAqB,OAAO,MAAM;AAC1C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,6BAA6B,OAAO,MAAM;AAClD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+B;AACtC,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,aAAa,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC9E,gBAAgB,MAAM,OAAO,eAAe,IAAI,IAAI,SAAS,OAAO,eAAe,IAAI;AAAA,MACvF,oBAAoB,MAAM,OAAO,oBAAoB,IACjD,gBAAgB,OAAO,oBAAoB,IAC3C,IAAI,WAAW,CAAC;AAAA,MACpB,4BAA4B,MAAM,OAAO,6BAA6B,IAClE,gBAAgB,OAAO,6BAA6B,IACpD,IAAI,WAAW,CAAC;AAAA,MACpB,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAoC;AACzC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,IAAI,OAAO,QAAQ,WAAW;AAAA,IACnD;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,IAAI,OAAO,QAAQ,cAAc;AAAA,IACzD;AACA,QAAI,QAAQ,mBAAmB,WAAW,GAAG;AAC3C,UAAI,uBAAuB,gBAAgB,QAAQ,kBAAkB;AAAA,IACvE;AACA,QAAI,QAAQ,2BAA2B,WAAW,GAAG;AACnD,UAAI,gCAAgC,gBAAgB,QAAQ,0BAA0B;AAAA,IACxF;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyD;AACnE,UAAM,UAAU,2BAA2B;AAC3C,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,IAAI,YAAY,OAAO,WAAW,IAClC;AACJ,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,IAAI,YAAY,OAAO,cAAc,IACrC;AACJ,YAAQ,qBAAqB,OAAO,sBAAsB,IAAI,WAAW,CAAC;AAC1E,YAAQ,6BAA6B,OAAO,8BAA8B,IAAI,WAAW,CAAC;AAC1F,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,CAAC;AACV;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAoE;AAC9E,UAAM,UAAU,mCAAmC;AACnD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,UAAU,IAAI,cAAc,QAAW,QAAQ,GAAG;AAC7D;AAEO,IAAM,wBAAuG;AAAA,EAClH,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACzD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,cAAc,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC/E,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,eAAe,IAAI,OAAO,QAAQ,YAAY;AAAA,IACpD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,IAAI,YAAY,OAAO,YAAY,IACnC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,CAAC;AACV;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAuC;AAC9C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA8E;AACxF,UAAM,UAAU,wCAAwC;AACxD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6BAA+C;AACtD,SAAO,EAAE,iBAAiB,IAAI,oBAAoB,IAAI,QAAQ,GAAG;AACnE;AAEO,IAAM,mBAAwF;AAAA,EACnG,OAAO;AAAA,EAEP,OAAO,SAA2B,SAAuB,IAAID,eAAa,GAAiB;AACzF,QAAI,QAAQ,oBAAoB,IAAI;AAClC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe;AAAA,IAClD;AACA,QAAI,QAAQ,uBAAuB,IAAI;AACrC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,kBAAkB;AAAA,IACrD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmC;AAC1E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2BAA2B;AAC3C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,OAAO;AACxC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,qBAAqB,OAAO,OAAO;AAC3C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+B;AACtC,WAAO;AAAA,MACL,iBAAiB,MAAM,OAAO,iBAAiB,IAAI,WAAW,OAAO,OAAO,iBAAiB,IAAI;AAAA,MACjG,oBAAoB,MAAM,OAAO,oBAAoB,IAAI,WAAW,OAAO,OAAO,oBAAoB,IAAI;AAAA,MAC1G,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAoC;AACzC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,oBAAoB,IAAI;AAClC,UAAI,oBAAoB,QAAQ;AAAA,IAClC;AACA,QAAI,QAAQ,uBAAuB,IAAI;AACrC,UAAI,uBAAuB,QAAQ;AAAA,IACrC;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyD;AACnE,UAAM,UAAU,2BAA2B;AAC3C,YAAQ,kBAAkB,OAAO,mBAAmB;AACpD,YAAQ,qBAAqB,OAAO,sBAAsB;AAC1D,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,CAAC;AACV;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA6B,SAAuB,IAAID,eAAa,GAAiB;AAC3F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAkC;AACzC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAoE;AAC9E,UAAM,UAAU,mCAAmC;AACnD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kCAAyD;AAChE,SAAO,EAAE,MAAM,QAAW,qBAAqB,QAAW,QAAQ,GAAG;AACvE;AAEO,IAAM,wBAAuG;AAAA,EAClH,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAID,eAAa,GAAiB;AAC9F,QAAI,QAAQ,SAAS,QAAW;AAC9B,WAAK,OAAO,QAAQ,MAAM,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3D;AACA,QAAI,QAAQ,wBAAwB,QAAW;AAC7C,UAAI,OAAO,QAAQ,qBAAqB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,CAAC;AAClD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,KAAK,SAAS,OAAO,IAAI,IAAI;AAAA,MACxD,qBAAqB,MAAM,OAAO,qBAAqB,IAAI,IAAI,SAAS,OAAO,qBAAqB,IAAI;AAAA,MACxG,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,QAAW;AAC9B,UAAI,OAAO,KAAK,OAAO,QAAQ,IAAI;AAAA,IACrC;AACA,QAAI,QAAQ,wBAAwB,QAAW;AAC7C,UAAI,wBAAwB,IAAI,OAAO,QAAQ,mBAAmB;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,OAAQ,OAAO,SAAS,UAAa,OAAO,SAAS,OAAQ,KAAK,YAAY,OAAO,IAAI,IAAI;AACrG,YAAQ,sBAAuB,OAAO,wBAAwB,UAAa,OAAO,wBAAwB,OACtG,IAAI,YAAY,OAAO,mBAAmB,IAC1C;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,CAAC;AACV;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAuC;AAC9C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA8E;AACxF,UAAM,UAAU,wCAAwC;AACxD,WAAO;AAAA,EACT;AACF;AAEA,SAASC,6BAA6C;AACpD,SAAO,EAAE,QAAQ,IAAI,QAAQ,OAAU;AACzC;AAEO,IAAMC,mBAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIH,eAAa,GAAiB;AACxF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,2BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAUA,2BAA0B;AAC1C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAASE,qCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAMC,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAIL,eAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUG,mCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAUA,mCAAkC;AAClD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mCAA2D;AAClE,SAAO,EAAE,UAAU,IAAI,QAAQ,GAAG;AACpC;AAEO,IAAM,yBAA0G;AAAA,EACrH,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAIJ,eAAa,GAAiB;AAC/F,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,CAAC;AACV;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAwC;AAC/C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAgF;AAC1F,UAAM,UAAU,yCAAyC;AACzD,WAAO;AAAA,EACT;AACF;;;ACrxCA,SAAS,gBAAAK,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,WAAU;AAYjB,SAASC,0BAAuC;AAC9C,SAAO,EAAE,aAAa,CAAC,GAAG,uBAAuB,CAAC,GAAG,wBAAwBC,MAAK,OAAO,QAAQ,OAAU;AAC7G;AAEO,IAAMC,gBAAgF;AAAA,EAC3F,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,eAAW,KAAK,QAAQ,aAAa;AACnC,2BAAqB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,eAAW,KAAK,QAAQ,uBAAuB;AAC7C,sBAAgB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC5D;AACA,QAAI,CAAC,QAAQ,uBAAuB,OAAOF,MAAK,KAAK,GAAG;AACtD,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,uBAAuB,SAAS,CAAC;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAG,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUL,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,qBAAqB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC7E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,sBAAsB,KAAK,gBAAgB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAClF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,yBAAyBC,MAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACjF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASG,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACrD,OAAO,YAAY,IAAI,CAAC,MAAW,qBAAqB,SAAS,CAAC,CAAC,IACnE,CAAC;AAAA,MACL,uBAAuB,WAAW,MAAM,QAAQ,QAAQ,uBAAuB,IAC3E,OAAO,wBAAwB,IAAI,CAAC,MAAW,gBAAgB,SAAS,CAAC,CAAC,IAC1E,CAAC;AAAA,MACL,wBAAwB,MAAM,OAAO,wBAAwB,IACzDH,MAAK,UAAU,OAAO,wBAAwB,IAC9CA,MAAK;AAAA,MACT,QAAQ,MAAM,OAAO,MAAM,IAAIG,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,cAAc,QAAQ,YAAY,IAAI,CAAC,MAAM,qBAAqB,OAAO,CAAC,CAAC;AAAA,IACjF;AACA,QAAI,QAAQ,uBAAuB,QAAQ;AACzC,UAAI,0BAA0B,QAAQ,sBAAsB,IAAI,CAAC,MAAM,gBAAgB,OAAO,CAAC,CAAC;AAAA,IAClG;AACA,QAAI,CAAC,QAAQ,uBAAuB,OAAOH,MAAK,KAAK,GAAG;AACtD,UAAI,4BAA4B,QAAQ,0BAA0BA,MAAK,OAAO,SAAS;AAAA,IACzF;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASG,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUJ,wBAAuB;AACvC,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,qBAAqB,YAAY,CAAC,CAAC,KAAK,CAAC;AAC9F,YAAQ,wBAAwB,OAAO,uBAAuB,IAAI,CAAC,MAAM,gBAAgB,YAAY,CAAC,CAAC,KAAK,CAAC;AAC7G,YAAQ,yBACL,OAAO,2BAA2B,UAAa,OAAO,2BAA2B,OAC9EC,MAAK,UAAU,OAAO,sBAAsB,IAC5CA,MAAK;AACX,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DG,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;;;AChIA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,YAAU;AA0IjB,SAAS,mCAA2D;AAClE,SAAO,EAAE,cAAc,GAAG;AAC5B;AAEO,IAAM,yBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAIC,eAAa,GAAiB;AAC/F,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO,EAAE,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI,GAAG;AAAA,EACpG;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oCAA6D;AACpE,SAAO,EAAE,YAAY,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACnF;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,QAAI,QAAQ,eAAe,QAAW;AACpC,oBAAc,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC1E;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACjE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAsC;AAC7C,WAAO;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,cAAc,SAAS,OAAO,UAAU,IAAI;AAAA,MACnF,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,cAAc,OAAO,QAAQ,UAAU;AAAA,IAC1D;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuE;AACjF,UAAM,UAAU,kCAAkC;AAClD,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,cAAc,YAAY,OAAO,UAAU,IAC3C;AACJ,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oCAA6D;AACpE,SAAO,EAAE,YAAY,OAAU;AACjC;AAEO,IAAM,0BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAkC,SAAuB,IAAID,eAAa,GAAiB;AAChG,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,kCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAsC;AAC7C,WAAO,EAAE,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI,OAAU;AAAA,EACtG;AAAA,EAEA,OAAO,SAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuE;AACjF,UAAM,UAAU,kCAAkC;AAClD,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,EAAE,aAAa,CAAC,GAAG,YAAY,QAAW,QAAQ,OAAU;AACrE;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAmC,SAAuB,IAAID,eAAa,GAAiB;AACjG,eAAW,KAAK,QAAQ,aAAa;AACnC,2BAAqB,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,aAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,qBAAqB,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC7E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuC;AAC9C,WAAO;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACrD,OAAO,YAAY,IAAI,CAAC,MAAW,qBAAqB,SAAS,CAAC,CAAC,IACnE,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,MAClF,QAAQ,MAAM,OAAO,MAAM,IAAI,OAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,cAAc,QAAQ,YAAY,IAAI,CAAC,MAAM,qBAAqB,OAAO,CAAC,CAAC;AAAA,IACjF;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAAS,OAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyE;AACnF,UAAM,UAAU,mCAAmC;AACnD,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,qBAAqB,YAAY,CAAC,CAAC,KAAK,CAAC;AAC9F,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/D,OAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAID,eAAa,GAAiB;AACtG,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO,EAAE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI,GAAG;AAAA,EACxF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2CAA2E;AAClF,SAAO,EAAE,iBAAiB,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACjF;AAEO,IAAM,iCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAyC,SAAuB,IAAID,eAAa,GAAiB;AACvG,eAAW,KAAK,QAAQ,iBAAiB;AACvC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiD;AACxF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yCAAyC;AACzD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,KAAK,OAAO,OAAO,CAAC;AAC5C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6C;AACpD,WAAO;AAAA,MACL,iBAAiB,WAAW,MAAM,QAAQ,QAAQ,gBAAgB,IAC9D,OAAO,iBAAiB,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IAC5D,CAAC;AAAA,MACL,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAkD;AACvD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,QAAQ;AACnC,UAAI,mBAAmB,QAAQ;AAAA,IACjC;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqF;AAC/F,UAAM,UAAU,yCAAyC;AACzD,YAAQ,kBAAkB,OAAO,iBAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACpE,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8CAAiF;AACxF,SAAO,EAAE,cAAc,GAAG;AAC5B;AAEO,IAAM,oCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA4C,SAAuB,IAAID,eAAa,GAAiB;AAC1G,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoD;AAC3F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4CAA4C;AAC5D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgD;AACvD,WAAO,EAAE,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI,GAAG;AAAA,EACpG;AAAA,EAEA,OAAO,SAAqD;AAC1D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2F;AACrG,UAAM,UAAU,4CAA4C;AAC5D,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+CAAmF;AAC1F,SAAO,EAAE,uBAAuB,QAAW,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AAC9F;AAEO,IAAM,qCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA6C,SAAuB,IAAID,eAAa,GAAiB;AAC3G,QAAI,QAAQ,0BAA0B,QAAW;AAC/C,4BAAsB,OAAO,QAAQ,uBAAuB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7F;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqD;AAC5F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6CAA6C;AAC7D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,wBAAwB,sBAAsB,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpF;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiD;AACxD,WAAO;AAAA,MACL,uBAAuB,MAAM,OAAO,uBAAuB,IACvD,sBAAsB,SAAS,OAAO,uBAAuB,IAC7D;AAAA,MACJ,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAsD;AAC3D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,0BAA0B,QAAW;AAC/C,UAAI,0BAA0B,sBAAsB,OAAO,QAAQ,qBAAqB;AAAA,IAC1F;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6F;AACvG,UAAM,UAAU,6CAA6C;AAC7D,YAAQ,wBACL,OAAO,0BAA0B,UAAa,OAAO,0BAA0B,OAC5E,sBAAsB,YAAY,OAAO,qBAAqB,IAC9D;AACN,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iDAAuF;AAC9F,SAAO,EAAE,cAAc,IAAI,gBAAgBC,OAAK,OAAO,gBAAgBA,OAAK,MAAM;AACpF;AAEO,IAAM,uCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAA+C,SAAuB,IAAIF,eAAa,GAAiB;AAC7G,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOE,OAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,OAAK,KAAK,GAAG;AAC9C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,eAAe,SAAS,CAAC;AAAA,IAC5D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuD;AAC9F,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+CAA+C;AAC/D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBC,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBA,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACzE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmD;AAC1D,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,gBAAgB,MAAM,OAAO,eAAe,IAAIA,OAAK,UAAU,OAAO,eAAe,IAAIA,OAAK;AAAA,MAC9F,gBAAgB,MAAM,OAAO,eAAe,IAAIA,OAAK,UAAU,OAAO,eAAe,IAAIA,OAAK;AAAA,IAChG;AAAA,EACF;AAAA,EAEA,OAAO,SAAwD;AAC7D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,OAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,OAAK,OAAO,SAAS;AAAA,IACxE;AACA,QAAI,CAAC,QAAQ,eAAe,OAAOA,OAAK,KAAK,GAAG;AAC9C,UAAI,mBAAmB,QAAQ,kBAAkBA,OAAK,OAAO,SAAS;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiG;AAC3G,UAAM,UAAU,+CAA+C;AAC/D,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,OAAK,UAAU,OAAO,cAAc,IACpCA,OAAK;AACT,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,OAAK,UAAU,OAAO,cAAc,IACpCA,OAAK;AACT,WAAO;AAAA,EACT;AACF;AAEA,SAAS,kDAAyF;AAChG,SAAO,EAAE,gBAAgB,QAAW,UAAU,IAAI,OAAO,IAAI,WAAW,CAAC,GAAG,aAAa,OAAU;AACrG;AAEO,IAAM,wCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAgD,SAAuB,IAAIF,eAAa,GAAiB;AAC9G,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,KAAK;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwD;AAC/F,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gDAAgD;AAChE,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,QAAQ,OAAO,MAAM;AAC7B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoD;AAC3D,WAAO;AAAA,MACL,gBAAgB,MAAM,OAAO,eAAe,IAAI,IAAI,SAAS,OAAO,eAAe,IAAI;AAAA,MACvF,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,OAAO,MAAM,OAAO,KAAK,IAAI,gBAAgB,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC;AAAA,MAC7E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,IACnF;AAAA,EACF;AAAA,EAEA,OAAO,SAAyD;AAC9D,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,IAAI,OAAO,QAAQ,cAAc;AAAA,IACzD;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,UAAI,QAAQ,gBAAgB,QAAQ,KAAK;AAAA,IAC3C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmG;AAC7G,UAAM,UAAU,gDAAgD;AAChE,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,IAAI,YAAY,OAAO,cAAc,IACrC;AACJ,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,QAAQ,OAAO,SAAS,IAAI,WAAW,CAAC;AAChD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,CAAC;AACV;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAiC,SAAuB,IAAID,eAAa,GAAiB;AAC/F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAsC;AAC7C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA4E;AACtF,UAAM,UAAU,uCAAuC;AACvD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0CAAyE;AAChF,SAAO,EAAE,QAAQ,OAAU;AAC7B;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAwC,SAAuB,IAAID,eAAa,GAAiB;AACtG,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAG,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBF,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASE,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4C;AACnD,WAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI,OAAU;AAAA,EACrF;AAAA,EAEA,OAAO,SAAiD;AACtD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmF;AAC7F,UAAM,UAAU,wCAAwC;AACxD,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DA,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;;;AC3jCA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,YAAU;AA8KjB,SAAS,kCAAyD;AAChE,SAAO,EAAE,UAAU,IAAI,cAAc,QAAW,SAAS,QAAW,aAAaC,OAAK,OAAO,QAAQ,GAAG;AAC1G;AAEO,IAAM,wBACX;AAAA,EACE,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAIC,eAAa,GAAiB;AAC9F,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,MAAAC,cAAa,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3E;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,cAAQ,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOF,OAAK,KAAK,GAAG;AAC3C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY,SAAS,CAAC;AAAA,IACzD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBG,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAeD,cAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAClE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAcF,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACtE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,cAAc,MAAM,OAAO,YAAY,IAAIE,cAAa,SAAS,OAAO,YAAY,IAAI;AAAA,MACxF,SAAS,MAAM,OAAO,OAAO,IAAI,QAAQ,SAAS,OAAO,OAAO,IAAI;AAAA,MACpE,aAAa,MAAM,OAAO,YAAY,IAAIF,OAAK,UAAU,OAAO,YAAY,IAAIA,OAAK;AAAA,MACrF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,eAAeE,cAAa,OAAO,QAAQ,YAAY;AAAA,IAC7D;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,UAAU,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOF,OAAK,KAAK,GAAG;AAC3C,UAAI,gBAAgB,QAAQ,eAAeA,OAAK,OAAO,SAAS;AAAA,IAClE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjFE,cAAa,YAAY,OAAO,YAAY,IAC5C;AACJ,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,QAAQ,YAAY,OAAO,OAAO,IAClC;AACJ,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9EF,OAAK,UAAU,OAAO,WAAW,IACjCA,OAAK;AACT,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEF,SAAS,0CAAyE;AAChF,SAAO,CAAC;AACV;AAEO,IAAM,gCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAkC,SAAuB,IAAIC,eAAa,GAAiB;AAChG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgD;AACvF,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wCAAwC;AACxD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAuC;AAC9C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA2C;AAChD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA8E;AACxF,UAAM,UAAU,wCAAwC;AACxD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iCAAuD;AAC9D,SAAO;AAAA,IACL,UAAU;AAAA,IACV,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAaH,OAAK;AAAA,IAClB,sBAAsB,CAAC;AAAA,IACvB,aAAa;AAAA,IACb,WAAW,IAAI,WAAW,CAAC;AAAA,IAC3B,aAAa,IAAI,WAAW,CAAC;AAAA,IAC7B,gBAAgB,IAAI,WAAW,CAAC;AAAA,IAChC,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,yBAAyB,IAAI,WAAW,CAAC;AAAA,EAC3C;AACF;AAEO,IAAM,uBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAA+B,SAAuB,IAAIC,eAAa,GAAiB;AAC7F,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,yBAAyB,IAAI;AACvC,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,oBAAoB;AAAA,IACvD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,MAAAC,cAAa,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3E;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOF,OAAK,KAAK,GAAG;AAC3C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY,SAAS,CAAC;AAAA,IACzD;AACA,eAAW,KAAK,QAAQ,sBAAsB;AAC5C,cAAQ,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC3C;AACA,QAAI,QAAQ,YAAY,WAAW,GAAG;AACpC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,WAAW;AAAA,IAC7C;AACA,QAAI,QAAQ,eAAe,WAAW,GAAG;AACvC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,cAAc;AAAA,IAChD;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,aAAO,OAAO,QAAQ,iBAAiB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,wBAAwB,WAAW,GAAG;AAChD,aAAO,OAAO,GAAG,EAAE,MAAM,QAAQ,uBAAuB;AAAA,IAC1D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuC;AAC9E,UAAM,SAAS,iBAAiBG,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+BAA+B;AAC/C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,uBAAuB,OAAO,OAAO;AAC7C;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAeD,cAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAClE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAcF,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACtE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,qBAAqB,KAAK,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACzE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,MAAM;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,MAAM;AACnC;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,OAAO,MAAM;AACtC;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,KAAK;AACf;AAAA,UACF;AAEA,kBAAQ,0BAA0B,OAAO,MAAM;AAC/C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmC;AAC1C,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,sBAAsB,MAAM,OAAO,sBAAsB,IACrD,WAAW,OAAO,OAAO,sBAAsB,IAC/C;AAAA,MACJ,aAAa,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC9E,cAAc,MAAM,OAAO,YAAY,IAAIE,cAAa,SAAS,OAAO,YAAY,IAAI;AAAA,MACxF,aAAa,MAAM,OAAO,YAAY,IAAIF,OAAK,UAAU,OAAO,YAAY,IAAIA,OAAK;AAAA,MACrF,sBAAsB,WAAW,MAAM,QAAQ,QAAQ,qBAAqB,IACxE,OAAO,sBAAsB,IAAI,CAAC,MAAW,QAAQ,SAAS,CAAC,CAAC,IAChE,CAAC;AAAA,MACL,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,WAAW,MAAM,OAAO,UAAU,IAAI,gBAAgB,OAAO,UAAU,IAAI,IAAI,WAAW,CAAC;AAAA,MAC3F,aAAa,MAAM,OAAO,YAAY,IAAI,gBAAgB,OAAO,YAAY,IAAI,IAAI,WAAW,CAAC;AAAA,MACjG,gBAAgB,MAAM,OAAO,eAAe,IAAI,gBAAgB,OAAO,eAAe,IAAI,IAAI,WAAW,CAAC;AAAA,MAC1G,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,OAAO,SAAS,OAAO,gBAAgB,IAAI;AAAA,MAC7F,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,yBAAyB,MAAM,OAAO,0BAA0B,IAC5D,gBAAgB,OAAO,0BAA0B,IACjD,IAAI,WAAW,CAAC;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,OAAO,SAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,yBAAyB,IAAI;AACvC,UAAI,yBAAyB,QAAQ;AAAA,IACvC;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,IAAI,OAAO,QAAQ,WAAW;AAAA,IACnD;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,eAAeE,cAAa,OAAO,QAAQ,YAAY;AAAA,IAC7D;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOF,OAAK,KAAK,GAAG;AAC3C,UAAI,gBAAgB,QAAQ,eAAeA,OAAK,OAAO,SAAS;AAAA,IAClE;AACA,QAAI,QAAQ,sBAAsB,QAAQ;AACxC,UAAI,wBAAwB,QAAQ,qBAAqB,IAAI,CAAC,MAAM,QAAQ,OAAO,CAAC,CAAC;AAAA,IACvF;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,UAAI,aAAa,gBAAgB,QAAQ,SAAS;AAAA,IACpD;AACA,QAAI,QAAQ,YAAY,WAAW,GAAG;AACpC,UAAI,eAAe,gBAAgB,QAAQ,WAAW;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,WAAW,GAAG;AACvC,UAAI,kBAAkB,gBAAgB,QAAQ,cAAc;AAAA,IAC9D;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,UAAI,mBAAmB,OAAO,OAAO,QAAQ,eAAe;AAAA,IAC9D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,wBAAwB,WAAW,GAAG;AAChD,UAAI,6BAA6B,gBAAgB,QAAQ,uBAAuB;AAAA,IAClF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiE;AAC3E,UAAM,UAAU,+BAA+B;AAC/C,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,uBAAuB,OAAO,wBAAwB;AAC9D,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,IAAI,YAAY,OAAO,WAAW,IAClC;AACJ,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjFE,cAAa,YAAY,OAAO,YAAY,IAC5C;AACJ,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9EF,OAAK,UAAU,OAAO,WAAW,IACjCA,OAAK;AACT,YAAQ,uBAAuB,OAAO,sBAAsB,IAAI,CAAC,MAAM,QAAQ,YAAY,CAAC,CAAC,KAAK,CAAC;AACnG,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,YAAY,OAAO,aAAa,IAAI,WAAW,CAAC;AACxD,YAAQ,cAAc,OAAO,eAAe,IAAI,WAAW,CAAC;AAC5D,YAAQ,iBAAiB,OAAO,kBAAkB,IAAI,WAAW,CAAC;AAClE,YAAQ,kBAAmB,OAAO,oBAAoB,UAAa,OAAO,oBAAoB,OAC1F,OAAO,YAAY,OAAO,eAAe,IACzC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,0BAA0B,OAAO,2BAA2B,IAAI,WAAW,CAAC;AACpF,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,CAAC;AACV;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAiC,SAAuB,IAAIC,eAAa,GAAiB;AAC/F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAsC;AAC7C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA4E;AACtF,UAAM,UAAU,uCAAuC;AACvD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iCAAuD;AAC9D,SAAO;AAAA,IACL,cAAc;AAAA,IACd,0BAA0B;AAAA,IAC1B,SAAS;AAAA,IACT,aAAa;AAAA,IACb,aAAa;AAAA,IACb,UAAU,IAAI,WAAW,CAAC;AAAA,IAC1B,aAAa,IAAI,WAAW,CAAC;AAAA,IAC7B,gBAAgB,IAAI,WAAW,CAAC;AAAA,IAChC,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,yBAAyB,IAAI,WAAW,CAAC;AAAA,EAC3C;AACF;AAEO,IAAM,uBAAwG;AAAA,EACnH,OAAO;AAAA,EAEP,OAAO,SAA+B,SAAuB,IAAIF,eAAa,GAAiB;AAC7F,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,6BAA6B,IAAI;AAC3C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,wBAAwB;AAAA,IAC3D;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,cAAQ,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,YAAY,WAAW,GAAG;AACpC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,WAAW;AAAA,IAC7C;AACA,QAAI,QAAQ,eAAe,WAAW,GAAG;AACvC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,cAAc;AAAA,IAChD;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,aAAO,OAAO,QAAQ,iBAAiB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,wBAAwB,WAAW,GAAG;AAChD,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,uBAAuB;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuC;AAC9E,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+BAA+B;AAC/C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,2BAA2B,OAAO,OAAO;AACjD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,QAAQ,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,IAAI,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,MAAM;AACnC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,OAAO,MAAM;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,0BAA0B,OAAO,MAAM;AAC/C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmC;AAC1C,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,0BAA0B,MAAM,OAAO,0BAA0B,IAC7D,WAAW,OAAO,OAAO,0BAA0B,IACnD;AAAA,MACJ,SAAS,MAAM,OAAO,OAAO,IAAI,QAAQ,SAAS,OAAO,OAAO,IAAI;AAAA,MACpE,aAAa,MAAM,OAAO,YAAY,IAAI,IAAI,SAAS,OAAO,YAAY,IAAI;AAAA,MAC9E,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,UAAU,MAAM,OAAO,SAAS,IAAI,gBAAgB,OAAO,SAAS,IAAI,IAAI,WAAW,CAAC;AAAA,MACxF,aAAa,MAAM,OAAO,YAAY,IAAI,gBAAgB,OAAO,YAAY,IAAI,IAAI,WAAW,CAAC;AAAA,MACjG,gBAAgB,MAAM,OAAO,eAAe,IAAI,gBAAgB,OAAO,eAAe,IAAI,IAAI,WAAW,CAAC;AAAA,MAC1G,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,OAAO,SAAS,OAAO,gBAAgB,IAAI;AAAA,MAC7F,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,yBAAyB,MAAM,OAAO,0BAA0B,IAC5D,gBAAgB,OAAO,0BAA0B,IACjD,IAAI,WAAW,CAAC;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,OAAO,SAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,6BAA6B,IAAI;AAC3C,UAAI,6BAA6B,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,UAAU,QAAQ,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,IAAI,OAAO,QAAQ,WAAW;AAAA,IACnD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,YAAY,gBAAgB,QAAQ,QAAQ;AAAA,IAClD;AACA,QAAI,QAAQ,YAAY,WAAW,GAAG;AACpC,UAAI,eAAe,gBAAgB,QAAQ,WAAW;AAAA,IACxD;AACA,QAAI,QAAQ,eAAe,WAAW,GAAG;AACvC,UAAI,kBAAkB,gBAAgB,QAAQ,cAAc;AAAA,IAC9D;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,UAAI,mBAAmB,OAAO,OAAO,QAAQ,eAAe;AAAA,IAC9D;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,wBAAwB,WAAW,GAAG;AAChD,UAAI,6BAA6B,gBAAgB,QAAQ,uBAAuB;AAAA,IAClF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiE;AAC3E,UAAM,UAAU,+BAA+B;AAC/C,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,2BAA2B,OAAO,4BAA4B;AACtE,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,QAAQ,YAAY,OAAO,OAAO,IAClC;AACJ,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,IAAI,YAAY,OAAO,WAAW,IAClC;AACJ,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,cAAc,OAAO,eAAe,IAAI,WAAW,CAAC;AAC5D,YAAQ,iBAAiB,OAAO,kBAAkB,IAAI,WAAW,CAAC;AAClE,YAAQ,kBAAmB,OAAO,oBAAoB,UAAa,OAAO,oBAAoB,OAC1F,OAAO,YAAY,OAAO,eAAe,IACzC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,0BAA0B,OAAO,2BAA2B,IAAI,WAAW,CAAC;AACpF,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yCAAuE;AAC9E,SAAO,CAAC;AACV;AAEO,IAAM,+BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAiC,SAAuB,IAAIF,eAAa,GAAiB;AAC/F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+C;AACtF,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uCAAuC;AACvD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAsC;AAC7C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAA4E;AACtF,UAAM,UAAU,uCAAuC;AACvD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qCAA+D;AACtE,SAAO,EAAE,cAAc,IAAI,UAAU,IAAI,WAAW,CAAC,GAAG,aAAa,QAAW,QAAQ,GAAG;AAC7F;AAEO,IAAM,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAmC,SAAuB,IAAIF,eAAa,GAAiB;AACjG,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY;AAAA,IAC/C;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,aAAO,OAAO,QAAQ,aAAa,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACpE;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2C;AAClF,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mCAAmC;AACnD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO;AACrC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC3D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuC;AAC9C,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,WAAW,OAAO,OAAO,aAAa,IAAI;AAAA,MACtF,UAAU,MAAM,OAAO,SAAS,IAAI,gBAAgB,OAAO,SAAS,IAAI,IAAI,WAAW,CAAC;AAAA,MACxF,aAAa,MAAM,OAAO,YAAY,IAAI,OAAO,SAAS,OAAO,YAAY,IAAI;AAAA,MACjF,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,IACpE;AAAA,EACF;AAAA,EAEA,OAAO,SAA4C;AACjD,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,IAAI;AAC/B,UAAI,gBAAgB,QAAQ;AAAA,IAC9B;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,YAAY,gBAAgB,QAAQ,QAAQ;AAAA,IAClD;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACrC,UAAI,eAAe,OAAO,OAAO,QAAQ,WAAW;AAAA,IACtD;AACA,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyE;AACnF,UAAM,UAAU,mCAAmC;AACnD,YAAQ,eAAe,OAAO,gBAAgB;AAC9C,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9E,OAAO,YAAY,OAAO,WAAW,IACrC;AACJ,YAAQ,SAAS,OAAO,UAAU;AAClC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6CAA+E;AACtF,SAAO,CAAC;AACV;AAEO,IAAM,mCAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAAqC,SAAuB,IAAIF,eAAa,GAAiB;AACnG,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmD;AAC1F,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2CAA2C;AAC3D,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAA0C;AACjD,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAA8C;AACnD,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAoF;AAC9F,UAAM,UAAU,2CAA2C;AAC3D,WAAO;AAAA,EACT;AACF;AAEA,SAASC,6BAA6C;AACpD,SAAO,EAAE,QAAQ,IAAI,QAAQ,OAAU;AACzC;AAEO,IAAMC,mBAAyF;AAAA,EACpG,OAAO;AAAA,EAEP,OAAO,SAA0B,SAAuB,IAAIJ,eAAa,GAAiB;AACxF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,MAAAK,QAAO,OAAO,QAAQ,QAAQ,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAkC;AACzE,UAAM,SAAS,iBAAiBH,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,2BAA0B;AAC1C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAASE,QAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA8B;AACrC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,QAAQ,MAAM,OAAO,MAAM,IAAIA,QAAO,SAAS,OAAO,MAAM,IAAI;AAAA,IAClE;AAAA,EACF;AAAA,EAEA,OAAO,SAAmC;AACxC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,WAAW,QAAW;AAChC,UAAI,SAASA,QAAO,OAAO,QAAQ,MAAM;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAuD;AACjE,UAAM,UAAUF,2BAA0B;AAC1C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,SAAU,OAAO,WAAW,UAAa,OAAO,WAAW,OAC/DE,QAAO,YAAY,OAAO,MAAM,IAChC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAASC,qCAA6D;AACpE,SAAO,CAAC;AACV;AAEO,IAAMC,2BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA4B,SAAuB,IAAIP,eAAa,GAAiB;AAC1F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA0C;AACjF,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUI,mCAAkC;AAClD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAiC;AACxC,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAkE;AAC5E,UAAM,UAAUA,mCAAkC;AAClD,WAAO;AAAA,EACT;AACF;;;AC/sCA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AA8B3C,SAASC,0BAAuC;AAC9C,SAAO;AAAA,IACL,eAAe;AAAA,IACf,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,EACpB;AACF;AAEO,IAAMC,gBAA2E;AAAA,EACtF,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIC,eAAa,GAAiB;AACrF,QAAI,QAAQ,kBAAkB,QAAW;AACvC,MAAAD,cAAc,OAAO,QAAQ,eAAe,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC7E;AACA,QAAI,QAAQ,sBAAsB,QAAW;AAC3C,MAAAA,cAAc,OAAO,QAAQ,mBAAmB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjF;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,MAAAA,cAAc,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC9E;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,MAAAA,cAAc,OAAO,QAAQ,iBAAiB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC/E;AACA,QAAI,QAAQ,qBAAqB,QAAW;AAC1C,mBAAc,OAAO,QAAQ,kBAAkB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBE,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUH,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgBC,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACpE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,oBAAoBA,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiBA,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACrE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkBA,cAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACtE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,mBAAmB,aAAc,OAAO,QAAQ,OAAO,OAAO,CAAC;AACvE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,eAAe,MAAM,OAAO,cAAc,IAAIA,cAAc,SAAS,OAAO,cAAc,IAAI;AAAA,MAC9F,mBAAmB,MAAM,OAAO,kBAAkB,IAC9CA,cAAc,SAAS,OAAO,kBAAkB,IAChD;AAAA,MACJ,gBAAgB,MAAM,OAAO,eAAe,IAAIA,cAAc,SAAS,OAAO,eAAe,IAAI;AAAA,MACjG,iBAAiB,MAAM,OAAO,iBAAiB,IAAIA,cAAc,SAAS,OAAO,iBAAiB,IAAI;AAAA,MACtG,kBAAkB,MAAM,OAAO,kBAAkB,IAC7C,aAAc,SAAS,OAAO,kBAAkB,IAChD;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,iBAAiBA,cAAc,OAAO,QAAQ,aAAa;AAAA,IACjE;AACA,QAAI,QAAQ,sBAAsB,QAAW;AAC3C,UAAI,qBAAqBA,cAAc,OAAO,QAAQ,iBAAiB;AAAA,IACzE;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkBA,cAAc,OAAO,QAAQ,cAAc;AAAA,IACnE;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,UAAI,oBAAoBA,cAAc,OAAO,QAAQ,eAAe;AAAA,IACtE;AACA,QAAI,QAAQ,qBAAqB,QAAW;AAC1C,UAAI,qBAAqB,aAAc,OAAO,QAAQ,gBAAgB;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUD,wBAAuB;AACvC,YAAQ,gBAAiB,OAAO,kBAAkB,UAAa,OAAO,kBAAkB,OACpFC,cAAc,YAAY,OAAO,aAAa,IAC9C;AACJ,YAAQ,oBAAqB,OAAO,sBAAsB,UAAa,OAAO,sBAAsB,OAChGA,cAAc,YAAY,OAAO,iBAAiB,IAClD;AACJ,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvFA,cAAc,YAAY,OAAO,cAAc,IAC/C;AACJ,YAAQ,kBAAmB,OAAO,oBAAoB,UAAa,OAAO,oBAAoB,OAC1FA,cAAc,YAAY,OAAO,eAAe,IAChD;AACJ,YAAQ,mBAAoB,OAAO,qBAAqB,UAAa,OAAO,qBAAqB,OAC7F,aAAc,YAAY,OAAO,gBAAgB,IACjD;AACJ,WAAO;AAAA,EACT;AACF;;;AC1KA,SAAS,gBAAAG,gBAAc,gBAAAC,sBAAoB;AAC3C,OAAOC,YAAU;AA8HjB,SAAS,wBAAqC;AAC5C,SAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,cAAc;AAAA,IACd,YAAY,CAAC;AAAA,IACb,aAAa,CAAC;AAAA,IACd,wBAAwB;AAAA,IACxB,8BAA8B;AAAA,EAChC;AACF;AAEO,IAAM,cAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAAsB,SAAuB,IAAIC,eAAa,GAAiB;AACpF,QAAI,QAAQ,YAAY,IAAI;AAC1B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,OAAO;AAAA,IAC1C;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,eAAS,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrE;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,eAAS,OAAO,QAAQ,gBAAgB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,eAAS,OAAO,QAAQ,iBAAiB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC1E;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,eAAS,OAAO,QAAQ,eAAe,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,aAAO,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrE;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,aAAO,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrE;AACA,eAAW,KAAK,QAAQ,YAAY;AAClC,gBAAU,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACtD;AACA,eAAW,KAAK,QAAQ,aAAa;AACnC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,QAAI,QAAQ,2BAA2B,OAAO;AAC5C,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,sBAAsB;AAAA,IACvD;AACA,QAAI,QAAQ,iCAAiC,OAAO;AAClD,aAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,4BAA4B;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8B;AACrE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,sBAAsB;AACtC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,SAAS,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC5D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,iBAAiB,SAAS,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,kBAAkB,SAAS,OAAO,QAAQ,OAAO,OAAO,CAAC;AACjE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,SAAS,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC5D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC5D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,KAAK,UAAU,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AACjE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,KAAK,OAAO,OAAO,CAAC;AACxC;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,yBAAyB,OAAO,KAAK;AAC7C;AAAA,QACF;AAAA,QACA,KAAK,IAAI;AACP,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,+BAA+B,OAAO,KAAK;AACnD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0B;AACjC,WAAO;AAAA,MACL,SAAS,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI;AAAA,MACvE,YAAY,MAAM,OAAO,WAAW,IAAI,SAAS,SAAS,OAAO,WAAW,IAAI;AAAA,MAChF,gBAAgB,MAAM,OAAO,eAAe,IAAI,SAAS,SAAS,OAAO,eAAe,IAAI;AAAA,MAC5F,iBAAiB,MAAM,OAAO,gBAAgB,IAAI,SAAS,SAAS,OAAO,gBAAgB,IAAI;AAAA,MAC/F,eAAe,MAAM,OAAO,eAAe,IAAI,SAAS,SAAS,OAAO,eAAe,IAAI;AAAA,MAC3F,cAAc,MAAM,OAAO,aAAa,IAAI,OAAO,SAAS,OAAO,aAAa,IAAI;AAAA,MACpF,cAAc,MAAM,OAAO,aAAa,IAAI,OAAO,SAAS,OAAO,aAAa,IAAI;AAAA,MACpF,YAAY,WAAW,MAAM,QAAQ,QAAQ,WAAW,IACpD,OAAO,YAAY,IAAI,CAAC,MAAW,UAAU,SAAS,CAAC,CAAC,IACxD,CAAC;AAAA,MACL,aAAa,WAAW,MAAM,QAAQ,QAAQ,YAAY,IACtD,OAAO,aAAa,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IACxD,CAAC;AAAA,MACL,wBAAwB,MAAM,OAAO,yBAAyB,IAC1D,WAAW,QAAQ,OAAO,yBAAyB,IACnD;AAAA,MACJ,8BAA8B,MAAM,OAAO,+BAA+B,IACtE,WAAW,QAAQ,OAAO,+BAA+B,IACzD;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAA+B;AACpC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,YAAY,IAAI;AAC1B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,cAAc,SAAS,OAAO,QAAQ,UAAU;AAAA,IACtD;AACA,QAAI,QAAQ,mBAAmB,QAAW;AACxC,UAAI,kBAAkB,SAAS,OAAO,QAAQ,cAAc;AAAA,IAC9D;AACA,QAAI,QAAQ,oBAAoB,QAAW;AACzC,UAAI,mBAAmB,SAAS,OAAO,QAAQ,eAAe;AAAA,IAChE;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,kBAAkB,SAAS,OAAO,QAAQ,aAAa;AAAA,IAC7D;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,gBAAgB,OAAO,OAAO,QAAQ,YAAY;AAAA,IACxD;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,gBAAgB,OAAO,OAAO,QAAQ,YAAY;AAAA,IACxD;AACA,QAAI,QAAQ,YAAY,QAAQ;AAC9B,UAAI,cAAc,QAAQ,WAAW,IAAI,CAAC,MAAM,UAAU,OAAO,CAAC,CAAC;AAAA,IACrE;AACA,QAAI,QAAQ,aAAa,QAAQ;AAC/B,UAAI,eAAe,QAAQ;AAAA,IAC7B;AACA,QAAI,QAAQ,2BAA2B,OAAO;AAC5C,UAAI,4BAA4B,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,iCAAiC,OAAO;AAClD,UAAI,kCAAkC,QAAQ;AAAA,IAChD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+C;AACzD,UAAM,UAAU,sBAAsB;AACtC,YAAQ,UAAU,OAAO,WAAW;AACpC,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,SAAS,YAAY,OAAO,UAAU,IACtC;AACJ,YAAQ,iBAAkB,OAAO,mBAAmB,UAAa,OAAO,mBAAmB,OACvF,SAAS,YAAY,OAAO,cAAc,IAC1C;AACJ,YAAQ,kBAAmB,OAAO,oBAAoB,UAAa,OAAO,oBAAoB,OAC1F,SAAS,YAAY,OAAO,eAAe,IAC3C;AACJ,YAAQ,gBAAiB,OAAO,kBAAkB,UAAa,OAAO,kBAAkB,OACpF,SAAS,YAAY,OAAO,aAAa,IACzC;AACJ,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,OAAO,YAAY,OAAO,YAAY,IACtC;AACJ,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,OAAO,YAAY,OAAO,YAAY,IACtC;AACJ,YAAQ,aAAa,OAAO,YAAY,IAAI,CAAC,MAAM,UAAU,YAAY,CAAC,CAAC,KAAK,CAAC;AACjF,YAAQ,cAAc,OAAO,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,YAAQ,yBAAyB,OAAO,0BAA0B;AAClE,YAAQ,+BAA+B,OAAO,gCAAgC;AAC9E,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2BAA2C;AAClD,SAAO,EAAE,WAAW,QAAW,MAAM,QAAW,oBAAoB,IAAI,WAAW,CAAC,EAAE;AACxF;AAEO,IAAM,iBAA8F;AAAA,EACzG,OAAO;AAAA,EAEP,OAAO,SAAyB,SAAuB,IAAID,eAAa,GAAiB;AACvF,QAAI,QAAQ,cAAc,QAAW;AACnC,gBAAU,OAAO,YAAY,QAAQ,SAAS,GAAG,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAClF;AACA,QAAI,QAAQ,SAAS,QAAW;AAC9B,iBAAW,OAAO,QAAQ,MAAM,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACjE;AACA,QAAI,QAAQ,mBAAmB,WAAW,GAAG;AAC3C,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,kBAAkB;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiC;AACxE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,yBAAyB;AACzC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,cAAc,UAAU,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC3E;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,WAAW,OAAO,QAAQ,OAAO,OAAO,CAAC;AACxD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,qBAAqB,OAAO,MAAM;AAC1C;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6B;AACpC,WAAO;AAAA,MACL,WAAW,MAAM,OAAO,SAAS,IAAI,kBAAkB,OAAO,SAAS,IAAI;AAAA,MAC3E,MAAM,MAAM,OAAO,IAAI,IAAI,WAAW,SAAS,OAAO,IAAI,IAAI;AAAA,MAC9D,oBAAoB,MAAM,OAAO,oBAAoB,IACjD,gBAAgB,OAAO,oBAAoB,IAC3C,IAAI,WAAW,CAAC;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,OAAO,SAAkC;AACvC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,cAAc,QAAW;AACnC,UAAI,YAAY,QAAQ,UAAU,YAAY;AAAA,IAChD;AACA,QAAI,QAAQ,SAAS,QAAW;AAC9B,UAAI,OAAO,WAAW,OAAO,QAAQ,IAAI;AAAA,IAC3C;AACA,QAAI,QAAQ,mBAAmB,WAAW,GAAG;AAC3C,UAAI,uBAAuB,gBAAgB,QAAQ,kBAAkB;AAAA,IACvE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqD;AAC/D,UAAM,UAAU,yBAAyB;AACzC,YAAQ,YAAY,OAAO,aAAa;AACxC,YAAQ,OAAQ,OAAO,SAAS,UAAa,OAAO,SAAS,OACzD,WAAW,YAAY,OAAO,IAAI,IAClC;AACJ,YAAQ,qBAAqB,OAAO,sBAAsB,IAAI,WAAW,CAAC;AAC1E,WAAO;AAAA,EACT;AACF;AAEA,SAAS,yBAAuC;AAC9C,SAAO,EAAE,UAAU,IAAI,SAAS,QAAW,SAAS,OAAU;AAChE;AAEO,IAAM,eAAwF;AAAA,EACnG,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAID,eAAa,GAAiB;AACrF,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,aAAO,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChE;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,aAAO,OAAO,QAAQ,SAAS,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACvD;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AACvD;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,SAAS,MAAM,OAAO,QAAQ,IAAI,OAAO,SAAS,OAAO,QAAQ,IAAI;AAAA,MACrE,SAAS,MAAM,OAAO,QAAQ,IAAI,OAAO,SAAS,OAAO,QAAQ,IAAI;AAAA,IACvE;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,WAAW,OAAO,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,QAAI,QAAQ,YAAY,QAAW;AACjC,UAAI,WAAW,OAAO,OAAO,QAAQ,OAAO;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAU,uBAAuB;AACvC,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,OAAO,YAAY,OAAO,OAAO,IACjC;AACJ,YAAQ,UAAW,OAAO,YAAY,UAAa,OAAO,YAAY,OAClE,OAAO,YAAY,OAAO,OAAO,IACjC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mBAA2B;AAClC,SAAO,EAAE,cAAc,QAAW,cAAc,QAAW,eAAe,QAAW,mBAAmB,OAAU;AACpH;AAEO,IAAM,SAAsE;AAAA,EACjF,OAAO;AAAA,EAEP,OAAO,SAAiB,SAAuB,IAAID,eAAa,GAAiB;AAC/E,QAAI,QAAQ,iBAAiB,QAAW;AACtC,mBAAa,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3E;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,mBAAa,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAC3E;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,aAAO,OAAO,QAAQ,eAAe,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACtE;AACA,QAAI,QAAQ,sBAAsB,QAAW;AAC3C,mBAAa,OAAO,QAAQ,mBAAmB,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IAChF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyB;AAChE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iBAAiB;AACjC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAClE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAClE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,gBAAgB,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC7D;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,oBAAoB,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AACvE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqB;AAC5B,WAAO;AAAA,MACL,cAAc,MAAM,OAAO,aAAa,IAAI,aAAa,SAAS,OAAO,aAAa,IAAI;AAAA,MAC1F,cAAc,MAAM,OAAO,aAAa,IAAI,aAAa,SAAS,OAAO,aAAa,IAAI;AAAA,MAC1F,eAAe,MAAM,OAAO,cAAc,IAAI,OAAO,SAAS,OAAO,cAAc,IAAI;AAAA,MACvF,mBAAmB,MAAM,OAAO,kBAAkB,IAC9C,aAAa,SAAS,OAAO,kBAAkB,IAC/C;AAAA,IACN;AAAA,EACF;AAAA,EAEA,OAAO,SAA0B;AAC/B,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,gBAAgB,aAAa,OAAO,QAAQ,YAAY;AAAA,IAC9D;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,gBAAgB,aAAa,OAAO,QAAQ,YAAY;AAAA,IAC9D;AACA,QAAI,QAAQ,kBAAkB,QAAW;AACvC,UAAI,iBAAiB,OAAO,OAAO,QAAQ,aAAa;AAAA,IAC1D;AACA,QAAI,QAAQ,sBAAsB,QAAW;AAC3C,UAAI,qBAAqB,aAAa,OAAO,QAAQ,iBAAiB;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqC;AAC/C,UAAM,UAAU,iBAAiB;AACjC,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,aAAa,YAAY,OAAO,YAAY,IAC5C;AACJ,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,aAAa,YAAY,OAAO,YAAY,IAC5C;AACJ,YAAQ,gBAAiB,OAAO,kBAAkB,UAAa,OAAO,kBAAkB,OACpF,OAAO,YAAY,OAAO,aAAa,IACvC;AACJ,YAAQ,oBAAqB,OAAO,sBAAsB,UAAa,OAAO,sBAAsB,OAChG,aAAa,YAAY,OAAO,iBAAiB,IACjD;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAA+B;AACtC,SAAO,EAAE,WAAWC,OAAK,OAAO,aAAaA,OAAK,MAAM;AAC1D;AAEO,IAAM,WAA4E;AAAA,EACvF,OAAO;AAAA,EAEP,OAAO,SAAmB,SAAuB,IAAIF,eAAa,GAAiB;AACjF,QAAI,CAAC,QAAQ,UAAU,OAAOE,OAAK,KAAK,GAAG;AACzC,aAAO,OAAO,CAAC,EAAE,OAAO,QAAQ,UAAU,SAAS,CAAC;AAAA,IACtD;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOA,OAAK,KAAK,GAAG;AAC3C,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,YAAY,SAAS,CAAC;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2B;AAClE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mBAAmB;AACnC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,GAAG;AACb;AAAA,UACF;AAEA,kBAAQ,YAAYC,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACpE;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,cAAcA,OAAK,WAAW,OAAO,OAAO,EAAE,SAAS,GAAG,IAAI;AACtE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuB;AAC9B,WAAO;AAAA,MACL,WAAW,MAAM,OAAO,SAAS,IAAIA,OAAK,UAAU,OAAO,SAAS,IAAIA,OAAK;AAAA,MAC7E,aAAa,MAAM,OAAO,WAAW,IAAIA,OAAK,UAAU,OAAO,WAAW,IAAIA,OAAK;AAAA,IACrF;AAAA,EACF;AAAA,EAEA,OAAO,SAA4B;AACjC,UAAM,MAAW,CAAC;AAClB,QAAI,CAAC,QAAQ,UAAU,OAAOA,OAAK,KAAK,GAAG;AACzC,UAAI,aAAa,QAAQ,aAAaA,OAAK,OAAO,SAAS;AAAA,IAC7D;AACA,QAAI,CAAC,QAAQ,YAAY,OAAOA,OAAK,KAAK,GAAG;AAC3C,UAAI,eAAe,QAAQ,eAAeA,OAAK,OAAO,SAAS;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyC;AACnD,UAAM,UAAU,mBAAmB;AACnC,YAAQ,YAAa,OAAO,cAAc,UAAa,OAAO,cAAc,OACxEA,OAAK,UAAU,OAAO,SAAS,IAC/BA,OAAK;AACT,YAAQ,cAAe,OAAO,gBAAgB,UAAa,OAAO,gBAAgB,OAC9EA,OAAK,UAAU,OAAO,WAAW,IACjCA,OAAK;AACT,WAAO;AAAA,EACT;AACF;;;ACrvBA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAe3C,SAASC,0BAAuC;AAC9C,SAAO,EAAE,WAAW,CAAC,EAAE;AACzB;AAEO,IAAMC,gBAAkF;AAAA,EAC7F,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIF,eAAa,GAAiB;AACrF,eAAW,KAAK,QAAQ,WAAW;AACjC,eAAS,OAAO,GAAI,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUE,wBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,KAAK,SAAS,OAAO,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IACjD,OAAO,UAAU,IAAI,CAAC,MAAW,SAAS,SAAS,CAAC,CAAC,IACrD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ,UAAU,IAAI,CAAC,MAAM,SAAS,OAAO,CAAC,CAAC;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAUA,wBAAuB;AACvC,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAM,SAAS,YAAY,CAAC,CAAC,KAAK,CAAC;AAC9E,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAA+B;AACtC,SAAO,EAAE,WAAW,IAAI,WAAW,CAAC,EAAE;AACxC;AAEO,IAAM,WAAsE;AAAA,EACjF,OAAO;AAAA,EAEP,OAAO,SAAmB,SAAuB,IAAID,eAAa,GAAiB;AACjF,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA2B;AAClE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,mBAAmB;AACnC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,YAAY,OAAO,MAAM;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAuB;AAC9B,WAAO,EAAE,WAAW,MAAM,OAAO,UAAU,IAAI,gBAAgB,OAAO,UAAU,IAAI,IAAI,WAAW,CAAC,EAAE;AAAA,EACxG;AAAA,EAEA,OAAO,SAA4B;AACjC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,UAAU,WAAW,GAAG;AAClC,UAAI,aAAa,gBAAgB,QAAQ,SAAS;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyC;AACnD,UAAM,UAAU,mBAAmB;AACnC,YAAQ,YAAY,OAAO,aAAa,IAAI,WAAW,CAAC;AACxD,WAAO;AAAA,EACT;AACF;;;ACjIA,SAAS,gBAAAI,gBAAc,gBAAAC,sBAAoB;AA6B3C,SAAS,kCAAyD;AAChE,SAAO,EAAE,YAAY,OAAU;AACjC;AAEO,IAAM,wBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAgC,SAAuB,IAAIC,eAAa,GAAiB;AAC9F,QAAI,QAAQ,eAAe,QAAW;AACpC,kBAAY,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACxE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAwC;AAC/E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,gCAAgC;AAChD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,YAAY,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC/D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAoC;AAC3C,WAAO,EAAE,YAAY,MAAM,OAAO,UAAU,IAAI,YAAY,SAAS,OAAO,UAAU,IAAI,OAAU;AAAA,EACtG;AAAA,EAEA,OAAO,SAAyC;AAC9C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,YAAY,OAAO,QAAQ,UAAU;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmE;AAC7E,UAAM,UAAU,gCAAgC;AAChD,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,YAAY,YAAY,OAAO,UAAU,IACzC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,mCAA2D;AAClE,SAAO,EAAE,WAAW,CAAC,GAAG,YAAY,OAAU;AAChD;AAEO,IAAM,yBAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,SAAiC,SAAuB,IAAID,eAAa,GAAiB;AAC/F,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,EAAE,OAAO,CAAE;AAAA,IAC7B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,mBAAa,OAAO,QAAQ,YAAY,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACzE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAyC;AAChF,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,iCAAiC;AACjD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,KAAK,OAAO,OAAO,CAAC;AACtC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,aAAa,aAAa,OAAO,QAAQ,OAAO,OAAO,CAAC;AAChE;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAqC;AAC5C,WAAO;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IACjD,OAAO,UAAU,IAAI,CAAC,MAAW,WAAW,OAAO,CAAC,CAAC,IACrD,CAAC;AAAA,MACL,YAAY,MAAM,OAAO,UAAU,IAAI,aAAa,SAAS,OAAO,UAAU,IAAI;AAAA,IACpF;AAAA,EACF;AAAA,EAEA,OAAO,SAA0C;AAC/C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,eAAe,QAAW;AACpC,UAAI,aAAa,aAAa,OAAO,QAAQ,UAAU;AAAA,IACzD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqE;AAC/E,UAAM,UAAU,iCAAiC;AACjD,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,YAAQ,aAAc,OAAO,eAAe,UAAa,OAAO,eAAe,OAC3E,aAAa,YAAY,OAAO,UAAU,IAC1C;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAAS,6BAA+C;AACtD,SAAO,EAAE,UAAU,GAAG;AACxB;AAEO,IAAM,mBAA8F;AAAA,EACzG,OAAO;AAAA,EAEP,OAAO,SAA2B,SAAuB,IAAID,eAAa,GAAiB;AACzF,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAmC;AAC1E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,2BAA2B;AAC3C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA+B;AACtC,WAAO,EAAE,UAAU,MAAM,OAAO,QAAQ,IAAI,WAAW,OAAO,OAAO,QAAQ,IAAI,GAAG;AAAA,EACtF;AAAA,EAEA,OAAO,SAAoC;AACzC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,WAAW,QAAQ;AAAA,IACzB;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAyD;AACnE,UAAM,UAAU,2BAA2B;AAC3C,YAAQ,WAAW,OAAO,YAAY;AACtC,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO,EAAE,MAAM,IAAI,WAAW,CAAC,EAAE;AACnC;AAEO,IAAM,oBAAiG;AAAA,EAC5G,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAID,eAAa,GAAiB;AAC1F,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO,EAAE,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;AAAA,EACvF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,WAAO;AAAA,EACT;AACF;;;ACzRA,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AA6C3C,SAAS,yBAAuC;AAC9C,SAAO,EAAE,QAAQ,IAAI,cAAc,IAAI,WAAW,CAAC,EAAE;AACvD;AAEO,IAAM,eAAkF;AAAA,EAC7F,OAAO;AAAA,EAEP,OAAO,SAAuB,SAAuB,IAAIA,eAAa,GAAiB;AACrF,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,aAAa,WAAW,GAAG;AACrC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,YAAY;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA+B;AACtE,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,uBAAuB;AACvC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,MAAM;AACpC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA2B;AAClC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,cAAc,MAAM,OAAO,cAAc,IAAI,gBAAgB,OAAO,cAAc,IAAI,IAAI,WAAW,CAAC;AAAA,IACxG;AAAA,EACF;AAAA,EAEA,OAAO,SAAgC;AACrC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,aAAa,WAAW,GAAG;AACrC,UAAI,iBAAiB,gBAAgB,QAAQ,YAAY;AAAA,IAC3D;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiD;AAC3D,UAAM,UAAU,uBAAuB;AACvC,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,eAAe,OAAO,gBAAgB,IAAI,WAAW,CAAC;AAC9D,WAAO;AAAA,EACT;AACF;AAEA,SAAS,iCAAuD;AAC9D,SAAO,EAAE,UAAU,IAAI,WAAW,CAAC,EAAE;AACvC;AAEO,IAAM,uBAA0G;AAAA,EACrH,OAAO;AAAA,EAEP,OAAO,SAA+B,SAAuB,IAAIC,eAAa,GAAiB;AAC7F,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAuC;AAC9E,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,+BAA+B;AAC/C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAmC;AAC1C,WAAO,EAAE,UAAU,MAAM,OAAO,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,IAAI,IAAI,WAAW,CAAC,EAAE;AAAA,EACnG;AAAA,EAEA,OAAO,SAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,WAAW,gBAAgB,QAAQ,QAAQ;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAiE;AAC3E,UAAM,UAAU,+BAA+B;AAC/C,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,8BAAiD;AACxD,SAAO,EAAE,QAAQ,IAAI,UAAU,IAAI,WAAW,CAAC,EAAE;AACnD;AAEO,IAAM,oBAAiG;AAAA,EAC5G,OAAO;AAAA,EAEP,OAAO,SAA4B,SAAuB,IAAIC,eAAa,GAAiB;AAC1F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAoC;AAC3E,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,4BAA4B;AAC5C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAgC;AACvC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,UAAU,MAAM,OAAO,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,IAAI,IAAI,WAAW,CAAC;AAAA,IACxF;AAAA,EACF;AAAA,EAEA,OAAO,SAAqC;AAC1C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,WAAW,gBAAgB,QAAQ,QAAQ;AAAA,IACjD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2D;AACrE,UAAM,UAAU,4BAA4B;AAC5C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sCAAiE;AACxE,SAAO,CAAC;AACV;AAEO,IAAM,4BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA8B,SAAuB,IAAIC,eAAa,GAAiB;AAC5F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4C;AACnF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oCAAoC;AACpD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAmC;AAC1C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAuC;AAC5C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAsE;AAChF,UAAM,UAAU,oCAAoC;AACpD,WAAO;AAAA,EACT;AACF;AAEA,SAAS,+BAAmD;AAC1D,SAAO,EAAE,QAAQ,IAAI,UAAU,IAAI,UAAU,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,EAAE;AACzF;AAEO,IAAM,qBAAoG;AAAA,EAC/G,OAAO;AAAA,EAEP,OAAO,SAA6B,SAAuB,IAAIC,eAAa,GAAiB;AAC3F,QAAI,QAAQ,WAAW,IAAI;AACzB,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,MAAM;AAAA,IACzC;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,aAAO,OAAO,EAAE,EAAE,OAAO,QAAQ,QAAQ;AAAA,IAC3C;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,IAAI,WAAW,GAAG;AAC5B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,GAAG;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAqC;AAC5E,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,6BAA6B;AAC7C,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,SAAS,OAAO,OAAO;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,OAAO;AACjC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,MAAM,OAAO,MAAM;AAC3B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAiC;AACxC,WAAO;AAAA,MACL,QAAQ,MAAM,OAAO,MAAM,IAAI,WAAW,OAAO,OAAO,MAAM,IAAI;AAAA,MAClE,UAAU,MAAM,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,IAAI;AAAA,MAC1E,UAAU,MAAM,OAAO,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,IAAI,IAAI,WAAW,CAAC;AAAA,MACtF,KAAK,MAAM,OAAO,GAAG,IAAI,gBAAgB,OAAO,GAAG,IAAI,IAAI,WAAW,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAEA,OAAO,SAAsC;AAC3C,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,IAAI;AACzB,UAAI,SAAS,QAAQ;AAAA,IACvB;AACA,QAAI,QAAQ,aAAa,IAAI;AAC3B,UAAI,YAAY,QAAQ;AAAA,IAC1B;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,WAAW,gBAAgB,QAAQ,QAAQ;AAAA,IACjD;AACA,QAAI,QAAQ,IAAI,WAAW,GAAG;AAC5B,UAAI,MAAM,gBAAgB,QAAQ,GAAG;AAAA,IACvC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA6D;AACvE,UAAM,UAAU,6BAA6B;AAC7C,YAAQ,SAAS,OAAO,UAAU;AAClC,YAAQ,WAAW,OAAO,YAAY;AACtC,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,MAAM,OAAO,OAAO,IAAI,WAAW,CAAC;AAC5C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uCAAmE;AAC1E,SAAO,CAAC;AACV;AAEO,IAAM,6BAGT;AAAA,EACF,OAAO;AAAA,EAEP,OAAO,GAA+B,SAAuB,IAAIC,eAAa,GAAiB;AAC7F,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA6C;AACpF,UAAM,SAAS,iBAAiBD,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,qCAAqC;AACrD,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,MACnB;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,GAAoC;AAC3C,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,OAAO,GAAwC;AAC7C,UAAM,MAAW,CAAC;AAClB,WAAO;AAAA,EACT;AAAA,EACA,YAAY,GAAwE;AAClF,UAAM,UAAU,qCAAqC;AACrD,WAAO;AAAA,EACT;AACF;;;ACzbA,SAAS,gBAAAE,gBAAc,gBAAAC,sBAAoB;AAyC3C,SAASC,yBAAqC;AAC5C,SAAO,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,UAAU,IAAI,WAAW,CAAC,GAAG,cAAc,OAAU;AACzF;AAEO,IAAMC,eAA+E;AAAA,EAC1F,OAAO;AAAA,EAEP,OAAO,SAAsB,SAAuB,IAAIC,eAAa,GAAiB;AACpF,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,QAAQ;AAAA,IAC1C;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,aAAO,OAAO,QAAQ,cAAc,OAAO,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;AAAA,IACrE;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA8B;AACrE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUH,uBAAsB;AACtC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,WAAW,OAAO,MAAM;AAChC;AAAA,QACF;AAAA,QACA,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,eAAe,OAAO,OAAO,QAAQ,OAAO,OAAO,CAAC;AAC5D;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA0B;AACjC,WAAO;AAAA,MACL,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC;AAAA,MAC1E,UAAU,MAAM,OAAO,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,IAAI,IAAI,WAAW,CAAC;AAAA,MACtF,cAAc,MAAM,OAAO,aAAa,IAAI,OAAO,SAAS,OAAO,aAAa,IAAI;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,OAAO,SAA+B;AACpC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,QAAI,QAAQ,SAAS,WAAW,GAAG;AACjC,UAAI,WAAW,gBAAgB,QAAQ,QAAQ;AAAA,IACjD;AACA,QAAI,QAAQ,iBAAiB,QAAW;AACtC,UAAI,gBAAgB,OAAO,OAAO,QAAQ,YAAY;AAAA,IACxD;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA+C;AACzD,UAAM,UAAUA,uBAAsB;AACtC,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,YAAQ,WAAW,OAAO,YAAY,IAAI,WAAW,CAAC;AACtD,YAAQ,eAAgB,OAAO,iBAAiB,UAAa,OAAO,iBAAiB,OACjF,OAAO,YAAY,OAAO,YAAY,IACtC;AACJ,WAAO;AAAA,EACT;AACF;AAEA,SAASI,4BAA2C;AAClD,SAAO,EAAE,MAAM,IAAI,WAAW,CAAC,EAAE;AACnC;AAEO,IAAMC,kBAAwF;AAAA,EACnG,OAAO;AAAA,EAEP,OAAO,SAAyB,SAAuB,IAAIH,eAAa,GAAiB;AACvF,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAiC;AACxE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAUC,0BAAyB;AACzC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA6B;AACpC,WAAO,EAAE,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;AAAA,EACvF;AAAA,EAEA,OAAO,SAAkC;AACvC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAqD;AAC/D,UAAM,UAAUA,0BAAyB;AACzC,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,0BAAyC;AAChD,SAAO,EAAE,MAAM,IAAI,WAAW,CAAC,EAAE;AACnC;AAEO,IAAM,gBAAqF;AAAA,EAChG,OAAO;AAAA,EAEP,OAAO,SAAwB,SAAuB,IAAIF,eAAa,GAAiB;AACtF,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,aAAO,OAAO,EAAE,EAAE,MAAM,QAAQ,IAAI;AAAA,IACtC;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAAgC;AACvE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,wBAAwB;AACxC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO,MAAM;AAC5B;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAA4B;AACnC,WAAO,EAAE,MAAM,MAAM,OAAO,IAAI,IAAI,gBAAgB,OAAO,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;AAAA,EACvF;AAAA,EAEA,OAAO,SAAiC;AACtC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,KAAK,WAAW,GAAG;AAC7B,UAAI,OAAO,gBAAgB,QAAQ,IAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAAmD;AAC7D,UAAM,UAAU,wBAAwB;AACxC,YAAQ,OAAO,OAAO,QAAQ,IAAI,WAAW,CAAC;AAC9C,WAAO;AAAA,EACT;AACF;AAEA,SAAS,sBAAiC;AACxC,SAAO,EAAE,WAAW,CAAC,EAAE;AACzB;AAEO,IAAM,YAAyE;AAAA,EACpF,OAAO;AAAA,EAEP,OAAO,SAAoB,SAAuB,IAAID,eAAa,GAAiB;AAClF,eAAW,KAAK,QAAQ,WAAW;AACjC,aAAO,OAAO,EAAE,EAAE,MAAM,CAAE;AAAA,IAC5B;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAkC,QAA4B;AACnE,UAAM,SAAS,iBAAiBC,iBAAe,QAAQ,IAAIA,eAAa,KAAK;AAC7E,UAAM,MAAM,WAAW,SAAY,OAAO,MAAM,OAAO,MAAM;AAC7D,UAAM,UAAU,oBAAoB;AACpC,WAAO,OAAO,MAAM,KAAK;AACvB,YAAM,MAAM,OAAO,OAAO;AAC1B,cAAQ,QAAQ,GAAG;AAAA,QACjB,KAAK,GAAG;AACN,cAAI,QAAQ,IAAI;AACd;AAAA,UACF;AAEA,kBAAQ,UAAU,KAAK,OAAO,MAAM,CAAC;AACrC;AAAA,QACF;AAAA,MACF;AACA,WAAK,MAAM,OAAO,KAAK,QAAQ,GAAG;AAChC;AAAA,MACF;AACA,aAAO,KAAK,MAAM,CAAC;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAwB;AAC/B,WAAO;AAAA,MACL,WAAW,WAAW,MAAM,QAAQ,QAAQ,SAAS,IACjD,OAAO,UAAU,IAAI,CAAC,MAAW,gBAAgB,CAAC,CAAC,IACnD,CAAC;AAAA,IACP;AAAA,EACF;AAAA,EAEA,OAAO,SAA6B;AAClC,UAAM,MAAW,CAAC;AAClB,QAAI,QAAQ,WAAW,QAAQ;AAC7B,UAAI,YAAY,QAAQ,UAAU,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,QAA2C;AACrD,UAAM,UAAU,oBAAoB;AACpC,YAAQ,YAAY,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACxD,WAAO;AAAA,EACT;AACF;",
6
6
  "names": ["Params", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "Params", "BinaryReader", "BinaryWriter", "Type", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "Params", "BinaryReader", "BinaryWriter", "createBaseParams", "Params", "BinaryReader", "BinaryWriter", "GenesisState", "BinaryWriter", "BinaryReader", "Params", "BinaryReader", "BinaryWriter", "createBaseQueryParamsRequest", "QueryParamsRequest", "BinaryWriter", "BinaryReader", "createBaseQueryParamsResponse", "QueryParamsResponse", "Params", "BinaryReader", "BinaryWriter", "Long", "createBaseMsgUpdateParams", "MsgUpdateParams", "BinaryWriter", "Params", "BinaryReader", "createBaseMsgUpdateParamsResponse", "MsgUpdateParamsResponse", "Long", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "BinaryReader", "BinaryWriter", "createBaseParams", "Params", "BinaryReader", "BinaryWriter", "BinaryReader", "BinaryWriter", "createBaseGenesisState", "GenesisState", "BinaryWriter", "Params", "BinaryReader", "BinaryReader", "BinaryWriter", "BinaryReader", "BinaryWriter", "createBaseQueryParamsRequest", "QueryParamsRequest", "BinaryWriter", "BinaryReader", "createBaseQueryParamsResponse", "QueryParamsResponse", "Params", "BinaryReader", "BinaryWriter", "Long", "Long", "BinaryWriter", "BinaryReader", "createBaseMsgUpdateParams", "MsgUpdateParams", "Params", "createBaseMsgUpdateParamsResponse", "MsgUpdateParamsResponse", "BinaryReader", "BinaryWriter", "Long", "createBaseGenesisState", "Long", "GenesisState", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "Long", "BinaryWriter", "BinaryReader", "Long", "BinaryReader", "BinaryWriter", "Long", "ResponseResultType", "BinaryWriter", "BinaryReader", "Long", "BinaryReader", "BinaryWriter", "Long", "createBaseGenesisState", "Long", "GenesisState", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "Long", "BinaryWriter", "BinaryReader", "Long", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "createBaseMsgUpdateParams", "MsgUpdateParams", "createBaseMsgUpdateParamsResponse", "MsgUpdateParamsResponse", "BinaryReader", "BinaryWriter", "Long", "createBaseGenesisState", "Long", "GenesisState", "BinaryWriter", "Params", "BinaryReader", "BinaryReader", "BinaryWriter", "Long", "BinaryWriter", "BinaryReader", "Long", "Params", "BinaryReader", "BinaryWriter", "Long", "Long", "BinaryWriter", "Counterparty", "BinaryReader", "createBaseMsgUpdateParams", "MsgUpdateParams", "Params", "createBaseMsgUpdateParamsResponse", "MsgUpdateParamsResponse", "BinaryReader", "BinaryWriter", "createBaseGenesisState", "GenesisState", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "Long", "BinaryWriter", "BinaryReader", "Long", "BinaryReader", "BinaryWriter", "createBaseGenesisState", "GenesisState", "BinaryReader", "BinaryWriter", "BinaryWriter", "BinaryReader", "BinaryReader", "BinaryWriter", "BinaryReader", "BinaryWriter", "createBaseClientState", "ClientState", "BinaryWriter", "BinaryReader", "createBaseConsensusState", "ConsensusState"]
7
7
  }