@keep-network/tbtc-v2 1.8.0 → 1.8.2

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 (203) hide show
  1. package/artifacts/Bridge.json +1998 -1972
  2. package/artifacts/Bridge_v2_Implementation.json +2817 -0
  3. package/artifacts/Deposit.json +7 -7
  4. package/artifacts/Redemption.json +95 -171
  5. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  6. package/build/contracts/Timelock.sol/Timelock.dbg.json +1 -1
  7. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  8. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  9. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  10. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
  11. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  12. package/build/contracts/bridge/Bridge.sol/Bridge.json +74 -48
  13. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +1 -1
  14. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +2 -2
  15. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  16. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  17. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
  18. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  19. package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
  20. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  21. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
  22. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  23. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  24. package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
  25. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  26. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  27. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  28. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
  29. package/build/contracts/bridge/Redemption.sol/IRedemptionWatchtower.dbg.json +1 -1
  30. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  31. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
  32. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  33. package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
  34. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
  35. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +2 -2
  36. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  37. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  38. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  39. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  40. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +2 -2
  41. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  42. package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
  43. package/build/contracts/cross-chain/AbstractL1BTCDepositor.sol/AbstractL1BTCDepositor.dbg.json +1 -1
  44. package/build/contracts/cross-chain/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  45. package/build/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.dbg.json +1 -1
  46. package/build/contracts/cross-chain/starknet/interfaces/IStarkGateBridge.sol/IStarkGateBridge.dbg.json +1 -1
  47. package/build/contracts/cross-chain/utils/Crosschain.sol/CrosschainUtils.dbg.json +1 -1
  48. package/build/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.dbg.json +1 -1
  49. package/build/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.dbg.json +1 -1
  50. package/build/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.dbg.json +1 -1
  51. package/build/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  52. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormhole.dbg.json +1 -1
  53. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeGateway.dbg.json +1 -1
  54. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeReceiver.dbg.json +1 -1
  55. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeRelayer.dbg.json +1 -1
  56. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeTokenBridge.dbg.json +1 -1
  57. package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeTypes.dbg.json +1 -1
  58. package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeUtils.dbg.json +1 -1
  59. package/build/contracts/integrator/AbstractBTCDepositor.sol/AbstractBTCDepositor.dbg.json +1 -1
  60. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  61. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  62. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  63. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  64. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2 -2
  65. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  66. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  67. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  68. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  69. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  70. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  71. package/build/contracts/test/BridgeStub.sol/BridgeStub.json +74 -48
  72. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  73. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  74. package/build/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.dbg.json +1 -1
  75. package/build/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.dbg.json +1 -1
  76. package/build/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.dbg.json +1 -1
  77. package/build/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.dbg.json +1 -1
  78. package/build/contracts/test/MockTBTCToken.sol/MockTBTCToken.dbg.json +1 -1
  79. package/build/contracts/test/MockTBTCVault.sol/MockTBTCVault.dbg.json +1 -1
  80. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  81. package/build/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json +1 -1
  82. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  83. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  84. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +2 -2
  85. package/build/contracts/test/TestBTCDepositor.sol/MockBridge.dbg.json +1 -1
  86. package/build/contracts/test/TestBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  87. package/build/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.dbg.json +1 -1
  88. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  89. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +2 -2
  90. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  91. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  92. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  93. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  94. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  95. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  96. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  97. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  98. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  99. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +2 -2
  100. package/contracts/bridge/Bridge.sol +34 -0
  101. package/contracts/bridge/Deposit.sol +7 -5
  102. package/deploy/80_upgrade_bridge_v2.ts +107 -54
  103. package/deploy/81_upgrade_bridge_v2_vault_fix.ts +160 -0
  104. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +4891 -4170
  105. package/export/artifacts/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +207 -207
  106. package/export/artifacts/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +104 -104
  107. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +67 -67
  108. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +24 -24
  109. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +26 -26
  110. package/export/artifacts/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +72 -72
  111. package/export/artifacts/contracts/cross-chain/L2TBTC.sol/L2TBTC.json +40 -40
  112. package/export/artifacts/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.json +3360 -3360
  113. package/export/artifacts/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.json +117 -117
  114. package/export/artifacts/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.json +140 -140
  115. package/export/artifacts/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.json +37 -37
  116. package/export/artifacts/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.json +51 -51
  117. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +103 -103
  118. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  119. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  120. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  121. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +5130 -4414
  122. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +4 -4
  123. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  124. package/export/artifacts/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.json +730 -730
  125. package/export/artifacts/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.json +956 -956
  126. package/export/artifacts/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.json +781 -781
  127. package/export/artifacts/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.json +458 -458
  128. package/export/artifacts/contracts/test/MockTBTCToken.sol/MockTBTCToken.json +1273 -1273
  129. package/export/artifacts/contracts/test/MockTBTCVault.sol/MockTBTCVault.json +305 -305
  130. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  131. package/export/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json +204 -204
  132. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  133. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +19 -19
  134. package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockBridge.json +34 -34
  135. package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockTBTCVault.json +20 -20
  136. package/export/artifacts/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.json +52 -52
  137. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +124 -124
  138. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  139. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  140. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +4 -4
  141. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  142. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  143. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  144. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +144 -144
  145. package/export/deploy/80_upgrade_bridge_v2.js +127 -90
  146. package/export/deploy/81_upgrade_bridge_v2_vault_fix.js +211 -0
  147. package/export/typechain/AbstractBTCRedeemer.js +2 -0
  148. package/export/typechain/IBank.js +2 -0
  149. package/export/typechain/IL2WormholeGateway.js +2 -0
  150. package/export/typechain/INttManager.js +2 -0
  151. package/export/typechain/INttManagerWithExecutor.js +2 -0
  152. package/export/typechain/L1BTCDepositorNtt.js +2 -0
  153. package/export/typechain/L1BTCDepositorNttWithExecutor.js +2 -0
  154. package/export/typechain/L1BTCRedeemerWormhole.js +2 -0
  155. package/export/typechain/L2BTCRedeemerWormhole.js +2 -0
  156. package/export/typechain/MockBank.js +2 -0
  157. package/export/typechain/MockBridgeWithRebateStaking.js +2 -0
  158. package/export/typechain/MockL1BTCRedeemerWormhole.js +2 -0
  159. package/export/typechain/MockNttManager.js +2 -0
  160. package/export/typechain/MockNttManagerWithExecutor.js +2 -0
  161. package/export/typechain/NativeBTCDepositor.js +2 -0
  162. package/export/typechain/RebateStaking.js +2 -0
  163. package/export/typechain/TestBTCRedeemer.js +2 -0
  164. package/export/typechain/TestBTCUtilsHelper.js +2 -0
  165. package/export/typechain/TransceiverStructs.js +2 -0
  166. package/export/typechain/factories/AbstractBTCRedeemer__factory.js +204 -0
  167. package/export/typechain/factories/BridgeGovernance__factory.js +1 -1
  168. package/export/typechain/factories/BridgeState__factory.js +1 -1
  169. package/export/typechain/factories/BridgeStub__factory.js +27 -1
  170. package/export/typechain/factories/Bridge__factory.js +27 -1
  171. package/export/typechain/factories/DepositSweep__factory.js +1 -1
  172. package/export/typechain/factories/Deposit__factory.js +1 -1
  173. package/export/typechain/factories/Fraud__factory.js +1 -1
  174. package/export/typechain/factories/IBank__factory.js +138 -0
  175. package/export/typechain/factories/IL2WormholeGateway__factory.js +61 -0
  176. package/export/typechain/factories/INttManagerWithExecutor__factory.js +183 -0
  177. package/export/typechain/factories/INttManager__factory.js +51 -0
  178. package/export/typechain/factories/L1BTCDepositorNttWithExecutor__factory.js +1454 -0
  179. package/export/typechain/factories/L1BTCDepositorNtt__factory.js +920 -0
  180. package/export/typechain/factories/L1BTCRedeemerWormhole__factory.js +622 -0
  181. package/export/typechain/factories/L2BTCRedeemerWormhole__factory.js +348 -0
  182. package/export/typechain/factories/MaintainerProxy__factory.js +1 -1
  183. package/export/typechain/factories/MockBank__factory.js +248 -0
  184. package/export/typechain/factories/MockBridgeWithRebateStaking__factory.js +129 -0
  185. package/export/typechain/factories/MockL1BTCRedeemerWormhole__factory.js +638 -0
  186. package/export/typechain/factories/MockNttManagerWithExecutor__factory.js +423 -0
  187. package/export/typechain/factories/MockNttManager__factory.js +211 -0
  188. package/export/typechain/factories/MovingFunds__factory.js +1 -1
  189. package/export/typechain/factories/NativeBTCDepositor__factory.js +635 -0
  190. package/export/typechain/factories/RebateStaking__factory.js +720 -0
  191. package/export/typechain/factories/RedemptionWatchtower__factory.js +1 -1
  192. package/export/typechain/factories/Redemption__factory.js +1 -1
  193. package/export/typechain/factories/SystemTestRelay__factory.js +1 -1
  194. package/export/typechain/factories/TBTCVault__factory.js +1 -1
  195. package/export/typechain/factories/TestBTCRedeemer__factory.js +425 -0
  196. package/export/typechain/factories/TestBTCUtilsHelper__factory.js +109 -0
  197. package/export/typechain/factories/TestBitcoinTx__factory.js +1 -1
  198. package/export/typechain/factories/TransceiverStructs__factory.js +853 -0
  199. package/export/typechain/factories/WalletProposalValidator__factory.js +1 -1
  200. package/export/typechain/factories/Wallets__factory.js +1 -1
  201. package/export/typechain/index.js +40 -2
  202. package/export.json +40910 -0
  203. package/package.json +1 -1
@@ -66,7 +66,7 @@ var _abi = [
66
66
  type: "event",
67
67
  },
68
68
  ];
69
- var _bytecode = "0x612f3161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063d22cd45b1461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461299e565b61005c565b005b600061006986868661057c565b90506000806100b98861007f60408a018a612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a3992505050565b915091506000806100cb8a8589610aef565b9150915060006101438b60405180606001604052808d80602001906100f09190612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602081018690526001600160a01b038b16604090910152610d17565b90506000808061016784600001518867ffffffffffffffff168660400151516113c2565b915091508d60060160109054906101000a900467ffffffffffffffff1667ffffffffffffffff16818361019a9190612aa3565b11156101ed5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b8460400151518110156102db57600060018660400151516102119190612ab6565b821461021d5783610227565b6102278385612aa3565b9050808660600151838151811061024057610240612ac9565b60200260200101518760400151848151811061025e5761025e612ac9565b60200260200101516102709190612ab6565b61027a9190612ab6565b8660400151838151811061029057610290612ac9565b602002602001018181525050856060015182815181106102b2576102b2612ac9565b6020026020010151856102c59190612aa3565b94505080806102d390612adf565b9150506101f0565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16001600160a01b038a16158015906103b057506001600160a01b038a16600090815260148f01602052604090205460ff165b1561043e578d54602085015160408087015190517fbb7e61bc0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263bb7e61bc92610407928f92600401612b6c565b600060405180830381600087803b15801561042157600080fd5b505af1158015610435573d6000803e3d6000fd5b505050506104c3565b8d54602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610490929091600401612baa565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b821561056c578d60000160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60040160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016105399291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561055357600080fd5b505af1158015610567573d6000803e3d6000fd5b505050505b5050505050505050505050505050565b60006105c861058e6020850185612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113fe92505050565b6106145760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016101e4565b61065e6106246040850185612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ad92505050565b6106aa5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016101e4565b6106b76080830183612a46565b90506106c38380612a46565b9050146107385760405162461bcd60e51b815260206004820152602f60248201527f5478206e6f74206f6e2073616d65206c6576656c206f66206d65726b6c65207460448201527f72656520617320636f696e62617365000000000000000000000000000000000060648201526084016101e4565b61079b6107486020850185612bcf565b6107556020860186612a46565b6107626040880188612a46565b61077260808a0160608b01612bcf565b60405160200161078796959493929190612bf9565b60405160208183030381529060405261154f565b905060006107e96107af6040850185612a46565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061157692505050565b905061083b816107f98580612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879493925050506020870135611583565b6108ad5760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016101e4565b6000600284606001356040516020016108c891815260200190565b60408051601f19818403018152908290526108e291612c3b565b602060405180830381855afa1580156108ff573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109229190612c6a565b9050610972826109356080870187612a46565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508795949350915050611583565b6109e45760405162461bcd60e51b815260206004820152603f60248201527f436f696e62617365206d65726b6c652070726f6f66206973206e6f742076616c60448201527f696420666f722070726f76696465642068656164657220616e6420686173680060648201526084016101e4565b610a2f866109f56040870187612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115c192505050565b50505b9392505050565b6000806000610a4784611922565b91505080600114610ac05760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016101e4565b6000610acc8582611939565b9050610ad88682611b1b565b9350610ae381611d7c565b925050505b9250929050565b604080516060810182526000808252602082018190529181018290526bffffffffffffffffffffffff1984166000908152601b86016020526040902060028101549092507801000000000000000000000000000000000000000000000000900460ff166001816005811115610b6657610b66612c83565b1480610b8357506002816005811115610b8157610b81612c83565b145b610bf55760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016101e4565b604080516060810182526000808252602082018190529181019190915260018401549092508015610d0d57808535610c336040880160208901612cad565b610c436060890160408a01612ce0565b604051602001610c989392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b6040516020818303038152906040528051906020012014610cfb5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016101e4565b610d0a36869003860186612d11565b92505b5050935093915050565b610d426040518060800160405280600081526020016060815260200160608152602001606081525090565b60208201515182519015159060009081908190610d5e90611922565b90925090506000610d70836001612aa3565b90508415610d8857610d83600183612ab6565b610d8a565b815b67ffffffffffffffff811115610da257610da2612cfb565b604051908082528060200260200182016040528015610dcb578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610dec57610dec612cfb565b604051908082528060200260200182016040528015610e15578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610e3957610e39612cfb565b604051908082528060200260200182016040528015610e62578160200160208202803683370190505b5060608701526000805b838110156112c5576000806000610e878c6000015187611df3565b92509250925060008d60130160008585604051602001610ebe92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615611185576001810154600160e01b900463ffffffff1615610f595760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016101e4565b60408d015160018201546001600160a01b03908116911614610fe35760405162461bcd60e51b815260206004820152602960248201527f4465706f7369742073686f756c6420626520726f7574656420746f20616e6f7460448201527f686572207661756c74000000000000000000000000000000000000000000000060648201526084016101e4565b8b6020015151860361105d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b0390921691889081106110b6576110b6612ac9565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff1691889081106110fb576110fb612ac9565b6020026020010181815250508b60400151868151811061111d5761111d612ac9565b60200260200101518c6000018181516111369190612aa3565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff16918890811061116857611168612ac9565b60209081029190910101528561117d81612adf565b9650506112a2565b8915158b15151415801561119d575060208d01515184145b80156111bc57508263ffffffff168d602001516020015163ffffffff16145b1561125a578c602001516040015167ffffffffffffffff168c6000018181516111e59190612aa3565b915081815250506001995060018e601a016000868660405160200161122192919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790556112a2565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016101e4565b6112ac8288612aa3565b96505050505080806112bd90612adf565b915050610e6c565b506000811161133c5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016101e4565b841515861515146113b55760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b5050505050505b92915050565b600080806113d08587612ab6565b90506113dc8482612d9a565b9150836113e98383612ab6565b6113f39190612dae565b925050935093915050565b600080600061140c84611922565b909250905080158061141f575060001982145b1561142e575060009392505050565b600061143b836001612aa3565b905060005b828110156114a0578551821061145c5750600095945050505050565b60006114688784611e4b565b90506000198103611480575060009695505050505050565b61148a8184612aa3565b925050808061149890612adf565b915050611440565b5093519093149392505050565b60008060006114bb84611922565b90925090508015806114ce575060001982145b156114dd575060009392505050565b60006114ea836001612aa3565b905060005b828110156114a0578551821061150b5750600095945050505050565b60006115178784611e9d565b9050600019810361152f575060009695505050505050565b6115398184612aa3565b925050808061154790612adf565b9150506114ef565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60448101516000906113bc565b60008385148015611592575081155b801561159d57508251155b156115aa575060016115b9565b6115b685848685611f01565b90505b949350505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be916004808201926020929091908290030181865afa15801561162b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164f9190612c6a565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b8152600401602060405180830381865afa158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190612c6a565b90506000806116cb6116c687611fab565b611fb8565b90508381036116dc57839150611759565b8281036116eb57829150611759565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016101e4565b600061176487611fe0565b905060001981036117dd5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b600119810361182e5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016101e4565b600219810361187f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016101e4565b60018801546118a390600160a01b90046bffffffffffffffffffffffff1684612dc2565b8110156119185760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016101e4565b5050505050505050565b6000806119308360006121cd565b91509150915091565b606060008061194785611922565b9092509050600182016119c25760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b808410611a115760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016101e4565b600080611a1f846001612aa3565b905060005b86811015611aa757611a368883611e9d565b92506000198303611a895760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611a938383612aa3565b915080611a9f81612adf565b915050611a24565b50611ab28782611e9d565b91506000198203611b055760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611b1087828461234a565b979650505050505050565b600080611b2783612417565b90508051601414611ba05760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016101e4565b611bab816000612431565b9150600060088451611bbd9190612ab6565b905080601a1480611bce5750806017145b611c1a5760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016101e4565b80601a03611cc557602884015165ffffffffffff1981167bffffffffffffffffffffffffffffffffffffffff0000000000000000602086901c167f1976a914000000000000000000000000000000000000000088ac0000000000001714611cc35760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964205032504b482073637269707400000000000000000000000060448201526064016101e4565b505b80601703611d7457602884015168ffffffffffffffffff1981167cffffffffffffffffffffffffffffffffffffffff000000000000000000601886901c167f16001400000000000000000000000000000000000000000000000000000000001714611d725760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420503257504b4820736372697074000000000000000000000060448201526064016101e4565b505b505092915050565b600080611d8883612440565b60c01c905060006115b98264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008080611e018585612431565b9250611e36611e10868661244c565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611e428585611e4b565b90509250925092565b6000806000611e5a8585612463565b909250905060018201611e7357600019925050506113bc565b80611e7f836025612aa3565b611e899190612aa3565b611e94906004612aa3565b95945050505050565b6000611eaa826009612aa3565b83511015611ebb57506000196113bc565b600080611ed285611ecd866008612aa3565b6121cd565b909250905060018201611eeb57600019925050506113bc565b80611ef7836009612aa3565b611e949190612aa3565b600060208451611f119190612d9a565b15611f1e575060006115b9565b8351600003611f2f575060006115b9565b818560005b8651811015611f9e57611f48600284612d9a565b600103611f6c57611f65611f5f8883016020015190565b836124a5565b9150611f85565b611f8282611f7d8984016020015190565b6124a5565b91505b60019290921c91611f97602082612aa3565b9050611f34565b5090931495945050505050565b60006113bc8260006124b1565b60006113bc7bffff00000000000000000000000000000000000000000000000000008361254f565b600060508251611ff09190612d9a565b15611ffe5750600019919050565b50600080805b83518110156121c657801561202d5761201e84828461255b565b61202d57506001199392505050565b600061203985836124b1565b905061204785836050612586565b92508061218b8460008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b111561219d5750600219949350505050565b6121a681611fb8565b6121b09085612aa3565b93506121bf9050605082612aa3565b9050612004565b5050919050565b60008060006121dc85856125b0565b90508060ff166000036122115760008585815181106121fd576121fd612ac9565b016020015190935060f81c9150610ae89050565b8361221d826001612dd9565b60ff1661222a9190612aa3565b855110156122415760001960009250925050610ae8565b60008160ff166002036122855761227a61226661225f876001612aa3565b8890612431565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061233a565b8160ff166004036122ae576122a1611e1061225f876001612aa3565b63ffffffff16905061233a565b8160ff1660080361233a5761232d6122ca61225f876001612aa3565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060816000036123695750604080516020810190915260008152610a32565b60006123758385612aa3565b90508381118015612387575080855110155b6123d35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b604051915082604083010160405282825283850182038460208701018481015b8082101561240c578151838301526020820191506123f3565b505050509392505050565b60606113bc82600880855161242c9190612ab6565b612636565b6000610a328383016020015190565b60006113bc8282612431565b6000610a3261245c836020612aa3565b8490612431565b600080612471836025612aa3565b84511015612486575060001990506000610ae8565b60008061249886611ecd876024612aa3565b9097909650945050505050565b6000610a32838361293b565b6000806124c96124c2846048612aa3565b8590612431565b60e81c90506000846124dc85604b612aa3565b815181106124ec576124ec612ac9565b016020015160f81c9050600061252083600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000612534600384612df2565b60ff16905061254581610100612eef565b611b109083612dc2565b6000610a328284612dae565b6000806125688585612969565b905082811461257b576000915050610a32565b506001949350505050565b6000602060008385602001870160025afa50602060006020600060025afa50506000519392505050565b60008282815181106125c4576125c4612ac9565b016020015160f81c60ff036125db575060086113bc565b8282815181106125ed576125ed612ac9565b016020015160f81c60fe03612604575060046113bc565b82828151811061261657612616612ac9565b016020015160f81c60fd0361262d575060026113bc565b50600092915050565b6060600084848151811061264c5761264c612ac9565b016020015160f81c905082612662826001612dd9565b60ff1614612680575050604080516020810190915260008152610a32565b8461268c856001612aa3565b8151811061269c5761269c612ac9565b016020015160f81c60000361275b5760028160ff1610156126cd575050604080516020810190915260008152610a32565b6000856126db866002612aa3565b815181106126eb576126eb612ac9565b016020015160f81c9050612700600283612df2565b60ff168114158061271e57508060201415801561271e575080601414155b1561273c576040518060200160405280600081525092505050610a32565b61275261274a866003612aa3565b87908361234a565b92505050610a32565b60006127678686612431565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a900000000000000000000000000000000000000000000000000000000000361287b57856127be866003612aa3565b815181106127ce576127ce612ac9565b60209101015160f81c6014141580612846575061280160026127f08688612aa3565b6127fa9190612ab6565b8790612431565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15612864576040518060200160405280600081525092505050610a32565b612752612872866004612aa3565b8790601461234a565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a914000000000000000000000000000000000000000000000000000000000003612922578560016128d18688612aa3565b6128db9190612ab6565b815181106128eb576128eb612ac9565b60209101015160f81c608714612914576040518060200160405280600081525092505050610a32565b612752612872866003612aa3565b5050506040805160208101909152600081529392505050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6000610a32612979836004612aa3565b84016020015190565b80356001600160a01b038116811461299957600080fd5b919050565b600080600080600085870360e08112156129b757600080fd5b86359550602087013567ffffffffffffffff808211156129d657600080fd5b908801906080828b0312156129ea57600080fd5b90955060408801359080821115612a0057600080fd5b50870160a0818a031215612a1357600080fd5b93506060605f1982011215612a2757600080fd5b50606086019150612a3a60c08701612982565b90509295509295909350565b6000808335601e19843603018112612a5d57600080fd5b83018035915067ffffffffffffffff821115612a7857600080fd5b602001915036819003821315610ae857600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156113bc576113bc612a8d565b818103818111156113bc576113bc612a8d565b634e487b7160e01b600052603260045260246000fd5b600060018201612af157612af1612a8d565b5060010190565b600081518084526020808501945080840160005b83811015612b315781516001600160a01b031687529582019590820190600101612b0c565b509495945050505050565b600081518084526020808501945080840160005b83811015612b3157815187529582019590820190600101612b50565b6001600160a01b0384168152606060208201526000612b8e6060830185612af8565b8281036040840152612ba08185612b3c565b9695505050505050565b604081526000612bbd6040830185612af8565b8281036020840152611e948185612b3c565b600060208284031215612be157600080fd5b81356001600160e01b031981168114610a3257600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b6000825160005b81811015612c5c5760208186018101518583015201612c42565b506000920191825250919050565b600060208284031215612c7c57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff8116811461299957600080fd5b600060208284031215612cbf57600080fd5b610a3282612c99565b803567ffffffffffffffff8116811461299957600080fd5b600060208284031215612cf257600080fd5b610a3282612cc8565b634e487b7160e01b600052604160045260246000fd5b600060608284031215612d2357600080fd5b6040516060810181811067ffffffffffffffff82111715612d5457634e487b7160e01b600052604160045260246000fd5b60405282358152612d6760208401612c99565b6020820152612d7860408401612cc8565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082612da957612da9612d84565b500690565b600082612dbd57612dbd612d84565b500490565b80820281158282048414176113bc576113bc612a8d565b60ff81811683821601908111156113bc576113bc612a8d565b60ff82811682821603908111156113bc576113bc612a8d565b600181815b80851115612e46578160001904821115612e2c57612e2c612a8d565b80851615612e3957918102915b93841c9390800290612e10565b509250929050565b600082612e5d575060016113bc565b81612e6a575060006113bc565b8160018114612e805760028114612e8a57612ea6565b60019150506113bc565b60ff841115612e9b57612e9b612a8d565b50506001821b6113bc565b5060208310610133831016604e8410600b8410161715612ec9575081810a6113bc565b612ed38383612e0b565b8060001904821115612ee757612ee7612a8d565b029392505050565b6000610a328383612e4e56fea264697066735822122065ff52e6d043414090e8d84f19edebb2a525b21c58947f552c10f3efe59b6ffc64736f6c63430008110033";
69
+ var _bytecode = "0x612f3161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063d22cd45b1461003a575b600080fd5b81801561004657600080fd5b5061005a61005536600461299e565b61005c565b005b600061006986868661057c565b90506000806100b98861007f60408a018a612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a3992505050565b915091506000806100cb8a8589610aef565b9150915060006101438b60405180606001604052808d80602001906100f09190612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602081018690526001600160a01b038b16604090910152610d17565b90506000808061016784600001518867ffffffffffffffff168660400151516113c2565b915091508d60060160109054906101000a900467ffffffffffffffff1667ffffffffffffffff16818361019a9190612aa3565b11156101ed5760405162461bcd60e51b815260206004820152601b60248201527f5472616e73616374696f6e2066656520697320746f6f2068696768000000000060448201526064015b60405180910390fd5b60005b8460400151518110156102db57600060018660400151516102119190612ab6565b821461021d5783610227565b6102278385612aa3565b9050808660600151838151811061024057610240612ac9565b60200260200101518760400151848151811061025e5761025e612ac9565b60200260200101516102709190612ab6565b61027a9190612ab6565b8660400151838151811061029057610290612ac9565b602002602001018181525050856060015182815181106102b2576102b2612ac9565b6020026020010151856102c59190612aa3565b94505080806102d390612adf565b9150506101f0565b5060408051602081018b90526000918101919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c089901b166044820152604c0160408051808303601f19018152828252805160209182012060018a01556bffffffffffffffffffffffff198b16835282018b90527fe50ffdcc0a5f2c1ede5c122b9414ffd7b2c6bc870d2d775194049dc30da95e6a910160405180910390a16001600160a01b038a16158015906103b057506001600160a01b038a16600090815260148f01602052604090205460ff165b1561043e578d54602085015160408087015190517fbb7e61bc0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263bb7e61bc92610407928f92600401612b6c565b600060405180830381600087803b15801561042157600080fd5b505af1158015610435573d6000803e3d6000fd5b505050506104c3565b8d54602085015160408087015190517f266a123a0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263266a123a92610490929091600401612baa565b600060405180830381600087803b1580156104aa57600080fd5b505af11580156104be573d6000803e3d6000fd5b505050505b821561056c578d60000160009054906101000a90046001600160a01b03166001600160a01b0316635b86f5998f60040160009054906101000a90046001600160a01b0316856040518363ffffffff1660e01b81526004016105399291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561055357600080fd5b505af1158015610567573d6000803e3d6000fd5b505050505b5050505050505050505050505050565b60006105c861058e6020850185612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113fe92505050565b6106145760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420696e70757420766563746f722070726f766964656400000060448201526064016101e4565b61065e6106246040850185612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114ad92505050565b6106aa5760405162461bcd60e51b815260206004820152601e60248201527f496e76616c6964206f757470757420766563746f722070726f7669646564000060448201526064016101e4565b6106b76080830183612a46565b90506106c38380612a46565b9050146107385760405162461bcd60e51b815260206004820152602f60248201527f5478206e6f74206f6e2073616d65206c6576656c206f66206d65726b6c65207460448201527f72656520617320636f696e62617365000000000000000000000000000000000060648201526084016101e4565b61079b6107486020850185612bcf565b6107556020860186612a46565b6107626040880188612a46565b61077260808a0160608b01612bcf565b60405160200161078796959493929190612bf9565b60405160208183030381529060405261154f565b905060006107e96107af6040850185612a46565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061157692505050565b905061083b816107f98580612a46565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879493925050506020870135611583565b6108ad5760405162461bcd60e51b815260206004820152603c60248201527f5478206d65726b6c652070726f6f66206973206e6f742076616c696420666f7260448201527f2070726f76696465642068656164657220616e6420747820686173680000000060648201526084016101e4565b6000600284606001356040516020016108c891815260200190565b60408051601f19818403018152908290526108e291612c3b565b602060405180830381855afa1580156108ff573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109229190612c6a565b9050610972826109356080870187612a46565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508795949350915050611583565b6109e45760405162461bcd60e51b815260206004820152603f60248201527f436f696e62617365206d65726b6c652070726f6f66206973206e6f742076616c60448201527f696420666f722070726f76696465642068656164657220616e6420686173680060648201526084016101e4565b610a2f866109f56040870187612a46565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115c192505050565b50505b9392505050565b6000806000610a4784611922565b91505080600114610ac05760405162461bcd60e51b815260206004820152602b60248201527f5377656570207472616e73616374696f6e206d7573742068617665206120736960448201527f6e676c65206f757470757400000000000000000000000000000000000000000060648201526084016101e4565b6000610acc8582611939565b9050610ad88682611b1b565b9350610ae381611d7c565b925050505b9250929050565b604080516060810182526000808252602082018190529181018290526bffffffffffffffffffffffff1984166000908152601b86016020526040902060028101549092507801000000000000000000000000000000000000000000000000900460ff166001816005811115610b6657610b66612c83565b1480610b8357506002816005811115610b8157610b81612c83565b145b610bf55760405162461bcd60e51b815260206004820152602b60248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e647320737461746500000000000000000000000000000000000000000060648201526084016101e4565b604080516060810182526000808252602082018190529181019190915260018401549092508015610d0d57808535610c336040880160208901612cad565b610c436060890160408a01612ce0565b604051602001610c989392919092835260e09190911b6001600160e01b031916602083015260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166024820152602c0190565b6040516020818303038152906040528051906020012014610cfb5760405162461bcd60e51b815260206004820152601660248201527f496e76616c6964206d61696e205554584f20646174610000000000000000000060448201526064016101e4565b610d0a36869003860186612d11565b92505b5050935093915050565b610d426040518060800160405280600081526020016060815260200160608152602001606081525090565b60208201515182519015159060009081908190610d5e90611922565b90925090506000610d70836001612aa3565b90508415610d8857610d83600183612ab6565b610d8a565b815b67ffffffffffffffff811115610da257610da2612cfb565b604051908082528060200260200182016040528015610dcb578160200160208202803683370190505b50602087018190525167ffffffffffffffff811115610dec57610dec612cfb565b604051908082528060200260200182016040528015610e15578160200160208202803683370190505b50604087015260208601515167ffffffffffffffff811115610e3957610e39612cfb565b604051908082528060200260200182016040528015610e62578160200160208202803683370190505b5060608701526000805b838110156112c5576000806000610e878c6000015187611df3565b92509250925060008d60130160008585604051602001610ebe92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff1615611185576001810154600160e01b900463ffffffff1615610f595760405162461bcd60e51b815260206004820152601560248201527f4465706f73697420616c7265616479207377657074000000000000000000000060448201526064016101e4565b60408d015160018201546001600160a01b03908116911614610fe35760405162461bcd60e51b815260206004820152602960248201527f4465706f7369742073686f756c6420626520726f7574656420746f20616e6f7460448201527f686572207661756c74000000000000000000000000000000000000000000000060648201526084016101e4565b8b6020015151860361105d5760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b6001810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff1602179055805460208d015180516001600160a01b0390921691889081106110b6576110b6612ac9565b6001600160a01b039290921660209283029190910190910152805460408d01518051600160a01b90920467ffffffffffffffff1691889081106110fb576110fb612ac9565b6020026020010181815250508b60400151868151811061111d5761111d612ac9565b60200260200101518c6000018181516111369190612aa3565b905250600181015460608d01518051600160a01b90920467ffffffffffffffff16918890811061116857611168612ac9565b60209081029190910101528561117d81612adf565b9650506112a2565b8915158b15151415801561119d575060208d01515184145b80156111bc57508263ffffffff168d602001516020015163ffffffff16145b1561125a578c602001516040015167ffffffffffffffff168c6000018181516111e59190612aa3565b915081815250506001995060018e601a016000868660405160200161122192919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff19169115159190911790556112a2565b60405162461bcd60e51b815260206004820152601260248201527f556e6b6e6f776e20696e7075742074797065000000000000000000000000000060448201526064016101e4565b6112ac8288612aa3565b96505050505080806112bd90612adf565b915050610e6c565b506000811161133c5760405162461bcd60e51b815260206004820152603360248201527f5377656570207472616e73616374696f6e206d7573742070726f63657373206160448201527f74206c65617374206f6e65206465706f7369740000000000000000000000000060648201526084016101e4565b841515861515146113b55760405162461bcd60e51b815260206004820152603a60248201527f4578706563746564206d61696e205554584f206e6f742070726573656e74206960448201527f6e207377656570207472616e73616374696f6e20696e7075747300000000000060648201526084016101e4565b5050505050505b92915050565b600080806113d08587612ab6565b90506113dc8482612d9a565b9150836113e98383612ab6565b6113f39190612dae565b925050935093915050565b600080600061140c84611922565b909250905080158061141f575060001982145b1561142e575060009392505050565b600061143b836001612aa3565b905060005b828110156114a0578551821061145c5750600095945050505050565b60006114688784611e4b565b90506000198103611480575060009695505050505050565b61148a8184612aa3565b925050808061149890612adf565b915050611440565b5093519093149392505050565b60008060006114bb84611922565b90925090508015806114ce575060001982145b156114dd575060009392505050565b60006114ea836001612aa3565b905060005b828110156114a0578551821061150b5750600095945050505050565b60006115178784611e9d565b9050600019810361152f575060009695505050505050565b6115398184612aa3565b925050808061154790612adf565b9150506114ef565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60448101516000906113bc565b60008385148015611592575081155b801561159d57508251155b156115aa575060016115b9565b6115b685848685611f01565b90505b949350505050565b6001820154604080517f113764be00000000000000000000000000000000000000000000000000000000815290516001600160a01b0390921691600091839163113764be916004808201926020929091908290030181865afa15801561162b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164f9190612c6a565b90506000826001600160a01b0316632b97be246040518163ffffffff1660e01b8152600401602060405180830381865afa158015611691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b59190612c6a565b90506000806116cb6116c687611fab565b611fb8565b90508381036116dc57839150611759565b8281036116eb57829150611759565b60405162461bcd60e51b815260206004820152602560248201527f4e6f742061742063757272656e74206f722070726576696f757320646966666960448201527f63756c747900000000000000000000000000000000000000000000000000000060648201526084016101e4565b600061176487611fe0565b905060001981036117dd5760405162461bcd60e51b815260206004820152602360248201527f496e76616c6964206c656e677468206f6620746865206865616465727320636860448201527f61696e000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b600119810361182e5760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964206865616465727320636861696e000000000000000000000060448201526064016101e4565b600219810361187f5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420776f726b20696e20612068656164657200000060448201526064016101e4565b60018801546118a390600160a01b90046bffffffffffffffffffffffff1684612dc2565b8110156119185760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420616363756d756c61746564206469666669637560448201527f6c747920696e2068656164657220636861696e0000000000000000000000000060648201526084016101e4565b5050505050505050565b6000806119308360006121cd565b91509150915091565b606060008061194785611922565b9092509050600182016119c25760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016101e4565b808410611a115760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016101e4565b600080611a1f846001612aa3565b905060005b86811015611aa757611a368883611e9d565b92506000198303611a895760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611a938383612aa3565b915080611a9f81612adf565b915050611a24565b50611ab28782611e9d565b91506000198203611b055760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016101e4565b611b1087828461234a565b979650505050505050565b600080611b2783612417565b90508051601414611ba05760405162461bcd60e51b815260206004820152602b60248201527f4f75747075742773207075626c6963206b65792068617368206d75737420686160448201527f766520323020627974657300000000000000000000000000000000000000000060648201526084016101e4565b611bab816000612431565b9150600060088451611bbd9190612ab6565b905080601a1480611bce5750806017145b611c1a5760405162461bcd60e51b815260206004820152601e60248201527f4f7574707574206d757374206265205032504b48206f7220503257504b48000060448201526064016101e4565b80601a03611cc557602884015165ffffffffffff1981167bffffffffffffffffffffffffffffffffffffffff0000000000000000602086901c167f1976a914000000000000000000000000000000000000000088ac0000000000001714611cc35760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964205032504b482073637269707400000000000000000000000060448201526064016101e4565b505b80601703611d7457602884015168ffffffffffffffffff1981167cffffffffffffffffffffffffffffffffffffffff000000000000000000601886901c167f16001400000000000000000000000000000000000000000000000000000000001714611d725760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420503257504b4820736372697074000000000000000000000060448201526064016101e4565b505b505092915050565b600080611d8883612440565b60c01c905060006115b98264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b60008080611e018585612431565b9250611e36611e10868661244c565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9150611e428585611e4b565b90509250925092565b6000806000611e5a8585612463565b909250905060018201611e7357600019925050506113bc565b80611e7f836025612aa3565b611e899190612aa3565b611e94906004612aa3565b95945050505050565b6000611eaa826009612aa3565b83511015611ebb57506000196113bc565b600080611ed285611ecd866008612aa3565b6121cd565b909250905060018201611eeb57600019925050506113bc565b80611ef7836009612aa3565b611e949190612aa3565b600060208451611f119190612d9a565b15611f1e575060006115b9565b8351600003611f2f575060006115b9565b818560005b8651811015611f9e57611f48600284612d9a565b600103611f6c57611f65611f5f8883016020015190565b836124a5565b9150611f85565b611f8282611f7d8984016020015190565b6124a5565b91505b60019290921c91611f97602082612aa3565b9050611f34565b5090931495945050505050565b60006113bc8260006124b1565b60006113bc7bffff00000000000000000000000000000000000000000000000000008361254f565b600060508251611ff09190612d9a565b15611ffe5750600019919050565b50600080805b83518110156121c657801561202d5761201e84828461255b565b61202d57506001199392505050565b600061203985836124b1565b905061204785836050612586565b92508061218b8460008190506008817eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff16901b600882901c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff161790506010817dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff16901b601082901c7dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff161790506020817bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16901b602082901c7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff1617905060408177ffffffffffffffff0000000000000000ffffffffffffffff16901b604082901c77ffffffffffffffff0000000000000000ffffffffffffffff16179050608081901b608082901c179050919050565b111561219d5750600219949350505050565b6121a681611fb8565b6121b09085612aa3565b93506121bf9050605082612aa3565b9050612004565b5050919050565b60008060006121dc85856125b0565b90508060ff166000036122115760008585815181106121fd576121fd612ac9565b016020015190935060f81c9150610ae89050565b8361221d826001612dd9565b60ff1661222a9190612aa3565b855110156122415760001960009250925050610ae8565b60008160ff166002036122855761227a61226661225f876001612aa3565b8890612431565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061233a565b8160ff166004036122ae576122a1611e1061225f876001612aa3565b63ffffffff16905061233a565b8160ff1660080361233a5761232d6122ca61225f876001612aa3565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090509250929050565b6060816000036123695750604080516020810190915260008152610a32565b60006123758385612aa3565b90508381118015612387575080855110155b6123d35760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016101e4565b604051915082604083010160405282825283850182038460208701018481015b8082101561240c578151838301526020820191506123f3565b505050509392505050565b60606113bc82600880855161242c9190612ab6565b612636565b6000610a328383016020015190565b60006113bc8282612431565b6000610a3261245c836020612aa3565b8490612431565b600080612471836025612aa3565b84511015612486575060001990506000610ae8565b60008061249886611ecd876024612aa3565b9097909650945050505050565b6000610a32838361293b565b6000806124c96124c2846048612aa3565b8590612431565b60e81c90506000846124dc85604b612aa3565b815181106124ec576124ec612ac9565b016020015160f81c9050600061252083600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff1690506000612534600384612df2565b60ff16905061254581610100612eef565b611b109083612dc2565b6000610a328284612dae565b6000806125688585612969565b905082811461257b576000915050610a32565b506001949350505050565b6000602060008385602001870160025afa50602060006020600060025afa50506000519392505050565b60008282815181106125c4576125c4612ac9565b016020015160f81c60ff036125db575060086113bc565b8282815181106125ed576125ed612ac9565b016020015160f81c60fe03612604575060046113bc565b82828151811061261657612616612ac9565b016020015160f81c60fd0361262d575060026113bc565b50600092915050565b6060600084848151811061264c5761264c612ac9565b016020015160f81c905082612662826001612dd9565b60ff1614612680575050604080516020810190915260008152610a32565b8461268c856001612aa3565b8151811061269c5761269c612ac9565b016020015160f81c60000361275b5760028160ff1610156126cd575050604080516020810190915260008152610a32565b6000856126db866002612aa3565b815181106126eb576126eb612ac9565b016020015160f81c9050612700600283612df2565b60ff168114158061271e57508060201415801561271e575080601414155b1561273c576040518060200160405280600081525092505050610a32565b61275261274a866003612aa3565b87908361234a565b92505050610a32565b60006127678686612431565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a900000000000000000000000000000000000000000000000000000000000361287b57856127be866003612aa3565b815181106127ce576127ce612ac9565b60209101015160f81c6014141580612846575061280160026127f08688612aa3565b6127fa9190612ab6565b8790612431565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b15612864576040518060200160405280600081525092505050610a32565b612752612872866004612aa3565b8790601461234a565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a914000000000000000000000000000000000000000000000000000000000003612922578560016128d18688612aa3565b6128db9190612ab6565b815181106128eb576128eb612ac9565b60209101015160f81c608714612914576040518060200160405280600081525092505050610a32565b612752612872866003612aa3565b5050506040805160208101909152600081529392505050565b60008260005281602052602060006040600060025afa50602060006020600060025afa505060005192915050565b6000610a32612979836004612aa3565b84016020015190565b80356001600160a01b038116811461299957600080fd5b919050565b600080600080600085870360e08112156129b757600080fd5b86359550602087013567ffffffffffffffff808211156129d657600080fd5b908801906080828b0312156129ea57600080fd5b90955060408801359080821115612a0057600080fd5b50870160a0818a031215612a1357600080fd5b93506060605f1982011215612a2757600080fd5b50606086019150612a3a60c08701612982565b90509295509295909350565b6000808335601e19843603018112612a5d57600080fd5b83018035915067ffffffffffffffff821115612a7857600080fd5b602001915036819003821315610ae857600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156113bc576113bc612a8d565b818103818111156113bc576113bc612a8d565b634e487b7160e01b600052603260045260246000fd5b600060018201612af157612af1612a8d565b5060010190565b600081518084526020808501945080840160005b83811015612b315781516001600160a01b031687529582019590820190600101612b0c565b509495945050505050565b600081518084526020808501945080840160005b83811015612b3157815187529582019590820190600101612b50565b6001600160a01b0384168152606060208201526000612b8e6060830185612af8565b8281036040840152612ba08185612b3c565b9695505050505050565b604081526000612bbd6040830185612af8565b8281036020840152611e948185612b3c565b600060208284031215612be157600080fd5b81356001600160e01b031981168114610a3257600080fd5b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b6000825160005b81811015612c5c5760208186018101518583015201612c42565b506000920191825250919050565b600060208284031215612c7c57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b803563ffffffff8116811461299957600080fd5b600060208284031215612cbf57600080fd5b610a3282612c99565b803567ffffffffffffffff8116811461299957600080fd5b600060208284031215612cf257600080fd5b610a3282612cc8565b634e487b7160e01b600052604160045260246000fd5b600060608284031215612d2357600080fd5b6040516060810181811067ffffffffffffffff82111715612d5457634e487b7160e01b600052604160045260246000fd5b60405282358152612d6760208401612c99565b6020820152612d7860408401612cc8565b60408201529392505050565b634e487b7160e01b600052601260045260246000fd5b600082612da957612da9612d84565b500690565b600082612dbd57612dbd612d84565b500490565b80820281158282048414176113bc576113bc612a8d565b60ff81811683821601908111156113bc576113bc612a8d565b60ff82811682821603908111156113bc576113bc612a8d565b600181815b80851115612e46578160001904821115612e2c57612e2c612a8d565b80851615612e3957918102915b93841c9390800290612e10565b509250929050565b600082612e5d575060016113bc565b81612e6a575060006113bc565b8160018114612e805760028114612e8a57612ea6565b60019150506113bc565b60ff841115612e9b57612e9b612a8d565b50506001821b6113bc565b5060208310610133831016604e8410600b8410161715612ec9575081810a6113bc565b612ed38383612e0b565b8060001904821115612ee757612ee7612a8d565b029392505050565b6000610a328383612e4e56fea2646970667358221220379d14fd60535efb6418f6ceb9ac6d82a50353b3b66d6c331742f976a70ef7fc64736f6c63430008110033";
70
70
  var isSuperArgs = function (xs) { return xs.length > 1; };
71
71
  var DepositSweep__factory = /** @class */ (function (_super) {
72
72
  __extends(DepositSweep__factory, _super);
@@ -108,7 +108,7 @@ var _abi = [
108
108
  type: "event",
109
109
  },
110
110
  ];
111
- var _bytecode = "0x611aee61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063aea7fd0b14610045578063e4f3925d14610067575b600080fd5b81801561005157600080fd5b50610065610060366004611418565b610087565b005b81801561007357600080fd5b50610065610082366004611471565b610099565b61009483838360006100fd565b505050565b806100eb5760405162461bcd60e51b815260206004820152601c60248201527f45787472612064617461206d757374206e6f7420626520656d7074790000000060448201526064015b60405180910390fd5b6100f7848484846100fd565b50505050565b6001601b8501600061011560608601604087016114e9565b6bffffffffffffffffffffffff19168152602081019190915260400160002060020154600160c01b900460ff166005811115610153576101536114d3565b146101a05760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064016100e2565b60006101b260c0840160a08501611518565b6001600160a01b031614806101f657506014840160006101d860c0850160a08601611518565b6001600160a01b0316815260208101919091526040016000205460ff165b6102425760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f74207472757374656400000000000000000000000060448201526064016100e2565b6006840154600160c01b900463ffffffff1615610272576102728461026d60a0850160808601611541565b61082b565b6060816102e4573361028a604085016020860161156b565b61029a60608601604087016114e9565b6102aa60808701606088016114e9565b6102ba60a0880160808901611541565b6040516020016102ce959493929190611595565b604051602081830303815290604052905061034d565b33826102f6604086016020870161156b565b61030660608701604088016114e9565b61031660808801606089016114e9565b61032660a0890160808a01611541565b60405160200161033b969594939291906117b8565b60405160208183030381529060405290505b60006103af61035f60208601866118ef565b63ffffffff166103726040880188611915565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061095e9050565b905060006103bc82610b42565b9050805160140361044b576103d083610b5c565b6bffffffffffffffffffffffff19166103ea826000610b83565b6bffffffffffffffffffffffff1916146104465760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d627974652073637269707420686173680000000000000060448201526064016100e2565b610542565b80516020036104fa57600283604051610464919061195c565b602060405180830381855afa158015610481573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906104a4919061198b565b6104ad82610b99565b146104465760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d627974652073637269707420686173680000000000000060448201526064016100e2565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e677468000000000000000060448201526064016100e2565b60006105a76105546020890189611541565b61056160208a018a611915565b61056e60408c018c611915565b61057e60808e0160608f01611541565b604051602001610593969594939291906119a4565b604051602081830303815290604052610bb4565b905060006013890181836105be60208b018b6118ef565b6040516020016105e592919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156106695760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064016100e2565b600061067485610bdb565b60068b015490915067ffffffffffffffff90811690821610156106d95760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c000000000000000060448201526064016100e2565b8154336001600160e01b0319909116600160a01b67ffffffffffffffff84160273ffffffffffffffffffffffffffffffffffffffff191617177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff160217825561075060c0890160a08a01611518565b60018301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905560068a015468010000000000000000900467ffffffffffffffff166107a55760006107ca565b60068a01546107ca9068010000000000000000900467ffffffffffffffff16826119fc565b60018301805467ffffffffffffffff92909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff9092169190911790556002820187905561081f83828a610c5a565b50505050505050505050565b60e881901c62ff00ff1663ff00ff0060d883901c1617601081811c91901b17631dcd650063ffffffff821610156108ca5760405162461bcd60e51b815260206004820152602760248201527f526566756e64206c6f636b74696d65206d75737420626520612076616c75652060448201527f3e3d203530304d0000000000000000000000000000000000000000000000000060648201526084016100e2565b600683015463ffffffff808316916108eb91600160c01b9091041642611a31565b11156100945760405162461bcd60e51b8152602060048201526024808201527f4465706f73697420726566756e64206c6f636b74696d6520697320746f6f206360448201527f6c6f73650000000000000000000000000000000000000000000000000000000060648201526084016100e2565b606060008061096c85610d62565b9092509050600182016109e75760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016100e2565b808410610a365760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016100e2565b600080610a44846001611a31565b905060005b86811015610acc57610a5b8883610d79565b92506000198303610aae5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016100e2565b610ab88383611a31565b915080610ac481611a44565b915050610a49565b50610ad78782610d79565b91506000198203610b2a5760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016100e2565b610b35878284610de6565b9450505050505b92915050565b6060610b3c826008808551610b579190611a5d565b610eb3565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6000610b928383016020015190565b9392505050565b60008151600003610bac57506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080610be7836111b8565b60c01c90506000610c528264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b610c6a60608201604083016114e9565b6bffffffffffffffffffffffff1916337fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0585610ca960208601866118ef565b86610cba604088016020890161156b565b610cca6080890160608a016114e9565b610cda60a08a0160808b01611541565b610cea60c08b0160a08c01611518565b6040805197885263ffffffff96909616602088015267ffffffffffffffff94909416868601526001600160c01b03199290921660608601526bffffffffffffffffffffffff191660808501526001600160e01b03191660a08401526001600160a01b031660c0830152519081900360e00190a3505050565b600080610d708360006111c4565b91509150915091565b6000610d86826009611a31565b83511015610d975750600019610b3c565b600080610dae85610da9866008611a31565b6111c4565b909250905060018201610dc75760001992505050610b3c565b80610dd3836009611a31565b610ddd9190611a31565b95945050505050565b606081600003610e055750604080516020810190915260008152610b92565b6000610e118385611a31565b90508381118015610e23575080855110155b610e6f5760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016100e2565b604051915082604083010160405282825283850182038460208701018481015b80821015610ea857815183830152602082019150610e8f565b505050509392505050565b60606000848481518110610ec957610ec9611a70565b016020015160f81c905082610edf826001611a86565b60ff1614610efd575050604080516020810190915260008152610b92565b84610f09856001611a31565b81518110610f1957610f19611a70565b016020015160f81c600003610fd85760028160ff161015610f4a575050604080516020810190915260008152610b92565b600085610f58866002611a31565b81518110610f6857610f68611a70565b016020015160f81c9050610f7d600283611a9f565b60ff1681141580610f9b575080602014158015610f9b575080601414155b15610fb9576040518060200160405280600081525092505050610b92565b610fcf610fc7866003611a31565b879083610de6565b92505050610b92565b6000610fe48686610b83565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a90000000000000000000000000000000000000000000000000000000000036110f8578561103b866003611a31565b8151811061104b5761104b611a70565b60209101015160f81c60141415806110c3575061107e600261106d8688611a31565b6110779190611a5d565b8790610b83565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b156110e1576040518060200160405280600081525092505050610b92565b610fcf6110ef866004611a31565b87906014610de6565b7fffffff000000000000000000000000000000000000000000000000000000000081167f17a91400000000000000000000000000000000000000000000000000000000000361119f5785600161114e8688611a31565b6111589190611a5d565b8151811061116857611168611a70565b60209101015160f81c608714611191576040518060200160405280600081525092505050610b92565b610fcf6110ef866003611a31565b5050506040805160208101909152600081529392505050565b6000610b3c8282610b83565b60008060006111d38585611368565b90508060ff166000036112085760008585815181106111f4576111f4611a70565b016020015190935060f81c91506113619050565b83611214826001611a86565b60ff166112219190611a31565b855110156112385760001960009250925050611361565b60008160ff1660020361127c5761127161125d611256876001611a31565b8890610b83565b62ffff0060e882901c1660f89190911c1790565b61ffff169050611357565b8160ff166004036112cb576112be611298611256876001611a31565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff169050611357565b8160ff166008036113575761134a6112e7611256876001611a31565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b600082828151811061137c5761137c611a70565b016020015160f81c60ff0361139357506008610b3c565b8282815181106113a5576113a5611a70565b016020015160f81c60fe036113bc57506004610b3c565b8282815181106113ce576113ce611a70565b016020015160f81c60fd036113e557506002610b3c565b50600092915050565b60006080828403121561140057600080fd5b50919050565b600060c0828403121561140057600080fd5b6000806000610100848603121561142e57600080fd5b83359250602084013567ffffffffffffffff81111561144c57600080fd5b611458868287016113ee565b9250506114688560408601611406565b90509250925092565b600080600080610120858703121561148857600080fd5b84359350602085013567ffffffffffffffff8111156114a657600080fd5b6114b2878288016113ee565b9350506114c28660408701611406565b939692955092936101000135925050565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156114fb57600080fd5b81356bffffffffffffffffffffffff1981168114610b9257600080fd5b60006020828403121561152a57600080fd5b81356001600160a01b0381168114610b9257600080fd5b60006020828403121561155357600080fd5b81356001600160e01b031981168114610b9257600080fd5b60006020828403121561157d57600080fd5b81356001600160c01b031981168114610b9257600080fd5b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b6015820152600160fb1b60168201526001600160c01b031985166017820152607560f81b601f820152600061165261164561161c602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff1986168152608760f81b601482015261170061164561161c6115f36116d76116ae601587015b7f6300000000000000000000000000000000000000000000000000000000000000815260010190565b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681529050601160fb1b601482015261174f601582015b7f0400000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160e01b031985168152905060b160f81b60048201526117ac6117836116ae600584015b607560f81b815260010190565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b600560fa1b81526bffffffffffffffffffffffff19606088901b166001820152607560f81b60158201527f20000000000000000000000000000000000000000000000000000000000000006016820152600060178201878152607560f81b6020820152600160fb1b6021820152602281016001600160c01b0319881681529050607560f81b600882015261185461164561161c600984016115f3565b6bffffffffffffffffffffffff19871681529050608760f81b601482015261188d61164561161c6115f36116d76116ae60158701611685565b6bffffffffffffffffffffffff19861681529050601160fb1b60148201526118b760158201611726565b6001600160e01b031985168152905060b160f81b60048201526118e26117836116ae60058401611776565b9998505050505050505050565b60006020828403121561190157600080fd5b813563ffffffff81168114610b9257600080fd5b6000808335601e1984360301811261192c57600080fd5b83018035915067ffffffffffffffff82111561194757600080fd5b60200191503681900382131561136157600080fd5b6000825160005b8181101561197d5760208186018101518583015201611963565b506000920191825250919050565b60006020828403121561199d57600080fd5b5051919050565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680611a2557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b80820180821115610b3c57610b3c6119e6565b600060018201611a5657611a566119e6565b5060010190565b81810381811115610b3c57610b3c6119e6565b634e487b7160e01b600052603260045260246000fd5b60ff8181168382160190811115610b3c57610b3c6119e6565b60ff8281168282160390811115610b3c57610b3c6119e656fea2646970667358221220cb81ae80f3aa24e82201d8c4d895005e83619e0c8c5ff5671b58391d6053a6bc64736f6c63430008110033";
111
+ var _bytecode = "0x611b5e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063aea7fd0b14610045578063e4f3925d14610067575b600080fd5b81801561005157600080fd5b50610065610060366004611488565b610087565b005b81801561007357600080fd5b506100656100823660046114e1565b610099565b61009483838360006100fd565b505050565b806100eb5760405162461bcd60e51b815260206004820152601c60248201527f45787472612064617461206d757374206e6f7420626520656d7074790000000060448201526064015b60405180910390fd5b6100f7848484846100fd565b50505050565b6001601b850160006101156060860160408701611559565b6bffffffffffffffffffffffff19168152602081019190915260400160002060020154600160c01b900460ff16600581111561015357610153611543565b146101a05760405162461bcd60e51b815260206004820152601c60248201527f57616c6c6574206d75737420626520696e204c6976652073746174650000000060448201526064016100e2565b60006101b260c0840160a08501611588565b6001600160a01b031614806101f657506014840160006101d860c0850160a08601611588565b6001600160a01b0316815260208101919091526040016000205460ff165b6102425760405162461bcd60e51b815260206004820152601460248201527f5661756c74206973206e6f74207472757374656400000000000000000000000060448201526064016100e2565b6006840154600160c01b900463ffffffff1615610272576102728461026d60a08501608086016115b1565b6108b5565b6060816102e4573361028a60408501602086016115db565b61029a6060860160408701611559565b6102aa6080870160608801611559565b6102ba60a08801608089016115b1565b6040516020016102ce959493929190611605565b604051602081830303815290604052905061034d565b33826102f660408601602087016115db565b6103066060870160408801611559565b6103166080880160608901611559565b61032660a0890160808a016115b1565b60405160200161033b96959493929190611828565b60405160208183030381529060405290505b60006103af61035f602086018661195f565b63ffffffff166103726040880188611985565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506109e89050565b905060006103bc82610bcc565b905080516014036104d05760006103d4836008610be6565b7cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166205ea4560ea1b1490508061044b5760405162461bcd60e51b815260206004820152601360248201527f4f7574707574206d75737420626520503253480000000000000000000000000060448201526064016100e2565b61045484610bfc565b6bffffffffffffffffffffffff191661046e836000610be6565b6bffffffffffffffffffffffff1916146104ca5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672032302d627974652073637269707420686173680000000000000060448201526064016100e2565b506105cc565b8051602003610584576002836040516104e991906119cc565b602060405180830381855afa158015610506573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061052991906119fb565b61053282610c23565b1461057f5760405162461bcd60e51b815260206004820152601960248201527f57726f6e672033322d627974652073637269707420686173680000000000000060448201526064016100e2565b6105cc565b60405162461bcd60e51b815260206004820152601860248201527f57726f6e67207363726970742068617368206c656e677468000000000000000060448201526064016100e2565b60006106316105de60208901896115b1565b6105eb60208a018a611985565b6105f860408c018c611985565b61060860808e0160608f016115b1565b60405160200161061d96959493929190611a14565b604051602081830303815290604052610c3e565b9050600060138901818361064860208b018b61195f565b60405160200161066f92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120835290820192909252016000208054909150600160e01b900463ffffffff16156106f35760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616c72656164792072657665616c6564000000000000000060448201526064016100e2565b60006106fe85610c65565b60068b015490915067ffffffffffffffff90811690821610156107635760405162461bcd60e51b815260206004820152601860248201527f4465706f73697420616d6f756e7420746f6f20736d616c6c000000000000000060448201526064016100e2565b8154336001600160e01b0319909116600160a01b67ffffffffffffffff84160273ffffffffffffffffffffffffffffffffffffffff191617177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160e01b4263ffffffff16021782556107da60c0890160a08a01611588565b60018301805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905560068a015468010000000000000000900467ffffffffffffffff1661082f576000610854565b60068a01546108549068010000000000000000900467ffffffffffffffff1682611a6c565b60018301805467ffffffffffffffff92909216600160a01b027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055600282018790556108a983828a610ce4565b50505050505050505050565b60e881901c62ff00ff1663ff00ff0060d883901c1617601081811c91901b17631dcd650063ffffffff821610156109545760405162461bcd60e51b815260206004820152602760248201527f526566756e64206c6f636b74696d65206d75737420626520612076616c75652060448201527f3e3d203530304d0000000000000000000000000000000000000000000000000060648201526084016100e2565b600683015463ffffffff8083169161097591600160c01b9091041642611aa1565b11156100945760405162461bcd60e51b8152602060048201526024808201527f4465706f73697420726566756e64206c6f636b74696d6520697320746f6f206360448201527f6c6f73650000000000000000000000000000000000000000000000000000000060648201526084016100e2565b60606000806109f685610dec565b909250905060018201610a715760405162461bcd60e51b815260206004820152602260248201527f52656164206f76657272756e20647572696e6720566172496e7420706172736960448201527f6e6700000000000000000000000000000000000000000000000000000000000060648201526084016100e2565b808410610ac05760405162461bcd60e51b815260206004820152601160248201527f566f75742072656164206f76657272756e00000000000000000000000000000060448201526064016100e2565b600080610ace846001611aa1565b905060005b86811015610b5657610ae58883610e03565b92506000198303610b385760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016100e2565b610b428383611aa1565b915080610b4e81611ab4565b915050610ad3565b50610b618782610e03565b91506000198203610bb45760405162461bcd60e51b815260206004820152601a60248201527f42616420566172496e7420696e207363726970745075626b657900000000000060448201526064016100e2565b610bbf878284610e70565b9450505050505b92915050565b6060610bc6826008808551610be19190611acd565b610f3d565b6000610bf58383016020015190565b9392505050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b60008151600003610c3657506000919050565b506020015190565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b600080610c7183611228565b60c01c90506000610cdc8264ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b949350505050565b610cf46060820160408301611559565b6bffffffffffffffffffffffff1916337fa7382159a693ed317a024daf0fd1ba30805cdf9928ee09550af517c516e2ef0585610d33602086018661195f565b86610d4460408801602089016115db565b610d546080890160608a01611559565b610d6460a08a0160808b016115b1565b610d7460c08b0160a08c01611588565b6040805197885263ffffffff96909616602088015267ffffffffffffffff94909416868601526001600160c01b03199290921660608601526bffffffffffffffffffffffff191660808501526001600160e01b03191660a08401526001600160a01b031660c0830152519081900360e00190a3505050565b600080610dfa836000611234565b91509150915091565b6000610e10826009611aa1565b83511015610e215750600019610bc6565b600080610e3885610e33866008611aa1565b611234565b909250905060018201610e515760001992505050610bc6565b80610e5d836009611aa1565b610e679190611aa1565b95945050505050565b606081600003610e8f5750604080516020810190915260008152610bf5565b6000610e9b8385611aa1565b90508381118015610ead575080855110155b610ef95760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064016100e2565b604051915082604083010160405282825283850182038460208701018481015b80821015610f3257815183830152602082019150610f19565b505050509392505050565b60606000848481518110610f5357610f53611ae0565b016020015160f81c905082610f69826001611af6565b60ff1614610f87575050604080516020810190915260008152610bf5565b84610f93856001611aa1565b81518110610fa357610fa3611ae0565b016020015160f81c6000036110625760028160ff161015610fd4575050604080516020810190915260008152610bf5565b600085610fe2866002611aa1565b81518110610ff257610ff2611ae0565b016020015160f81c9050611007600283611b0f565b60ff1681141580611025575080602014158015611025575080601414155b15611043576040518060200160405280600081525092505050610bf5565b611059611051866003611aa1565b879083610e70565b92505050610bf5565b600061106e8686610be6565b90507fffffff000000000000000000000000000000000000000000000000000000000081167f1976a900000000000000000000000000000000000000000000000000000000000361118257856110c5866003611aa1565b815181106110d5576110d5611ae0565b60209101015160f81c601414158061114d575061110860026110f78688611aa1565b6111019190611acd565b8790610be6565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f88ac00000000000000000000000000000000000000000000000000000000000014155b1561116b576040518060200160405280600081525092505050610bf5565b611059611179866004611aa1565b87906014610e70565b7fffffff000000000000000000000000000000000000000000000000000000000081166205ea4560ea1b0361120f578560016111be8688611aa1565b6111c89190611acd565b815181106111d8576111d8611ae0565b60209101015160f81c608714611201576040518060200160405280600081525092505050610bf5565b611059611179866003611aa1565b5050506040805160208101909152600081529392505050565b6000610bc68282610be6565b600080600061124385856113d8565b90508060ff1660000361127857600085858151811061126457611264611ae0565b016020015190935060f81c91506113d19050565b83611284826001611af6565b60ff166112919190611aa1565b855110156112a857600019600092509250506113d1565b60008160ff166002036112ec576112e16112cd6112c6876001611aa1565b8890610be6565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506113c7565b8160ff1660040361133b5761132e6113086112c6876001611aa1565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b63ffffffff1690506113c7565b8160ff166008036113c7576113ba6113576112c6876001611aa1565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008282815181106113ec576113ec611ae0565b016020015160f81c60ff0361140357506008610bc6565b82828151811061141557611415611ae0565b016020015160f81c60fe0361142c57506004610bc6565b82828151811061143e5761143e611ae0565b016020015160f81c60fd0361145557506002610bc6565b50600092915050565b60006080828403121561147057600080fd5b50919050565b600060c0828403121561147057600080fd5b6000806000610100848603121561149e57600080fd5b83359250602084013567ffffffffffffffff8111156114bc57600080fd5b6114c88682870161145e565b9250506114d88560408601611476565b90509250925092565b60008060008061012085870312156114f857600080fd5b84359350602085013567ffffffffffffffff81111561151657600080fd5b6115228782880161145e565b9350506115328660408701611476565b939692955092936101000135925050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561156b57600080fd5b81356bffffffffffffffffffffffff1981168114610bf557600080fd5b60006020828403121561159a57600080fd5b81356001600160a01b0381168114610bf557600080fd5b6000602082840312156115c357600080fd5b81356001600160e01b031981168114610bf557600080fd5b6000602082840312156115ed57600080fd5b81356001600160c01b031981168114610bf557600080fd5b600560fa1b8152606086901b6bffffffffffffffffffffffff19166001820152607560f81b6015820152600160fb1b60168201526001600160c01b031985166017820152607560f81b601f82015260006116c26116b561168c602085015b7f7600000000000000000000000000000000000000000000000000000000000000815260010190565b7fa900000000000000000000000000000000000000000000000000000000000000815260010190565b600560fa1b815260010190565b6bffffffffffffffffffffffff1986168152608760f81b60148201526117706116b561168c61166361174761171e601587015b7f6300000000000000000000000000000000000000000000000000000000000000815260010190565b7fac00000000000000000000000000000000000000000000000000000000000000815260010190565b7f6700000000000000000000000000000000000000000000000000000000000000815260010190565b6bffffffffffffffffffffffff19861681529050601160fb1b60148201526117bf601582015b7f0400000000000000000000000000000000000000000000000000000000000000815260010190565b6001600160e01b031985168152905060b160f81b600482015261181c6117f361171e600584015b607560f81b815260010190565b7f6800000000000000000000000000000000000000000000000000000000000000815260010190565b98975050505050505050565b600560fa1b81526bffffffffffffffffffffffff19606088901b166001820152607560f81b60158201527f20000000000000000000000000000000000000000000000000000000000000006016820152600060178201878152607560f81b6020820152600160fb1b6021820152602281016001600160c01b0319881681529050607560f81b60088201526118c46116b561168c60098401611663565b6bffffffffffffffffffffffff19871681529050608760f81b60148201526118fd6116b561168c61166361174761171e601587016116f5565b6bffffffffffffffffffffffff19861681529050601160fb1b601482015261192760158201611796565b6001600160e01b031985168152905060b160f81b60048201526119526117f361171e600584016117e6565b9998505050505050505050565b60006020828403121561197157600080fd5b813563ffffffff81168114610bf557600080fd5b6000808335601e1984360301811261199c57600080fd5b83018035915067ffffffffffffffff8211156119b757600080fd5b6020019150368190038213156113d157600080fd5b6000825160005b818110156119ed57602081860181015185830152016119d3565b506000920191825250919050565b600060208284031215611a0d57600080fd5b5051919050565b60006001600160e01b03198089168352868860048501378683016004810160008152868882375093169390920160048101939093525050600801949350505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff80841680611a9557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b80820180821115610bc657610bc6611a56565b600060018201611ac657611ac6611a56565b5060010190565b81810381811115610bc657610bc6611a56565b634e487b7160e01b600052603260045260246000fd5b60ff8181168382160190811115610bc657610bc6611a56565b60ff8281168282160390811115610bc657610bc6611a5656fea2646970667358221220722f3b9b35e078476724833caa9039da60c7a0d84de47c944b348bddbef683f864736f6c63430008110033";
112
112
  var isSuperArgs = function (xs) { return xs.length > 1; };
113
113
  var Deposit__factory = /** @class */ (function (_super) {
114
114
  __extends(Deposit__factory, _super);
@@ -122,7 +122,7 @@ var _abi = [
122
122
  type: "event",
123
123
  },
124
124
  ];
125
- var _bytecode = "0x61224761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063624526fe1461005b57806380ffe94a1461007d57806394fcaf8d1461009d578063eb8fdd5d146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004611cfa565b6100dd565b005b81801561008957600080fd5b5061007b610098366004611e2e565b6103c2565b8180156100a957600080fd5b5061007b6100b8366004611efb565b610735565b8180156100c957600080fd5b5061007b6100d8366004611f75565b6108ec565b600061011e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5992505050565b9050600086868360405160200161013793929190612005565b60408051601f198184030181529181528151602092830120600081815260198c01909352912060028101549192509063ffffffff166101bd5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff161561022c5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6102368686610e1e565b63ffffffff1660011461028b5760405162461bcd60e51b815260206004820152601260248201527f57726f6e6720736967686173682074797065000000000000000000000000000060448201526064016101b4565b6000846102a15761029c8787610e9e565b6102ab565b6102ab87876110e2565b600081815260138c0160205260409020600101549091507c0100000000000000000000000000000000000000000000000000000000900463ffffffff1615158061030557506000818152601a8b01602052604090205460ff165b8061033757506002600082815260168c01602052604090206001015460ff16600381111561033557610335612017565b145b6103a95760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f730000000000000000000000000000000060648201526084016101b4565b6103b68a8a8a85886111d8565b50505050505050505050565b60006002826040516103d4919061202d565b602060405180830381855afa1580156103f1573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610414919061205c565b9050600086868360405160200161042d93929190612005565b60408051601f198184030181529181528151602092830120600081815260198c01909352912060028101549192509063ffffffff166104ae5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561051d5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b600f890154600282015461053a9163ffffffff908116911661208b565b63ffffffff164210156105b55760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f757420796574000000000000000000000000000060648201526084016101b4565b60028101805464ff000000001916640100000000179055805460018201546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114610622576040519150601f19603f3d011682016040523d82523d6000602084013e610627565b606091505b50505060006106b761067360008b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f8d018190048102820181019092528b81526106b291908d8d8083850183828082843760009201919091525092939250506113399050565b611341565b905060006106c4826113ee565b83549091506106e3908c9083908b908b906001600160a01b0316611415565b6040518581526bffffffffffffffffffffffff198216907f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b77906020015b60405180910390a25050505050505050505050565b600061077683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5992505050565b9050600085858360405160200161078f93929190612005565b60408051601f198184030181529181528151602092830120600081815260198b01909352912060028101549192509063ffffffff166108105760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561087f5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6108898585611618565b6108d55760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016101b4565b6108e288888884876111d8565b5050505050505050565b600e850154600160a01b90046bffffffffffffffffffffffff1634101561097b5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f77000000000000000000000000000000000000000000000000000060648201526084016101b4565b600060028360405161098d919061202d565b602060405180830381855afa1580156109aa573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109cd919061205c565b9050610a2785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610a1b91505060608601604087016120af565b853560208701356116a8565b610a735760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c757265000060448201526064016101b4565b6000610afb610abc600088888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f8a018190048102820181019092528881526106b291908a8a8083850183828082843760009201919091525092939250506113399050565b90506000610b08826113ee565b6bffffffffffffffffffffffff1981166000908152601b8a016020526040902090915060016002820154600160c01b900460ff166005811115610b4d57610b4d612017565b1480610b775750600280820154600160c01b900460ff166005811115610b7557610b75612017565b145b80610ba1575060036002820154600160c01b900460ff166005811115610b9f57610b9f612017565b145b610c135760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473206f7220436c6f73696e672073746174650000000000000000000060648201526084016101b4565b6000888886604051602001610c2a93929190612005565b60408051601f198184030181529181528151602092830120600081815260198e01909352912060028101549192509063ffffffff1615610cac5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c726561647920657869737473000060448201526064016101b4565b805473ffffffffffffffffffffffffffffffffffffffff19163317815534600182015560028101805464ffffffffff191663ffffffff42161790556bffffffffffffffffffffffff1984167ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d87610d2960608b0160408c016120af565b6040516107209291908c359060208e01359093845260ff9290921660208401526040830152606082015260800190565b600060028083604051610d6c919061202d565b602060405180830381855afa158015610d89573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610dac919061205c565b604051602001610dbe91815260200190565b60408051601f1981840301815290829052610dd89161202d565b602060405180830381855afa158015610df5573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e18919061205c565b92915050565b600080610e6e610e2f6004856120d2565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b905060e081901c60d882901c63ff00ff001662ff00ff60e884901c1617601081811b91901c175b95945050505050565b6000806000610ee7600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117c19050565b90925090506000610ef98360056120e5565b905060005b828110156110d8576000610f4b8389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061193f9050565b90506000610f92848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119889050565b91505080156110b7576000610fe0858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b9050600061105061102a878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119cf9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161109392919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c9850505050506110d8565b6110c182856120e5565b9350505080806110d0906120f8565b915050610efe565b5050505092915050565b600080611129604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b9050600061117461102a604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119cf9050565b905081816040516020016111b792919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b60028201805464ff000000001916640100000000179055600485015460018301546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114611248576040519150601f19603f3d011682016040523d82523d6000602084013e61124d565b606091505b50505060006112d8611299600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f89018190048102820181019092528781526106b2919089898083850183828082843760009201919091525092939250506113399050565b905060006112e5826113ee565b9050806bffffffffffffffffffffffff19167f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b8460405161132891815260200190565b60405180910390a250505050505050565b016020015190565b60606000611350600284612111565b60000361137e57507f02000000000000000000000000000000000000000000000000000000000000006113a1565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6bffffffffffffffffffffffff1984166000908152601b8601602052604090206002810154600160c01b900460ff16600181600581111561145857611458612017565b14806114755750600281600581111561147357611473612017565b145b806114915750600381600581111561148f5761148f612017565b145b15611561576002870154600f88015483546040517fd8dc404d0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263d8dc404d926115209264010000000082046bffffffffffffffffffffffff169270010000000000000000000000000000000090920463ffffffff16918991908c908c90600401612133565b600060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b5050505061155c87876119e6565b61160f565b600581600581111561157557611575612017565b1461160f5760405162461bcd60e51b8152602060048201526044602482018190527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e67908201527f46756e6473206f7220436c6f73696e67206f72205465726d696e61746564207360648201527f7461746500000000000000000000000000000000000000000000000000000000608482015260a4016101b4565b50505050505050565b60006010821461162a57506000610e18565b61166e600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b7fffffffffffffffff0000000000000000000000000000000000000000000000009081161461169f57506000610e18565b50600192915050565b600085516040146117215760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b65790000000000000000000000000000000000000000000000000060648201526084016101b4565b600061172c87611bad565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015611784573d6000803e3d6000fd5b5050604051601f1901516001600160a01b0390811693169290921498975050505050505050565b60006117ba8383016020015190565b9392505050565b60008060006117d08585611c32565b90508060ff166000036118055760008585815181106117f1576117f16121c2565b016020015190935060f81c91506119389050565b836118118260016121d8565b60ff1661181e91906120e5565b855110156118355760001960009250925050611938565b60008160ff166002036118795761186e61185a6118538760016120e5565b88906117ab565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061192e565b8160ff166004036118a25761189561102a6118538760016120e5565b63ffffffff16905061192e565b8160ff1660080361192e576119216118be6118538760016120e5565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b600080600061194e8585611988565b9092509050600182016119675760001992505050610e18565b806119738360256120e5565b61197d91906120e5565b610e959060046120e5565b6000806119968360256120e5565b845110156119ab575060001990506000611938565b6000806119c2866119bd8760246120e5565b6117c1565b9097909650945050505050565b60006117ba6119df8360206120e5565b84906117ab565b6bffffffffffffffffffffffff1981166000908152601b83016020526040902060016002820154600160c01b900460ff166005811115611a2857611a28612017565b03611a6c57601183018054600160a01b900463ffffffff16906014611a4c836121f1565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516bffffffffffffffffffffffff19841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a360118301546bffffffffffffffffffffffff1980841660609290921b1603611b305760118301805473ffffffffffffffffffffffffffffffffffffffff191690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb92791611b7f9160040190815260200190565b600060405180830381600087803b158015611b9957600080fd5b505af115801561160f573d6000803e3d6000fd5b60008151604014611c265760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e0000000000000000000000000000000000000060648201526084016101b4565b50805160209091012090565b6000828281518110611c4657611c466121c2565b016020015160f81c60ff03611c5d57506008610e18565b828281518110611c6f57611c6f6121c2565b016020015160f81c60fe03611c8657506004610e18565b828281518110611c9857611c986121c2565b016020015160f81c60fd03611caf57506002610e18565b50600092915050565b60008083601f840112611cca57600080fd5b50813567ffffffffffffffff811115611ce257600080fd5b60208301915083602082850101111561193857600080fd5b60008060008060008060808789031215611d1357600080fd5b86359550602087013567ffffffffffffffff80821115611d3257600080fd5b611d3e8a838b01611cb8565b90975095506040890135915080821115611d5757600080fd5b50611d6489828a01611cb8565b90945092505060608701358015158114611d7d57600080fd5b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611db257600080fd5b813567ffffffffffffffff80821115611dcd57611dcd611d8b565b604051601f8301601f19908116603f01168101908282118183101715611df557611df5611d8b565b81604052838152866020858801011115611e0e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060808789031215611e4757600080fd5b86359550602087013567ffffffffffffffff80821115611e6657600080fd5b611e728a838b01611cb8565b90975095506040890135915080821115611e8b57600080fd5b818901915089601f830112611e9f57600080fd5b813581811115611eae57600080fd5b8a60208260051b8501011115611ec357600080fd5b602083019550809450506060890135915080821115611ee157600080fd5b50611eee89828a01611da1565b9150509295509295509295565b600080600080600060608688031215611f1357600080fd5b85359450602086013567ffffffffffffffff80821115611f3257600080fd5b611f3e89838a01611cb8565b90965094506040880135915080821115611f5757600080fd5b50611f6488828901611cb8565b969995985093965092949392505050565b600080600080600085870360c0811215611f8e57600080fd5b86359550602087013567ffffffffffffffff80821115611fad57600080fd5b611fb98a838b01611cb8565b90975095506040890135915080821115611fd257600080fd5b50611fdf89828a01611da1565b9350506060605f1982011215611ff457600080fd5b506060860190509295509295909350565b82848237909101908152602001919050565b634e487b7160e01b600052602160045260246000fd5b6000825160005b8181101561204e5760208186018101518583015201612034565b506000920191825250919050565b60006020828403121561206e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190808211156120a8576120a8612075565b5092915050565b6000602082840312156120c157600080fd5b813560ff811681146117ba57600080fd5b81810381811115610e1857610e18612075565b80820180821115610e1857610e18612075565b60006001820161210a5761210a612075565b5060010190565b60008261212e57634e487b7160e01b600052601260045260246000fd5b500690565b600060a082016bffffffffffffffffffffffff89168352602063ffffffff808a16828601526001600160a01b038916604086015287606086015260a060808601528286845260c0860190508793506000805b888110156121b057853584811680821461219d578384fd5b8452509484019491840191600101612185565b50909c9b505050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b60ff8181168382160190811115610e1857610e18612075565b600063ffffffff82168061220757612207612075565b600019019291505056fea2646970667358221220499b88905815e5b4d2cb20a4dbc91fa74344085a631b57881e79314b4f77287764736f6c63430008110033";
125
+ var _bytecode = "0x61224761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063624526fe1461005b57806380ffe94a1461007d57806394fcaf8d1461009d578063eb8fdd5d146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004611cfa565b6100dd565b005b81801561008957600080fd5b5061007b610098366004611e2e565b6103c2565b8180156100a957600080fd5b5061007b6100b8366004611efb565b610735565b8180156100c957600080fd5b5061007b6100d8366004611f75565b6108ec565b600061011e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5992505050565b9050600086868360405160200161013793929190612005565b60408051601f198184030181529181528151602092830120600081815260198c01909352912060028101549192509063ffffffff166101bd5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff161561022c5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6102368686610e1e565b63ffffffff1660011461028b5760405162461bcd60e51b815260206004820152601260248201527f57726f6e6720736967686173682074797065000000000000000000000000000060448201526064016101b4565b6000846102a15761029c8787610e9e565b6102ab565b6102ab87876110e2565b600081815260138c0160205260409020600101549091507c0100000000000000000000000000000000000000000000000000000000900463ffffffff1615158061030557506000818152601a8b01602052604090205460ff165b8061033757506002600082815260168c01602052604090206001015460ff16600381111561033557610335612017565b145b6103a95760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f730000000000000000000000000000000060648201526084016101b4565b6103b68a8a8a85886111d8565b50505050505050505050565b60006002826040516103d4919061202d565b602060405180830381855afa1580156103f1573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610414919061205c565b9050600086868360405160200161042d93929190612005565b60408051601f198184030181529181528151602092830120600081815260198c01909352912060028101549192509063ffffffff166104ae5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561051d5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b600f890154600282015461053a9163ffffffff908116911661208b565b63ffffffff164210156105b55760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f757420796574000000000000000000000000000060648201526084016101b4565b60028101805464ff000000001916640100000000179055805460018201546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114610622576040519150601f19603f3d011682016040523d82523d6000602084013e610627565b606091505b50505060006106b761067360008b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f8d018190048102820181019092528b81526106b291908d8d8083850183828082843760009201919091525092939250506113399050565b611341565b905060006106c4826113ee565b83549091506106e3908c9083908b908b906001600160a01b0316611415565b6040518581526bffffffffffffffffffffffff198216907f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b77906020015b60405180910390a25050505050505050505050565b600061077683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5992505050565b9050600085858360405160200161078f93929190612005565b60408051601f198184030181529181528151602092830120600081815260198b01909352912060028101549192509063ffffffff166108105760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561087f5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6108898585611618565b6108d55760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016101b4565b6108e288888884876111d8565b5050505050505050565b600e850154600160a01b90046bffffffffffffffffffffffff1634101561097b5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f77000000000000000000000000000000000000000000000000000060648201526084016101b4565b600060028360405161098d919061202d565b602060405180830381855afa1580156109aa573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109cd919061205c565b9050610a2785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250610a1b91505060608601604087016120af565b853560208701356116a8565b610a735760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c757265000060448201526064016101b4565b6000610afb610abc600088888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f8a018190048102820181019092528881526106b291908a8a8083850183828082843760009201919091525092939250506113399050565b90506000610b08826113ee565b6bffffffffffffffffffffffff1981166000908152601b8a016020526040902090915060016002820154600160c01b900460ff166005811115610b4d57610b4d612017565b1480610b775750600280820154600160c01b900460ff166005811115610b7557610b75612017565b145b80610ba1575060036002820154600160c01b900460ff166005811115610b9f57610b9f612017565b145b610c135760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473206f7220436c6f73696e672073746174650000000000000000000060648201526084016101b4565b6000888886604051602001610c2a93929190612005565b60408051601f198184030181529181528151602092830120600081815260198e01909352912060028101549192509063ffffffff1615610cac5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c726561647920657869737473000060448201526064016101b4565b805473ffffffffffffffffffffffffffffffffffffffff19163317815534600182015560028101805464ffffffffff191663ffffffff42161790556bffffffffffffffffffffffff1984167ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d87610d2960608b0160408c016120af565b6040516107209291908c359060208e01359093845260ff9290921660208401526040830152606082015260800190565b600060028083604051610d6c919061202d565b602060405180830381855afa158015610d89573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610dac919061205c565b604051602001610dbe91815260200190565b60408051601f1981840301815290829052610dd89161202d565b602060405180830381855afa158015610df5573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e18919061205c565b92915050565b600080610e6e610e2f6004856120d2565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b905060e081901c60d882901c63ff00ff001662ff00ff60e884901c1617601081811b91901c175b95945050505050565b6000806000610ee7600486868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117c19050565b90925090506000610ef98360056120e5565b905060005b828110156110d8576000610f4b8389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061193f9050565b90506000610f92848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119889050565b91505080156110b7576000610fe0858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b9050600061105061102a878d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119cf9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161109392919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c9850505050506110d8565b6110c182856120e5565b9350505080806110d0906120f8565b915050610efe565b5050505092915050565b600080611129604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b9050600061117461102a604487878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119cf9050565b905081816040516020016111b792919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b60028201805464ff000000001916640100000000179055600485015460018301546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114611248576040519150601f19603f3d011682016040523d82523d6000602084013e61124d565b606091505b50505060006112d8611299600087878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506113399050565b604080516020601f89018190048102820181019092528781526106b2919089898083850183828082843760009201919091525092939250506113399050565b905060006112e5826113ee565b9050806bffffffffffffffffffffffff19167f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b8460405161132891815260200190565b60405180910390a250505050505050565b016020015190565b60606000611350600284612111565b60000361137e57507f02000000000000000000000000000000000000000000000000000000000000006113a1565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6bffffffffffffffffffffffff1984166000908152601b8601602052604090206002810154600160c01b900460ff16600181600581111561145857611458612017565b14806114755750600281600581111561147357611473612017565b145b806114915750600381600581111561148f5761148f612017565b145b15611561576002870154600f88015483546040517fd8dc404d0000000000000000000000000000000000000000000000000000000081526001600160a01b039093169263d8dc404d926115209264010000000082046bffffffffffffffffffffffff169270010000000000000000000000000000000090920463ffffffff16918991908c908c90600401612133565b600060405180830381600087803b15801561153a57600080fd5b505af115801561154e573d6000803e3d6000fd5b5050505061155c87876119e6565b61160f565b600581600581111561157557611575612017565b1461160f5760405162461bcd60e51b8152602060048201526044602482018190527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e67908201527f46756e6473206f7220436c6f73696e67206f72205465726d696e61746564207360648201527f7461746500000000000000000000000000000000000000000000000000000000608482015260a4016101b4565b50505050505050565b60006010821461162a57506000610e18565b61166e600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117ab9050565b7fffffffffffffffff0000000000000000000000000000000000000000000000009081161461169f57506000610e18565b50600192915050565b600085516040146117215760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b65790000000000000000000000000000000000000000000000000060648201526084016101b4565b600061172c87611bad565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa158015611784573d6000803e3d6000fd5b5050604051601f1901516001600160a01b0390811693169290921498975050505050505050565b60006117ba8383016020015190565b9392505050565b60008060006117d08585611c32565b90508060ff166000036118055760008585815181106117f1576117f16121c2565b016020015190935060f81c91506119389050565b836118118260016121d8565b60ff1661181e91906120e5565b855110156118355760001960009250925050611938565b60008160ff166002036118795761186e61185a6118538760016120e5565b88906117ab565b62ffff0060e882901c1660f89190911c1790565b61ffff16905061192e565b8160ff166004036118a25761189561102a6118538760016120e5565b63ffffffff16905061192e565b8160ff1660080361192e576119216118be6118538760016120e5565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b600080600061194e8585611988565b9092509050600182016119675760001992505050610e18565b806119738360256120e5565b61197d91906120e5565b610e959060046120e5565b6000806119968360256120e5565b845110156119ab575060001990506000611938565b6000806119c2866119bd8760246120e5565b6117c1565b9097909650945050505050565b60006117ba6119df8360206120e5565b84906117ab565b6bffffffffffffffffffffffff1981166000908152601b83016020526040902060016002820154600160c01b900460ff166005811115611a2857611a28612017565b03611a6c57601183018054600160a01b900463ffffffff16906014611a4c836121f1565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516bffffffffffffffffffffffff19841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a360118301546bffffffffffffffffffffffff1980841660609290921b1603611b305760118301805473ffffffffffffffffffffffffffffffffffffffff191690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb92791611b7f9160040190815260200190565b600060405180830381600087803b158015611b9957600080fd5b505af115801561160f573d6000803e3d6000fd5b60008151604014611c265760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e0000000000000000000000000000000000000060648201526084016101b4565b50805160209091012090565b6000828281518110611c4657611c466121c2565b016020015160f81c60ff03611c5d57506008610e18565b828281518110611c6f57611c6f6121c2565b016020015160f81c60fe03611c8657506004610e18565b828281518110611c9857611c986121c2565b016020015160f81c60fd03611caf57506002610e18565b50600092915050565b60008083601f840112611cca57600080fd5b50813567ffffffffffffffff811115611ce257600080fd5b60208301915083602082850101111561193857600080fd5b60008060008060008060808789031215611d1357600080fd5b86359550602087013567ffffffffffffffff80821115611d3257600080fd5b611d3e8a838b01611cb8565b90975095506040890135915080821115611d5757600080fd5b50611d6489828a01611cb8565b90945092505060608701358015158114611d7d57600080fd5b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611db257600080fd5b813567ffffffffffffffff80821115611dcd57611dcd611d8b565b604051601f8301601f19908116603f01168101908282118183101715611df557611df5611d8b565b81604052838152866020858801011115611e0e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060808789031215611e4757600080fd5b86359550602087013567ffffffffffffffff80821115611e6657600080fd5b611e728a838b01611cb8565b90975095506040890135915080821115611e8b57600080fd5b818901915089601f830112611e9f57600080fd5b813581811115611eae57600080fd5b8a60208260051b8501011115611ec357600080fd5b602083019550809450506060890135915080821115611ee157600080fd5b50611eee89828a01611da1565b9150509295509295509295565b600080600080600060608688031215611f1357600080fd5b85359450602086013567ffffffffffffffff80821115611f3257600080fd5b611f3e89838a01611cb8565b90965094506040880135915080821115611f5757600080fd5b50611f6488828901611cb8565b969995985093965092949392505050565b600080600080600085870360c0811215611f8e57600080fd5b86359550602087013567ffffffffffffffff80821115611fad57600080fd5b611fb98a838b01611cb8565b90975095506040890135915080821115611fd257600080fd5b50611fdf89828a01611da1565b9350506060605f1982011215611ff457600080fd5b506060860190509295509295909350565b82848237909101908152602001919050565b634e487b7160e01b600052602160045260246000fd5b6000825160005b8181101561204e5760208186018101518583015201612034565b506000920191825250919050565b60006020828403121561206e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190808211156120a8576120a8612075565b5092915050565b6000602082840312156120c157600080fd5b813560ff811681146117ba57600080fd5b81810381811115610e1857610e18612075565b80820180821115610e1857610e18612075565b60006001820161210a5761210a612075565b5060010190565b60008261212e57634e487b7160e01b600052601260045260246000fd5b500690565b600060a082016bffffffffffffffffffffffff89168352602063ffffffff808a16828601526001600160a01b038916604086015287606086015260a060808601528286845260c0860190508793506000805b888110156121b057853584811680821461219d578384fd5b8452509484019491840191600101612185565b50909c9b505050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b60ff8181168382160190811115610e1857610e18612075565b600063ffffffff82168061220757612207612075565b600019019291505056fea264697066735822122097508302c26c60798c477d9c609d4fa251efb2266eda59ff16029eda098484fb64736f6c63430008110033";
126
126
  var isSuperArgs = function (xs) { return xs.length > 1; };
127
127
  var Fraud__factory = /** @class */ (function (_super) {
128
128
  __extends(Fraud__factory, _super);
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IBank__factory = void 0;
7
+ var ethers_1 = require("ethers");
8
+ var _abi = [
9
+ {
10
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: true,
14
+ internalType: "address",
15
+ name: "owner",
16
+ type: "address",
17
+ },
18
+ {
19
+ indexed: true,
20
+ internalType: "address",
21
+ name: "spender",
22
+ type: "address",
23
+ },
24
+ {
25
+ indexed: false,
26
+ internalType: "uint256",
27
+ name: "value",
28
+ type: "uint256",
29
+ },
30
+ ],
31
+ name: "BalanceApproval",
32
+ type: "event",
33
+ },
34
+ {
35
+ anonymous: false,
36
+ inputs: [
37
+ {
38
+ indexed: true,
39
+ internalType: "address",
40
+ name: "from",
41
+ type: "address",
42
+ },
43
+ {
44
+ indexed: true,
45
+ internalType: "address",
46
+ name: "to",
47
+ type: "address",
48
+ },
49
+ {
50
+ indexed: false,
51
+ internalType: "uint256",
52
+ name: "value",
53
+ type: "uint256",
54
+ },
55
+ ],
56
+ name: "TransferBalance",
57
+ type: "event",
58
+ },
59
+ {
60
+ inputs: [
61
+ {
62
+ internalType: "address",
63
+ name: "account",
64
+ type: "address",
65
+ },
66
+ ],
67
+ name: "balanceAvailable",
68
+ outputs: [
69
+ {
70
+ internalType: "uint256",
71
+ name: "",
72
+ type: "uint256",
73
+ },
74
+ ],
75
+ stateMutability: "view",
76
+ type: "function",
77
+ },
78
+ {
79
+ inputs: [
80
+ {
81
+ internalType: "address",
82
+ name: "spender",
83
+ type: "address",
84
+ },
85
+ {
86
+ internalType: "uint256",
87
+ name: "amount",
88
+ type: "uint256",
89
+ },
90
+ ],
91
+ name: "increaseBalanceAllowance",
92
+ outputs: [],
93
+ stateMutability: "nonpayable",
94
+ type: "function",
95
+ },
96
+ {
97
+ inputs: [
98
+ {
99
+ internalType: "address",
100
+ name: "sender",
101
+ type: "address",
102
+ },
103
+ {
104
+ internalType: "address",
105
+ name: "recipient",
106
+ type: "address",
107
+ },
108
+ {
109
+ internalType: "uint256",
110
+ name: "amount",
111
+ type: "uint256",
112
+ },
113
+ ],
114
+ name: "transferBalanceFrom",
115
+ outputs: [
116
+ {
117
+ internalType: "bool",
118
+ name: "",
119
+ type: "bool",
120
+ },
121
+ ],
122
+ stateMutability: "nonpayable",
123
+ type: "function",
124
+ },
125
+ ];
126
+ var IBank__factory = /** @class */ (function () {
127
+ function IBank__factory() {
128
+ }
129
+ IBank__factory.createInterface = function () {
130
+ return new ethers_1.utils.Interface(_abi);
131
+ };
132
+ IBank__factory.connect = function (address, signerOrProvider) {
133
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
134
+ };
135
+ IBank__factory.abi = _abi;
136
+ return IBank__factory;
137
+ }());
138
+ exports.IBank__factory = IBank__factory;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IL2WormholeGateway__factory = void 0;
7
+ var ethers_1 = require("ethers");
8
+ var _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "uint256",
13
+ name: "amount",
14
+ type: "uint256",
15
+ },
16
+ {
17
+ internalType: "uint16",
18
+ name: "recipientChain",
19
+ type: "uint16",
20
+ },
21
+ {
22
+ internalType: "bytes32",
23
+ name: "recipient",
24
+ type: "bytes32",
25
+ },
26
+ {
27
+ internalType: "uint32",
28
+ name: "nonce",
29
+ type: "uint32",
30
+ },
31
+ {
32
+ internalType: "bytes",
33
+ name: "payload",
34
+ type: "bytes",
35
+ },
36
+ ],
37
+ name: "sendTbtcWithPayloadToNativeChain",
38
+ outputs: [
39
+ {
40
+ internalType: "uint64",
41
+ name: "",
42
+ type: "uint64",
43
+ },
44
+ ],
45
+ stateMutability: "payable",
46
+ type: "function",
47
+ },
48
+ ];
49
+ var IL2WormholeGateway__factory = /** @class */ (function () {
50
+ function IL2WormholeGateway__factory() {
51
+ }
52
+ IL2WormholeGateway__factory.createInterface = function () {
53
+ return new ethers_1.utils.Interface(_abi);
54
+ };
55
+ IL2WormholeGateway__factory.connect = function (address, signerOrProvider) {
56
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
57
+ };
58
+ IL2WormholeGateway__factory.abi = _abi;
59
+ return IL2WormholeGateway__factory;
60
+ }());
61
+ exports.IL2WormholeGateway__factory = IL2WormholeGateway__factory;